2012 金华现场赛 A题
2012-10-29 21:56
281 查看
http://acm.hdu.edu.cn/showproblem.php?pid=4442
比赛时做得很差,考虑时没考虑清楚,也正因为这样,才拖了很久,,最后一分钟提交,拿了个顽强拼搏奖,哈哈哈。。
贪心:设已经排好一些,花时间t,然后考虑两情况哪种好(node[i].a,node[i].b),node[j].a,node[j].b),
必有t+node[i].a+node[i].b*t+node[j].a+node[j].b(t+node[i].a+node[i].b*t)<=t+node[j].a+node[j].b*t+node[i].a+node[i].b(t+node[j].a+node[j].b*t)
化简node[i].a*node[j].b<=node[j].a*node[i].b;
View Code
比赛时做得很差,考虑时没考虑清楚,也正因为这样,才拖了很久,,最后一分钟提交,拿了个顽强拼搏奖,哈哈哈。。
贪心:设已经排好一些,花时间t,然后考虑两情况哪种好(node[i].a,node[i].b),node[j].a,node[j].b),
必有t+node[i].a+node[i].b*t+node[j].a+node[j].b(t+node[i].a+node[i].b*t)<=t+node[j].a+node[j].b*t+node[i].a+node[i].b(t+node[j].a+node[j].b*t)
化简node[i].a*node[j].b<=node[j].a*node[i].b;
View Code
#include <stdio.h> #include <stdlib.h> #define mod (365*24*60*60) #define maxn 100010 struct Node { __int64 a; __int64 b; }node[maxn]; int cmp(const void*x,const void*y) { return (*(struct Node*)x).a*((*(struct Node*)y).b)>(*(struct Node*)x).b*((*(struct Node*)y).a)?1:-1; } int main() { int n; int i; while(~scanf("%d",&n),n) { __int64 sum=0; for(i=0;i<n;i++) { scanf("%I64d%I64d",&node[i].a,&node[i].b); } qsort(node,n,sizeof(node[0]),cmp); for(i=0;i<n;i++) { sum+=(node[i].a+sum*node[i].b); sum=sum%mod; } printf("%I64d\n",sum); } }
相关文章推荐
- HDU 4445Crazy Tank 2012金华现场赛D题(暴力枚举)
- hdu4445 CRAZY TANK 2012金华赛区现场赛D题
- 2012 金华现场赛 I题
- 2012 金华现场赛 J题
- 2012 金华 现场赛
- 2012金华现场赛
- 2012 金华赛区现场赛
- hdu4445 CRAZY TANK 2012金华赛区现场赛D题
- 2012 金华现场赛K题
- ACM/ICPC 2012金华regional现场赛C题 hdu4444 离散化、最短路
- HDU 4450 Draw Something 2012亚洲区域赛金华现场赛I题
- HDU 4442 Physical Examination 2012亚洲区域赛金华现场赛A题
- 2012金华现场赛四个水题题解(积分赛第四场)
- HDU 4451 Dressing 2012亚洲区域赛金华现场赛
- 2012 金华 现场赛
- hdu 4473 Exam (2012ACM成都赛区现场赛J题)
- 2012金华网络赛赛后【缺ABC】
- 【HDU4474 2012成都现场赛K】【搜索-BFS】Yet Another Multiple Problem 最小的要求字符集的数字倍数 余数哈希BFS
- 2012天津现场赛
- 【DP】【2012 ACM/ICPC 成都赛区现场赛】【I.Count】