当前位置: 首页 > news >正文

网站开发的app/长沙 建站优化

网站开发的app,长沙 建站优化,网站框架是什么,深圳福田香格里拉酒店离散化 树状数组。 这些东西自己都是刚接触不久的,所以需要多写点题练练手。 题目描述: 一维坐标中有N条线段,其中有一个点上面覆盖的线段数是最多的,求该点上面的线段数目。 这道题和HDU1556特别相似,不过这道题数据…

  离散化 + 树状数组。

  这些东西自己都是刚接触不久的,所以需要多写点题练练手。

 


   

  

题目描述:

  一维坐标中有N条线段,其中有一个点上面覆盖的线段数是最多的,求该点上面的线段数目。

 

  这道题和HDU1556特别相似,不过这道题数据的值比较大,所以要离散化预处理一下数据。

  个人常用的离散化方法:先预存一下数据,然后用数组tmp[]存一下数据,对tmp[]数组排序,然后二分查找原数据在tmp[]数组中的下标,并且把下标作为离散化的数据。有一点比较方便的是,不需要去重。

  然后就是树状数组这部分,一维树状数组支持两种操作: 1. 单点更新,区间求和 ; 2 . 区间更新,单点求值。这两种操作的更新和求和这部分是反过来的,前者是对上更新,对下求值,后者是对下更新,对上求值。所以说树状数组比较好实现也容易推广到多维,但是功能不如线段树。

 

算法:

  用树状数组来存每个点的覆盖次数,覆盖一次即视为该点的数值+1;由于更新的时候是区间更新,所以对[a , b]这个区间覆盖的话,先把[1 , a-1]区间更新-1,然后把[1,b]区间更新+1,所以求最后所有点的最大值即可。

 

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <functional>
#include <vector>
#include <cmath>
#include <string>
#include <stack>  
#include <queue>
using namespace std;
const int maxn = 110000 + 500;
int c[maxn] , n , k;
int L[maxn][2] , tmp[maxn];
int lowbit(int x)
{return x & (-x);
}
void update(int x , int num)
{while(x > 0) {c[x] += num;x -= lowbit(x);}
}
int getsum(int i)
{int res = 0;while(i <= k) {res += c[i];i += lowbit(i);}return res;
}
int binary_Search(int a[] , int l , int r , int x)
{int m = (l + r) >> 1;while(l <= r) {if(a[m] == x)return m;if(a[m] < x)l = m + 1;if(a[m] > x)r = m;m = (l + r) >> 1;}return -1;
}
int main() 
{int T , i , j;scanf("%d",&T);while(T--){scanf("%d",&n);memset(c , 0 , sizeof(c));for(i = 1 , k = 0 ; i <= n ; i++) {scanf("%d %d" , &L[i][0] , &L[i][1]);tmp[++k] = L[i][0];tmp[++k] = L[i][1];}sort(tmp + 1 , tmp + k +1);       for(i = 1 ; i <= n ; i++) {for(j = 0 ; j <= 1 ; j++) {int pos = binary_Search(tmp , 1 , k , L[i][j]);L[i][j] = pos;}}for(i = 1 ; i <= n ; i++) {update(L[i][0] - 1 , -1);update(L[i][1] , 1);}int max = 1;for(i = 1 ; i <= k ; i++) {if(getsum(max) < getsum(i))max = i;}printf("%d\n",getsum(max));}return 0;
}

 

 

 

 

 

 

  

  

转载于:https://www.cnblogs.com/H-Vking/p/4134054.html

http://www.lbrq.cn/news/1560637.html

相关文章:

  • 外贸soho建网站/上海知名网站制作公司
  • 代加工厂接单平台/优化大师apk
  • 做英文网站公司/长沙网站排名推广
  • 电商设计网站素材/亚马逊排名seo
  • wordpress 显示空白页/广州seo外包多少钱
  • 网站优化的监测评估/seo排名优化软件免费
  • 中山做网站费用/深圳网站优化培训
  • 销售网站开发步骤/怎么样免费做网站
  • 建设银行泰安培训中心官方网站/广州官方新闻
  • 网站开发和软件开发/如何自己建个网站
  • 手机网站欣赏/深圳全网推广平台
  • 双鸭山住房和城乡建设局网站/互动营销公司
  • 呼和浩特商城网站建设/一键生成个人网站
  • 企业网络服务平台/独立站seo建站系统
  • word做网站框架/网站seo什么意思
  • 网站备案入口/百度广告
  • 热点 做网站和营销 我只服他/网络运营需要学什么
  • 罗岗网站建设公司/关键词优化骗局
  • 关于加强政府网站建设的通知/企业网站制作多少钱
  • ui中国网站/石家庄邮电职业技术学院
  • 宜昌网站建设哪家好/百度竞价推广投放
  • access做网站服务器/新闻今日头条最新消息
  • 如何上传自己做的网站/seo自动优化工具
  • 昌吉做网站需要多少钱/推广赚钱软件
  • 下载素材第三方网站是怎么做/今日国内新闻最新消息10条
  • 内乡网站制作/百度营销官网
  • 购物网站起名/沈阳seo关键词排名
  • 制作好的网站有哪些内容/网站关键词全国各地的排名情况
  • asp做的网站如何更新/百度app官网下载安装
  • 朔州网站建设电话/线下推广渠道和方式
  • 【CV 目标检测】Fast RCNN模型①——与R-CNN区别
  • 从依赖到自研:一个客服系统NLP能力的跃迁之路
  • 昇腾AI自学Day2-- 深度学习基础工具与数学
  • 每日任务day0816:小小勇者成长记之符文羊皮卷
  • nifi 增量处理组件
  • 第1篇_Go语言初探_环境搭建与HelloWorld