2015年百度之星初赛(1) --- A 超级赛亚ACMer
超级赛亚ACMer
2 5 11 3 15 13 10 9 8 5 11 3 8 9 10 13 16
Case #1: why am I so diao? Case #2: madan!
第一组样例解释 5个ACMer,初始战斗力选择范围是[0,11],接下来每场战斗力提升上限是3,2,1,0,0,...,0 百小度首先使得自己的初始战斗力为10,打败战斗力为10的第一个ACMer, 然后选择战斗力提升3,变成13,打败战斗力为13的第二个ACMer, 然后选择战斗力提升2,变成15,打败战斗力为15的第三个ACMer, 之后再以任意顺序打败剩下的ACMer
Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5246
Mean:
略
analyse:
贪心,但是要注意策略。把所有人战力排个序,每次贪心的取能取到的最大的能激发潜力的人。
Time complexity: O(n)
Source code:
/* * this code is made by crazyacking * Verdict: Accepted * Submission Date: 2015-05-30-18.59 * Time: 0MS * Memory: 137KB */ #include <queue> #include <cstdio> #include <set> #include <string> #include <stack> #include <cmath> #include <climits> #include <map> #include <cstdlib> #include <iostream> #include <vector> #include <algorithm> #include <cstring> #define LL long long #define ULL unsigned long long using namespace std; const int MAXN=10010; LL a[MAXN]; int main() {ios_base::sync_with_stdio(false);cin.tie(0);int Cas,t;scanf("%d",&t);for(int Cas=1;Cas<=t;++Cas){LL n,m,k;scanf("%lld %lld %lld",&n,&m,&k);for(int i=0;i<n;++i) scanf("%lld",&a[i]);printf("Case #%d:\n",Cas);sort(a,a+n);if(a[0]>m) puts("madan!");else if(a[n-1]<=m) puts("why am I so diao?");else{int sta=0;for(int i=0;i<n;++i){if(a[i]>m){sta=i-1;break;}}LL now=a[sta];LL nextPos=sta+1;while(nextPos<n){if(now+k<a[nextPos]){puts("madan!");break;}else{if(now+k>=a[n-1]){puts("why am I so diao?");break;}else{now=a[nextPos];k--;nextPos++;}}}}}return 0; } /**/
View Code
更容易理解的代码:
/* * this code is made by crazyacking * Verdict: Accepted * Submission Date: 2015-05-31-12.56 * Time: 0MS * Memory: 137KB */ #include <queue> #include <cstdio> #include <set> #include <string> #include <stack> #include <cmath> #include <climits> #include <map> #include <cstdlib> #include <iostream> #include <vector> #include <algorithm> #include <cstring> #define LL long long #define ULL unsigned long long using namespace std; const int MAXN=10005; LL a[MAXN]; int main() { // freopen("C:\\Users\\crazyacking\\Desktop\\cin.txt","r",stdin); // freopen("C:\\Users\\crazyacking\\Desktop\\cout.txt","w",stdout); ios_base::sync_with_stdio(false);cin.tie(0);int t;scanf("%d",&t);for(int Cas=1;Cas<=t;++Cas){int n,m,k;scanf("%d %d %d",&n,&m,&k);for(int i=0;i<n;++i)scanf("%lld",&a[i]);sort(a,a+n);printf("Case #%d:\n",Cas);if(m>=a[n-1]) puts("why am I so diao?");else if(m<a[0]) puts("madan!");else{int staPos=0;for(int i=0;i<n;++i){if(a[i]>m){staPos=i-1;break;}}LL now=a[staPos];int nextPos=staPos+1;while(nextPos<n){if(now+k<a[nextPos]){puts("madan!");break;}else{if(now+k>=a[n-1]){puts("why am I so diao?");break;}if(now>a[nextPos]){nextPos++;continue;}if(now+k>=a[nextPos]){now=a[nextPos];nextPos++;k--;}}}}}return 0; } /**/
View Code
转载于:https://www.cnblogs.com/crazyacking/p/4540704.html
2015年百度之星初赛(1) --- A 超级赛亚ACMer相关推荐
- [水]2015百度之星初赛第一场 超级赛亚ACMer
Description 百小度是一个ACMer,也是一个超级赛亚人,每个ACMer都有一个战斗力,包括百小度. 所谓超级赛亚人的定义,是说如果在对抗中刚好接近极限状态,那就会激发斗志,实力提升. 具 ...
- 2015Astar百度之星初赛 1001 超级赛亚ACMer
超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 2015年百度之星初赛(1) --- B 找连续数
找连续数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 2015年百度之星初赛(1) --- D KPI
KPI Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- hdu5246 超级赛亚ACMer (百度之星初赛)(模拟)
题意:一个初始战斗力上限为m的选手,和战斗力相同的人战斗后,该选手最多可提升k点战斗力,每提升一次k值减一:和战斗力低于他的人战斗,战斗力不变: n名挑战者,给出每名挑战者的战斗力,问他是否能将挑战者 ...
- 【百度之星初赛】 超级赛亚ACMer(灵活题)
百小度是一个ACMer,也是一个超级赛亚人,每个ACMer都有一个战斗力,包括百小度. 所谓超级赛亚人的定义,是说如果在对抗中刚好接近极限状态,那就会激发斗志,实力提升. 具体来说,就是百小度现在要接 ...
- 百度之星初赛(1)解题报告
超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换
题目传送门 1 /* 2 二分搜索:在0-1e6的范围找到最小的max (ai - bi),也就是使得p + 1 <= a[i] + c or a[i] - c 3 比赛时以为是贪心,榨干智商也 ...
- 2015百度之星初赛(1)1006 旋转卡壳
矩形面积 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
最新文章
- Date类(java.util)和SimpleDateFormat类(java.text)
- 简述Linux 文件系统的目录结构
- day04-html
- 读书笔记6pandas简单使用
- 【PC工具】文件压缩解压工具winrar解压缩装机必备软件,winRAR5.70免费无广告
- CNN+LSTM+CTC
- qrcode方法生成的二维码安卓手机长按不识别
- 【阅读】所谓情商高,就是会说话
- AI ProCon 2020 圆满落幕,百位专家与万名开发者共同拉开人工智能新篇章
- Mipmap与可绘制文件夹[重复]
- mysql数据库之间的转移
- Python全栈 Linux基础之2.Linux终端命令简介
- 摩尔庄园怎么显示全部服务器,摩尔庄园手游怎么看自己玩的什么服,服务器查看区别方法...
- 每天脑子里莫名其妙冒出来的话(常见于早上起床之后)持续记录,这也是日记的一种
- ActiveMQ简介
- 上门洗车APP --- Androidclient开发 之 项目结构介绍
- spring中c3p0配置 ---这是一位仁兄的经历
- 关于Sigmoid函数
- idea下载数据库驱动太慢?
- 图像拼接---图片柱面投影简单实现