ACM ICPC 2017 Warmup Contest 2(ACM Northeastern European Regional Contest,Northern Subregion 2016)
2017-10-08 23:32
591 查看
第二场,并没有延续第一场的良好状态,然而a作为一道计算几何水题上,却一直卡,还没来得及补,找时间一定要好好看看
此外f和k也没有很轻松,按道理三题难度应该差不多,然而a还是被精度卡了,看看吧
好了,最终得知,其实a不是被卡精度了,而是题目出了点问题,spj被oj吞了,其实这题的做法是没什么问题的,这种天灾人祸的问题,算了,不管了,把另两题补上吧
关键还是归一化思想吧,幂次处理,将很多小细节整体处理
还有,有些时候还是不要想当然,你想的贪心策略未必是对的,如果有条件枚举,就枚举一下,ac就这样来了
文章地址:http://blog.csdn.net/owen_q/article/details/78178543
此外f和k也没有很轻松,按道理三题难度应该差不多,然而a还是被精度卡了,看看吧
好了,最终得知,其实a不是被卡精度了,而是题目出了点问题,spj被oj吞了,其实这题的做法是没什么问题的,这种天灾人祸的问题,算了,不管了,把另两题补上吧
K. King's Heir
思路:这题就是个简单的数据结构题,创建新数据类型,然后排序,将国王处理后加入一起排序,找到第一个比国王大的就好了#include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <cstring> #include <map> #include <cmath> #include <string> #include <queue> #include <stack> using namespace std; const int maxn = 110; typedef struct KING { int id; int day; int month; int year; }King; bool cmp(const King &a, const King &b) { if(a.year > b.year) { return true; } else if(a.year == b.year) { if(a.month > b.month) { return true; } else if(a.month == b.month) { if(a.day > b.day) { return true; } else if(a.day == b.day) { if(a.id < b.id) { c7d6 return true; } } } } return false; } King k[maxn]; int main() { while(scanf("%d%d%d",&k[0].day,&k[0].month,&k[0].year)!=EOF) { k[0].id = 0; k[0].year -= 18; int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d%d%d",&k[i].day,&k[i].month,&k[i].year); k[i].id = i; } sort(k,k+n+1,cmp); int person; for(person=0;person<=n;person++) { if(k[person].id==0) { break; } } if(person == n) { printf("-1\n"); } else { printf("%d\n",k[person+1].id); } } return 0; }
F. Folding
思路:这题不难发现是个幂次处理问题,每个2的幂次作为一个分界点关键还是归一化思想吧,幂次处理,将很多小细节整体处理
还有,有些时候还是不要想当然,你想的贪心策略未必是对的,如果有条件枚举,就枚举一下,ac就这样来了
#include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <cstring> #include <map> #include <cmath> #include <string> #include <queue> #include <stack> using namespace std; const int maxn = 1e5+10; const double eps = 1e-6; int t[40]; int getfold(int mab,int mib,int maa,int mia) { if(mab<maa||mib<mia) { return 1e9; } else { int sum = 0; int mad = mab/maa; if(mab%maa > 0) { mad++; } for(int i=0;i<32;i++) { if(t[i] >= mad) { sum += i; break; } } int mid = mib/mia; if(mib%mia > 0) { mid++; } for(int i=0;i<32;i++) { if(t[i] >= mid) { sum += i; break; } } return sum; } } int main() { int W,H,w,h; t[0] = 1; for(int i=1;i<32;i++) { t[i] = t[i-1]<<1; } while(scanf("%d%d%d%d",&W,&H,&w,&h)!=EOF) { int a = getfold(W,H,w,h); int b = getfold(W,H,h,w); int maxsum = min(a,b); if(maxsum == 1e9) { maxsum = -1; } //cout <<a<<b<<endl; printf("%d\n",maxsum); } return 0; }
文章地址:http://blog.csdn.net/owen_q/article/details/78178543
相关文章推荐
- ACM ICPC 2017 Warmup Contest 8(ACM PolyU International Invitation Contest)
- ACM ICPC 2017 Warmup Contest 6(ACM Google Cup 2011 Invitational Programming Contest)
- 2016-2017 ACM-ICPC Northeastern European Regional Contest (NEERC 16) Gym - 101190E 询问离线,排序
- 2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17) A
- 2016-2017 ACM-ICPC Northeastern European Regional Contest (NEERC 16) Gym - 101190H bitset,逻辑表达式模拟
- ACM ICPC 2017 Warmup Contest 1 F. Fleecing the Raffle
- ACM ICPC 2017 Warmup Contest 9 I
- ACM ICPC 2017 Warmup Contest 1 F. Fleecing the Raffle
- 2012-2013 ACM-ICPC Northeastern European Regional Contest (NEERC 12)
- 2014-2015 ACM-ICPC Northeastern European Regional Contest (NEERC 14) 解题报告
- 2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02) A Amusing Numbers (数学)
- ACM ICPC 2017 Warmup Contest 1 F. Fleecing the Raffle
- 2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)
- 2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016) B - Bribing Eve
- 2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016) E.Passwords AC自动机+dp
- 2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016) D.Dinner Bet 概率DP+排列组合
- 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15) J Jump
- ACM ICPC 2017 Warmup Contest 1 F. Fleecing the Raffle
- 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15)
- ACM ICPC 2017 Warmup Contest 5