A FairGame

//Fair Game
//一道裸的模拟题而已
//二十分钟了。。。mdzz
//虽然英文蛋疼
#include<iostream>
#include<map>
using namespace std;
map<int, int>ma;
int a, b;
int x, y;
int main(){int n;  cin>>n;for(int i = 1; i <= n; i++){int t;  cin>>t;  ma[t]++;}if(ma.size() != 2){ cout<<"NO\n"; return 0;}int co = 0;for(map<int,int>::iterator it = ma.begin(); it != ma.end(); it++){if(co++==0){ a = it->first; x = it->second; }else { b = it->first; y = it->second; }}if(x!=y || a==b)cout<<"NO\n";else cout<<"YES\n"<<a<<" "<<b<<"\n";return 0;
}

B

//第二题反而开始灌水了,十分钟都没有就搞定了??,结果WA。。。
//两个智障BUG改了10分钟,我还差点写了对拍
#include<iostream>
#include<set>
#include<string>
#include<cctype>
using namespace std;
set<char>Set;
int main(){int n;  cin>>n;string s;  cin>>s;int t = 0, ans = 0;for(int i = 0; i < n; i++){//BUG1QAQ字符串为什么会从1开始呢。。。if(isupper(s[i])){ ans = max(ans, t); t = 0; Set.clear();}else if(islower(s[i])){if(Set.count(s[i]))continue;else { Set.insert(s[i]); t++; }}}//BUG2出来的时候要更新,万一没有大写字母呢ans = max(ans, t);cout<<ans<<"\n";return 0;
}

C

//WA
//数据范围有点方了,先试试模拟会不会T, 专业打表写了半小时我去。。。
//打表到这份上也是没谁了,然而还是炸了,,第六个点就WA,,然而,真的,没法改了。。。
#include<iostream>
using namespace std;
int main(){int a, b, f, k;cin>>a>>b>>f>>k;int lx = f, rx = a-f;int ln = f*2, rn = (a-f)*2;int dir = 0, res = b-lx;//dir为0朝右边,int i = 0, ans = 0;if(res < 0){cout<<"-1\n";  return 0;}while(i < k-1){if(res < 0){cout<<"-1\n";  return 0;}if(!dir){if(res >= rn){dir = 1;  res -= rn;  i++;  continue;}else{dir = 1;  res = b-rn;  i++;  ans++;}if(res < 0){cout<<"-1\n";  return 0;}}else{if(res >= ln){dir = 0; res -= ln; i++; continue;}else{dir = 0; res=b-ln; i++; ans++;}if(res < 0){cout<<-1<<"\n";  return 0;}}}if(res < 0){cout<<"-1\n";  return 0;}if(i == k-1){if(!dir && res < rx)ans++;if(dir && res < lx)ans++;}if(res < 0){cout<<"-1\n";  return 0;}cout<<ans<<"\n";return 0;
}
//AC
//正确的打表姿势
#include<iostream>
using namespace std;
int main(){int a, b, f, k;cin>>a>>b>>f>>k;int dir = 0, res = b-f, ans = 0;if(res < 0){ cout<<-1<<"\n"; return 0; }while(k-->0){int l;if(!dir){if(k == 0)l = a-f;else l = (a-f)<<1;}else{if(k == 0)l = f;else l = f<<1;}if(res < l){ans++;res = b;}res -= l;dir = !dir;if(res < 0){ cout<<-1<<"\n"; return 0; }}cout<<ans<<"\n";return 0;
}

D

//WA
//贪心失败。。sort失败,,,现在手写排序已经来不及了。。。
#include<iostream>
#include<algorithm>
#include<set>
#define maxn 200010
using namespace std;
set<int>s;
int a[maxn], b[maxn], c[maxn];//b记录值i第一次在a中出现的位置
bool cmp(int a, int b){//if(c[a]&&c[b]) return a < b;
}
int main(){int n;  cin>>n;int t, ans = 0, minv = 1;for(int i = 1; i <= n; i++){cin>>t;  a[i] = t;if(!s.count(t)){ s.insert(t); b[t] = i; continue; }else{if(minv >= *s.begin()){for(set<int>::iterator it = s.begin()++; it != s.end(); it++){if(minv < *it)break;else minv = (*it)+1;}}a[b[t]] = minv;c[minv] = 1;b[t] = i;minv++;ans++;}}sort(a+1,a+n+1, cmp);cout<<ans<<"\n";for(int i = 1; i <= n; i++)cout<<a[i]<<" ";cout<<"\n";return 0;
}

【CodeForces】Round #436相关推荐

  1. 【Codeforces】Round #488 (Div. 2) 总结

    [Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...

  2. 【Codeforces】Round #375 (Div. 2)

    Position:http://codeforces.com/contest/723 我的情况 啊哈哈,这次raiting肯定要涨,接受过上次的教训,先用小号送肉,大号都是一发切,重回蓝咯 结果... ...

  3. 【Codeforces】 Round #374 (Div. 2)

    Position:http://codeforces.com/contest/721 我的情况 开始还是rank1,秒出C.(11:00机房都走光了,我ma到11:05才走,只打了一个小时) 结果.. ...

  4. 【codeforces】Round #269 ABCD

    A:判断熊象,六个参数,有4个是腿,必须一样,另外两个如果相同是象,不同是熊,不符合要求是喵星人! B:给出几个数,将他们以不下降的方式排一下,若有三种及其以上排法,输出YES,然后任意输出三种排法( ...

  5. 【Codeforces】925A Stairs and Elevators【贪心】

    [Codeforces]925A Stairs and Elevators [题目大意] 在一个n*m的矩阵里,有clcl个楼梯和cece个电梯,电梯和楼梯可以到任意一层,给出clcl个楼梯的位置和c ...

  6. 【CodeForces】[546A]Soldier and Bananas

    直接运算 并没有什么弯 注意int就足以储存数据 不需要借钱时(n>res) 输出 0 #include<stdio.h> int main() {int k,n,w;while(s ...

  7. 【CodeForces】445B A Lot of Games 字典树博弈

    传送门:[CodeForces]445B  A Lot of Games 题目大意:两人一起构造一个串,每人每次向串的末尾放一个字母,必须保证放了这个字母后能够成所给的N个串的前缀,如果某个人不能放时 ...

  8. 【codeforces】【比赛题解】#915 Educational CF Round 36

    虽然最近打了很多场CF,也涨了很多分,但是好久没写CF的题解了. 前几次刚刚紫名的CF,太伤感情了,一下子就掉下来了,不懂你们Div.1. 珂学的那场我只做了第一题--悲伤. 这次的Education ...

  9. 【codeforces】【比赛题解】#940 CF Round #466 (Div. 2)

    人生的大起大落莫过如此,下一场我一定要回紫. [A]Points on the line 题意: 一个直线上有\(n\)个点,要求去掉最少的点,使得最远两点距离不超过\(d\). 题解: 暴力两重fo ...

最新文章

  1. R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益
  2. 从零開始学androidlt;SeekBar滑动组件.二十二.gt;
  3. HD_I Hate It
  4. android 发送重启广播,Android实现关机重启的方法分享
  5. linux代码调节亮度,linux 屏幕亮度调整命令
  6. linux cpio(copy in/out) 命令详解
  7. AJAX(XMLHttpRequest)进行跨域请求方法详解(二)
  8. git(3)---git 安装
  9. Jsp+Servlet+Mysql实现的酒店预定管理系统
  10. Java-如何挖取某个网站中的ajax请求信息
  11. C++基础——类模板
  12. 端口目录Linux操作系统常用命令
  13. 计算机网络标准化相关组织
  14. 电脑进入安全模式怎么解除?
  15. VIVADO软件介绍与使用
  16. Android面试题收集(有具体答案)
  17. git仓库中文件较多,如何拉取指定文件到本地
  18. 常见排序算法时间复杂度和空间复杂度
  19. springboot+dubbo+mybatis(注册中心使用的是zookeeper)学习
  20. Android下载保存gif图片

热门文章

  1. Matlab Tricks(十九)—— 序列左右移的实现
  2. 移位运算与除法、取模运算
  3. C/C++ —— 字典(dictionary)接口的设计
  4. C Tricks(八)—— 硬币和骰子的模拟
  5. [面试]——用一行代码判断两矩形是否相交
  6. STL::算法::常见算法
  7. python利器-python利器APP下载-python利器 v4.0.1_手机乐园
  8. 自学python能学成吗-Python能自学成功吗?
  9. python详细安装教程-python详细安装pip教程
  10. 微软语音识别技术屡破世界纪录的秘密都在这里了