uvalive3635pie

Omz Omz     2022-09-21     714

关键词:

https://vjudge.net/problem/UVALive-3635

题意:

有F+1个人要分n个蛋糕,他们得到的蛋糕的面积必须是一样的,但是每个蛋糕必须是整块的蛋糕,而不是有多块蛋糕拼成的,蛋糕的形状也可以不相同。

给出n块蛋糕各自的半径,求他们每个人能得到的蛋糕的最大面积。

思路:

使得最小值最大,那显然是二分。

二分半径,计算面积,然后枚举每个蛋糕,计算每个蛋糕可以分出来的当前面积的蛋糕会有多少个,总数是否大于等于F+1即可。

记住计算个数的时候要用floor向下取整函数,而且l从0开始枚举(因为人数可能比蛋糕个数多),r从半径的最大值开始枚举就行了。

代码:

 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 const double pi = acos(-1.0);
 7 
 8 int a[10005];
 9 int n,f;
10 
11 bool meet(double r)
12 {
13     double area = pi * r * r;
14 
15     long long sum = 0;
16 
17     for (int i = 0;i < n;i++)
18     {
19         double one = pi * a[i] * a[i];
20 
21         sum += (int)floor(one / area);
22 
23         //printf("%f %f %d
",one,area,(int)floor(one / area));
24     }
25 
26     return sum >= f;
27 }
28 
29 int main()
30 {
31     int t;
32 
33     scanf("%d",&t);
34 
35     while (t--)
36     {
37         scanf("%d%d",&n,&f);
38 
39         f++;
40 
41         int maxn = -1;
42 
43         for (int i = 0;i < n;i++)
44         {
45             scanf("%d",&a[i]);
46 
47             maxn = max(a[i],maxn);
48         }
49 
50 
51         sort(a,a+n);
52 
53         double l = 0,r = maxn;
54 
55         for (int i = 0;i < 100;i++)
56         {
57             double mid = (l + r) / 2;
58 
59             if (meet(mid)) l = mid;
60             else r = mid;
61         }
62 
63         printf("%.5lf
",l * pi * l);
64     }
65 
66     return 0;
67 }

 

la3635pie(二分法)

链接:http://vjudge.net/problem/33697分析:二分答案。假设每个人得到派的最大面积是x,判断是否能满足F+1个人(因为派是不可以拼起来的,所以一个半径为r的派只能切出[πr²/x]个派,其他部分就浪费了)。1#include<cstdio>2#in... 查看详情

poj3635fulltank?

FullTank?TimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:7543 Accepted:2444DescriptionAftergoingthroughthereceiptsfromyourcartripthroughEuropethissummer,yourealisedthatthegaspricesvaried 查看详情

hdu3635dragonballs(带权并查集)

题目链接:  http://acm.hdu.edu.cn/showproblem.php?pid=3635题目描述:DragonBallsProblemDescriptionFivehundredyearslater,thenumberofdragonballswillincreaseunexpectedly,soit‘stoodifficultforMonkeyKing(WuKong)togat 查看详情

poj3635优先队列+打标记+广搜

AftergoingthroughthereceiptsfromyourcartripthroughEuropethissummer,yourealisedthatthegaspricesvariedbetweenthecitiesyouvisited.Maybeyoucouldhavesavedsomemoneyifyouwereabitmorecleveraboutwhereyoufilled 查看详情

hdu3635dragonballs

DragonBallsTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4165    AcceptedSubmission(s):1603ProblemDescriptionFiv 查看详情

hdu3635

题目链接:HDU-36351#include<cstdio>2#include<cstring>3constintmaxn=10010;4intf[maxn],ct[maxn],trans[maxn];5intn,m;6voidinit()7{8for(inti=0;i<=n;i++)9{10f[i]=i;11ct[i]=1;12trans[i]=0;13}14}15 查看详情

hdu3635dragonballs(带权并查集)

题目地址:pid=3635">HDU3635加权并查集水题。用num数组维护该城市有多少龙珠,用times数组维护每一个龙珠运输了多少次。num数组在合并的时候维护。times数组因为每一个都不一样。所以要在找根的时候递归来所有维护。终于,x龙... 查看详情

hdu3635dragonballs(并查集)

DragonBallsTimeLimit:2000/1000ms(Java/Other)   MemoryLimit:32768/32768K(Java/Other)TotalSubmission(s):64   AcceptedSubmission(s):26Font: TimesNewRoman | Ve 查看详情

la3635派

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1636题意:f+1个人,来分n个圆形派,每个人只能从一个派中拿,也就是说,不能从两个里面去拼。求每个人最大的面积。分析:二... 查看详情

poj3635fulltank?[分层图最短路]

FullTank?TimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 7248 Accepted: 2338DescriptionAftergoingthroughthereceiptsfromyourcartripthroughEuropethissummer,yourealis 查看详情

图论补完计划poj3635(最短路变形)

FullTank?TimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:7427 Accepted:2399DescriptionAftergoingthroughthereceiptsfromyourcartripthroughEuropethissummer,yourealisedthatthegaspricesvaried 查看详情

hdu3635(代码片段)

/*一开始第a个球在第a个城市操作Tab,把第a个球所在城市的所有球移到b所在的城市操作Qa要求输出第a个球在哪个城市第a个球所在的城市有几个球第a个球移动次数*/#include<iostream>#include<cstring>#include<cstdio>#definemovemovee#... 查看详情

ob3635/ob2530pap/ob3398昂宝电子设计

OB3635MCPA 4-7X1W过认证 //QQ2892715427//输入电压:100-264VAC输入电流:<0.1APF >0.5输出电压:12-25V输出电流:0.26-0.3A空载电压:<40V 空载功率:<0.1W 恒流精度: ±5%效率: >88% 启动时间:<1S 耐压:... 查看详情

昂宝ob3635ampob33398mp大功率投光灯80w驱动照明

 昂宝OB3635AMP、OB33398MP大功率投光灯80W驱动照明、QQ 2892715427 InputCharacteristics ACinputvoltagerating100Vac~240Vac ACinputvoltagerange90Vac~264Vac ACinputfrequencyrange47Hz~63Hz1.2 查看详情

hdu3635dragonballs(带权并查集)(代码片段)

DragonBallsTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):10628    AcceptedSubmission(s):3802ProblemDescriptionFivehundredyearslater,thenumberofdragonballswillincreaseunexpectedly,soit‘stoodifficultforMonkeyKing... 查看详情

zoj-3635cinemainakiba(树状数组+二分)

题意:已知有n个人,从第一个人开始每个人被安排在第ai个空座上,有m组询问,问某人所坐的位置。分析:1、用树状数组维护空座的个数,方法:将所有的空座初始化为1,sum(x)则表示从座位1到座位x空座的个数。2、对于每... 查看详情

hdu-3635dragonballs并查集(代码片段)

题意:1~N个龙珠,放在1~N个城市,有两种操作:TAB将A所再城市的所有球转移到B所在的城市。QX询问X所在的城市pls,该城市中龙珠数量nm,以及龙珠转移次数trs题解:并查集模板题,顺带更新一些数据。pls不必更新,因为X所在的... 查看详情

poj3635fulltank?(代码片段)

【题解】    用dijkstra算法求最短路。同时考虑在每个节点加油(一单位)与否。【代码】1#include<iostream>2#include<map>3#include<cstring>4#include<string>5#include<queue>6usingnamespacestd;7#definemaxn10058#definemaxm10... 查看详情