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

网站后台管理系统模板 html河南疫情最新情况

网站后台管理系统模板 html,河南疫情最新情况,网站首页图怎么做,域名申请注册的步骤4822: [Cqoi2017]老C的任务 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 379 Solved: 203[Submit][Status][Discuss]Description 老 C 是个程序员。 最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统。作为经验丰富的程序员,老 C 轻松地完成了系…

4822: [Cqoi2017]老C的任务

Time Limit: 20 Sec  Memory Limit: 512 MB
Submit: 379  Solved: 203
[Submit][Status][Discuss]

Description

老 C 是个程序员。    
最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统。作为经验丰富的程序员,老 C 轻松
地完成了系统的大部分功能,并把其中一个功能交给你来实现。由于一个基站的面积相对于整个城市面积来说非常
的小,因此每个的基站都可以看作坐标系中的一个点,其位置可以用坐标(x, y)来表示。此外,每个基站还有很多属
性,例如高度、功率等。运营商经常会划定一个区域,并查询区域中所有基站的信息。现在你需要实现的功能就是,
对于一个给定的矩形区域,回答该区域中(包括区域边界上的)所有基站的功率总和。如果区域中没有任何基站,则回
答 0。

Input

第一行两个整数 n, m,表示一共有n个基站和m次查询。    
接下来一共有 n 行,每行由x_i , y_i , p_i 三个空格隔开的整数构成,表示一个基站的坐标(x_i , y_i )和功率p
_i 。不会有两个基站位于同一坐标。    
接下来一共有m行,每行由x1_j , y1_j , x2_j , y2_j 四个空格隔开的整数构成,表示一次查询的矩形区域。该矩
形对角坐标为(x1_j , y1_j )和(x2_j , y2_j ),且 4 边与坐标轴平行。 
2^31 ≤ x_i , y_i , p_i , x1_j , y1_j , x2_j , y2_j < 2^31, x1_j ≤ x2_j, y1_j ≤ y2_j。   

Output

输出 m 行,每行一个整数,对应每次查询的结果。

Sample Input

4 2
0 0 1
0 1 2
2 2 4
1 0 8
0 0 1 1
1 1 5 6

Sample Output

11
4

HINT

Source

[Submit][Status][Discuss]

第一眼离散化+二维树状数组,但是显然空间开不下。

那么直接把每个矩形拆成两条边,离线后扫描线+树状数组就好了。

感觉对于区间问题比较常用的几个:主席树,扫描线,CDQ分治,莫队。

没排序调了半天。。

 1 #include<cstdio>
 2 #include<algorithm>
 3 #define rep(i,l,r) for (int i=l; i<=r; i++)
 4 #define find(x) lower_bound(b+1,b+tot+1,x)-b
 5 typedef long long ll;
 6 using namespace std;
 7 
 8 const int N=100010;
 9 ll p[N],c[N<<3],ans[N];
10 int n,m,tot,cnt,x[N],y[N],x1[N],y1[N],x2[N],y2[N],b[N<<3];
11 struct P{ int x,y; ll p; }pt[N<<1];
12 struct Q{ int x,l,r,pos; }q[N<<1];
13 bool operator <(P a,P b){ return a.x<b.x; }
14 bool operator <(Q a,Q b){ return a.x<b.x; }
15 
16 void add(int x,ll k){ for (; x<=tot; x+=x&-x) c[x]+=k; }
17 ll que(int x){ ll res=0; for (; x; x-=x&-x) res+=c[x]; return res; }
18 
19 int main(){
20     freopen("task.in","r",stdin);
21     freopen("task.out","w",stdout);
22     scanf("%d%d",&n,&m);
23     rep(i,1,n) scanf("%d%d%lld",&x[i],&y[i],&p[i]),b[++tot]=x[i],b[++tot]=y[i];
24     rep(i,1,m){
25         scanf("%d%d%d%d",&x1[i],&y1[i],&x2[i],&y2[i]);
26         b[++tot]=x1[i]-1; b[++tot]=y1[i]-1; b[++tot]=x2[i]; b[++tot]=y2[i];
27     }
28     sort(b+1,b+tot+1); tot=unique(b+1,b+tot+1)-b-1;
29     rep(i,1,n) x[i]=find(x[i]),y[i]=find(y[i]),pt[i]=(P){x[i],y[i],p[i]};
30     rep(i,1,m){
31         x1[i]=find(x1[i]-1); y1[i]=find(y1[i]-1);
32         x2[i]=find(x2[i]); y2[i]=find(y2[i]);
33         q[++cnt]=(Q){x1[i],y1[i],y2[i],i}; q[++cnt]=(Q){x2[i],y1[i],y2[i],i};
34     }
35     sort(pt+1,pt+n+1); sort(q+1,q+cnt+1); int now=1;
36     rep(i,1,cnt){
37         while (pt[now].x<=q[i].x && now<=n) add(pt[now].y,pt[now].p),now++;
38         if (!ans[q[i].pos]) ans[q[i].pos]=que(q[i].r)-que(q[i].l);
39             else ans[q[i].pos]=que(q[i].r)-que(q[i].l)-ans[q[i].pos];
40     }
41     rep(i,1,m) printf("%lld\n",ans[i]);
42     return 0;
43 }

 

转载于:https://www.cnblogs.com/HocRiser/p/8715775.html

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

相关文章:

  • 通用ppt模板免费下载成都网络优化公司有哪些
  • 网站建设书生商友优化大师哪个好
  • 全站flash网站昆明网站开发推广公司
  • 无锡高端网站建设公司哪家好自媒体平台app
  • 深圳做响应式网站设计引擎网站推广法
  • 郑州做网站琴百度推广竞价是什么意思
  • 网站建设进度表模板下载营销百度app下载手机版
  • python做网站guthubaso优化方案
  • 网站开发的代码最厉害的搜索引擎
  • 云南省建设项目申报网站手游推广个人合作平台
  • 做软装平台网站杭州优化公司在线留言
  • 上下框架 网站佛山做seo推广公司
  • 个人网站做短视频建站平台如何隐藏技术支持
  • 北京网站建设推广海南快速seo排名优化
  • 怎么做防劫持网站小学生班级优化大师
  • php动态网站开发实例教程最好的关键词排名优化软件
  • 外贸网站seo优化方案培训网站模板
  • 公司品牌flash网站的网站建设
  • 从零开始做网站内容运营百度网络营销中心
  • 湖北网站建设哪家专业网站seo策划方案
  • 重庆帝一网络网站建设专家云seo
  • 全国网站建设百度推广代理公司哪家好
  • 做网站电脑开一天用多少钱2022当下社会热点话题
  • 商标注册查询官网网站seo咨询服务
  • 哪里建设企业网站网站排名优化培训电话
  • 扬州高邮网站建设焊工培训心得体会
  • 抖音网站怎么做热门推广软件
  • 直播app开发教程seo排名优化app
  • 网站建设制作及推广seo基础知识培训
  • wordpress略缩图altseo服务包括哪些
  • LLM 中 token 简介与 bert 实操解读
  • FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通
  • 飞算JavaAI家庭记账系统:从收支记录到财务分析的全流程管理方案
  • 开放最短路径优先协议
  • 特赞内容运营解决方案,AI重构品牌内容价值链
  • TensorRT-LLM.V1.1.0rc0:在无 GitHub 访问权限的服务器上编译 TensorRT-LLM 的完整实践