Codeforces Round #230 (Div. 2) C. Blocked Points ACM解题报告(暴力)
来源:互联网 发布:飞龙淘宝小号浮云网 编辑:程序博客网 时间:2024/05/21 21:43
我还是too young 啊,这题没我想的那么简单,这题是在半径为n的圆内部及圆上的整数点称为特殊点,圆外的称为非特殊点,然后要求每个特殊点都不与非特殊点4-connected(有定义)。
这题的想法就是圆内最外一层的点都选出来阻断,就可以了。于是只要计算一个象限,*4就是平面内的answer,即可枚举横坐标1-n。
然后开根算出纵坐标,取圆内的整数点,此时需要记录前一个纵坐标,如果两个纵坐标相等,只需要取走当前算出来的横纵坐标这个点,如果两个纵坐标不想等,为了防止前一个纵坐标下的点不与外界connect,则需要取走y前-y当个点。(可以画图自己看一下,形状是取走当前算出的点,和边上横坐标-1后,纵坐标从当前+1的位置到前一个纵坐标的那些点,这样才可以把内部都围住)。注意n=0的情况
#include<iostream>#include<cstdio>#include<cctype>#include<cstdlib>#include<cmath>#include<algorithm>#include<cstring>#include<string>#include<vector>#include<queue>#include<map>#include<set>#include<sstream>#include<stack>using namespace std;#define MAX 105typedef long long LL;const double pi=3.141592653589793;const int INF=1e9;const double inf=1e20;int main(){ LL n,sum=0,ans=0; scanf("%I64d",&n); double R=n; LL tmp=n; for(LL i=1;i<=n;i++) { double r=i; LL k=(LL)sqrt(R*R-r*r); ans+=(tmp==k?1:tmp-k); tmp=k; } if(n==0) printf("1\n"); else printf("%I64d\n",ans*4); return 0;}
0 0
- Codeforces Round #230 (Div. 2) C. Blocked Points ACM解题报告(暴力)
- Codeforces Round #230 (Div. 2) C. Blocked Points
- Codeforces Round #230 (Div. 2) C. Blocked Points
- Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
- Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
- Codeforces Round #230 (Div. 2) C: Blocked Points 水泄不通的点墙
- Codeforces Round #284 (Div. 2) C. Crazy Town ACM解题报告(几何)
- Codeforces Round #229 (Div. 2) C. Inna and Candy Boxes ACM解题报告(预处理)
- Codeforces Round #287 (Div. 2) C. Guess Your Way Out! ACM解题报告(二叉树)
- **Codeforces Round #250 (Div. 2) C. The Child and Toy ACM解题报告(贪心难题)
- **Codeforces Round #282 (Div. 2) C. Treasure ACM解题报告(构造难题)
- Codeforces Round #295 (Div. 2) C. DNA Alignment ACM解题报告(math)
- Codeforces Round #277 (Div. 2) 解题报告(B C)
- Codeforces 392A Blocked Points(暴力)
- Codeforces Round #226 (Div. 2) B、C解题报告
- Codeforces Round #274 (Div. 2) 解题报告 (C D E)
- Codeforces Round #283 (Div. 2) 解题报告(A B C)
- Codeforces Round #284(Div.2) A,B,C解题报告
- ios sqlite创建
- canvs 实现进度条效果(烟火效果)
- UVA136 Ugly Numbers(优先队列应用)
- ios通过post上传文件
- 人物和摄像机之间存在例如墙壁等的阻挡时 可以修改阻挡材质的alpha呈现半透明状
- Codeforces Round #230 (Div. 2) C. Blocked Points ACM解题报告(暴力)
- 并行程序开发之Future模式
- 一个Symfony2开发必备的调试小工具 LadybugBundle
- fastboot命令刷机
- UVA Solve It(二分查找)
- python prettytable
- linux多进程并发服务模型
- POJ 题目3096 Surprising Strings(map 水)
- hdu 1269 强连通+并查集