【CodeForces】576 C. Points on Plane
【题目】C. Points on Plane
【题意】给定坐标系中n个点的坐标(范围[0,10^6]),求一种 [ 连边形成链后总长度<=2.5*10^9 ] 的方案。n<=10^6。
【算法】思维题(分块思想)
【题解】将这个10^6*10^6的矩阵划分为1000个10^3*10^6的矩阵,第奇数个矩阵内部按y升序连边,第偶数个矩阵内部按y降序连边,两个矩阵之间就直接连边。
1.到达每个点横坐标要移动10^3,总距离10^9。
2.每个矩阵内部纵坐标要移动10^6,总距离10^9。
3.矩阵之间的连边,每次最长2*10^3,总距离2*10^6。
所以总距离为2*10^9+2*10^6,满足要求。
排序的实现和分块类似,复杂度O(n log n)。
#include<cstdio> #include<cctype> #include<algorithm> using namespace std; int read(){char c;int s=0,t=1;while(!isdigit(c=getchar()))if(c=='-')t=-1;do{s=s*10+c-'0';}while(isdigit(c=getchar()));return s*t; } const int maxn=1000010; struct cyc{int x,y,id;}a[maxn]; int n; bool cmp(cyc a,cyc b){return a.x<b.x||(a.x==b.x&&a.y<b.y);} int main(){n=read();for(int i=1;i<=n;i++){a[i].x=read()/1000;a[i].y=read();if(a[i].x%2)a[i].y=-a[i].y;a[i].id=i;}sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++)printf("%d ",a[i].id);return 0; }
View Code
转载于:https://www.cnblogs.com/onioncyc/p/8032541.html
【CodeForces】576 C. Points on Plane相关推荐
- 【Codeforces】Round #488 (Div. 2) 总结
[Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...
- 【Codeforces】925A Stairs and Elevators【贪心】
[Codeforces]925A Stairs and Elevators [题目大意] 在一个n*m的矩阵里,有clcl个楼梯和cece个电梯,电梯和楼梯可以到任意一层,给出clcl个楼梯的位置和c ...
- 【CodeForces】[546A]Soldier and Bananas
直接运算 并没有什么弯 注意int就足以储存数据 不需要借钱时(n>res) 输出 0 #include<stdio.h> int main() {int k,n,w;while(s ...
- 【CodeForces】445B A Lot of Games 字典树博弈
传送门:[CodeForces]445B A Lot of Games 题目大意:两人一起构造一个串,每人每次向串的末尾放一个字母,必须保证放了这个字母后能够成所给的N个串的前缀,如果某个人不能放时 ...
- 【Codeforces】1080C Masha and two friends (棋盘染色)
http://codeforces.com/problemset/problem/1080/C 给定一个棋盘,(1,1)的位置是白色,观察可以知道,如果横纵坐标之和是偶数,那么是白色,奇数的话就是黑色 ...
- 【codeforces】【比赛题解】#940 CF Round #466 (Div. 2)
人生的大起大落莫过如此,下一场我一定要回紫. [A]Points on the line 题意: 一个直线上有\(n\)个点,要求去掉最少的点,使得最远两点距离不超过\(d\). 题解: 暴力两重fo ...
- 【Codeforces】【161Div2】
[题目来源]http://www.codeforces.com/contest/263 [A. Beautiful Matrix] [解析]模拟即可.按照题目的意思,找到1所在的位置(x, y),然后 ...
- 【CodeForces】961 F. k-substrings 字符串哈希+二分
[题目]F. k-substrings [题意]给定长度为n的串S,对于S的每个k-子串$s_ks_{k+1}...s_{n-k+1},k\in[1,\left \lceil \frac{n}{2} ...
- 【CodeForces】960 F. Pathwalks 主席树+动态规划
[题目]F. Pathwalks [题意]给定n个点m条边的有向图,可能不连通有重边有自环.每条边有编号 i 和边权 wi ,求最长的路径(可以经过重复节点)满足编号和边权都严格递增.n,m,wi&l ...
最新文章
- C#:消息队列应用程序
- (转)AS3中的stage,this,root的区别
- 电脑中毒的表现有哪些?电脑中毒了怎么办?
- 【RabbitMQ】8、RabbitMQ之mandatory和immediate
- java自动化测试_Java自动化测试(一)
- c语言学生管理系统用户登录,c语言学生管理系统之用户登陆
- linux音频声卡 pulseaudio服务
- 分享typecho博客的Next主题包
- Nuxt.js mini聊天室开发 (mini-chatroom)
- Java观察者模式例子
- win10教育版加域提示错误
- 开源CRM系统国内有哪些品牌做的好?
- RuntimeWarning: overflow encountered in exp
- html文件上传协议,模拟HTML表单上传文件(RFC 1867)
- 【正点原子MP157连载】第四十三章 外置RTC芯片PCF8563实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- android 谷歌地图围栏,如何在谷歌地图与c做地理围栏#
- easyExcel导出某列是固定下拉选框的excel模板
- 创龙科技Zynq-7010/20工业开发板(双核ARM Cortex-A9+A7)-性能及参数资料
- [深入浅出C语言]理解取整、取余和取模
- 【异常记录】C# 连接数据库错误异常解决 err:40