Uva 派 (Pie,NWERC 2006,LA 3635)】的更多相关文章

依然是一道二分查找 #include<iostream> #include<cstdio> #include<cmath> using namespace std; const double PI=acos(-1.0); int N,F; ]; bool ok(double area) { ; ;i<N;i++) sum+=floor(r[i]/area); ; } int main() { int T; cin>>T; while(T--) { ci…
题目 有F+1个人来分N个圆形派,每个人得到的必须是一整块派,而不是几块拼在一起,且面积要相同.求每个人最多能得到多大面积的派(不必是圆形). 输入的第一行为数据组数T.每组数据的第一行为两个整数N和F ( 1 ≤ N , F ≤ 10 000 ) :第二行为 N 个整数 ri(1≤ri≤10 000),即各个派的半径. 对于每组数据,输出每人得到的派的面积的最大值,精确到10-3. 思路 我把我的分得大小得取值,用二分来取直,我的递归中sum就是分的份数 份数大了就说明分的每一份都小了, 份数…
例题4  墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周上均匀分布.这就需要移动其中一些原有的雕塑.要求n个雕塑移动的总距离尽量小. [输入格式] 输入包含若干组数据.每组数据仅一行,包含两个整数n和m(2≤n≤1 000,1≤m ≤1 000),即原始的雕塑数量和新加的雕塑数量.输入结束标志为文件结束符(EOF). [输出格式] 输入仅一行,为最小总距…
集合栈计算机(The SetStack Computer, ACM/ICPC NWERC 2006,Uva12096) 题目描述 有一个专门为了集合运算而设计的"集合栈"计算机.该机器有一个初始为空的栈,并且支持以下操作: PUSH:空集"{}"入栈 DUP:把当前栈顶元素复制一份后再入栈 UNION:出栈两个集合,然后把两者的并集入栈 INTERSECT:出栈两个集合,然后把二者的交集入栈 ADD:出栈两个集合,然后把先出栈的集合加入到后出栈的集合中,把结果入栈…
有 f + 1 个人来分 n 个圆形派,每个人得到的必须是一整块派,而不是几块拼在一起,并且面积要相同.求每个人最多能得到多大面积的派(不必是圆形). 这题很好做,使用二分法就OK. 首先在读取所有派的半径后处理出所有派的面积,并且记录最大的那个派的面积.然后从 0 ~ maxsize 二分枚举一下,就能得到答案. 此外,这道题最后输出保留小数位数可以是 3, 4, 5,都可以. 附AC代码: 1: #include <stdio.h> 2: #include <math.h> 3…
Pie My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N of them, of various tastes and of various sizes. F of my friends are coming to my party and each of them gets a piece of pie. This should be one p…
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1636 题意: f+1个人,来分 n 个圆形派,每个人只能从一个派中拿,也就是说,不能从两个里面去拼. 求每个人最大的面积. 分析: 二分. 二分能够得到的最大面积x,怎么判断是否可以分到呢? 把每一个派分成 x,有多少份>=f+1,即可: #include &…
题意:给出n个圆,分给n+1个人,求每个人最多能够得到多大面积的圆 二分每个人得到的圆的面积 #include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<stack> #include<vector> #include<map> #include<set> #include<queue> #inclu…
UVA 11636 Hello World 二的幂答案就是二进制长度减1,不是二的幂答案就是是二进制长度. #include<cstdio> int main() { ; ){ ; ) r++; printf("Case %d: %d\n",++kas,r); } ; } LA 3602 DNA Consensus String 贪心构造,每一位上选出现次数最多的. #include<bits/stdc++.h> using namespace std; ,ma…
题目链接: 这道题虽然不是一道典型的二分答案题,但同样也可以用二分答案来做. 来二分面积为$area$的派,然后看看条件是否矛盾. 与其矛盾的便是$f+1$个人是否每个人都会有. 一个半径为$r$的派只能切出$floor(\pi r^2/x)$块. AC代码: #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> using namespace std; const d…