Codeforces Round #436 (Div. 2) A,B,D
A. Fair Game
题目链接:http://codeforces.com/contest/864/problem/A
水题
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<stack>
#include<map>
#include<vector>
#include<set>
using namespace std;
const int MAX=1e5+;
const double eps=1e-;
const double mod=1e9+;
#define INF 0x7fffffff
#define ll long long
#define edl putchar('\n')
#define useit ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define FOR(i,a,b) for(ll i=a;i<=b;i++)
#define ROF(i,a,b) for(ll i=a;i>=b;i--)
#define mst(a) memset(a,0,sizeof(a))
#define mstn(a,n) memset(a,n,sizeof(a))
#define lowbit(x) x&(-x)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
//struct num{int v,i;}l[MAX],r[MAX];
//bool cmp(const num &x, const num &y){return x.v<y.v;} int main()
{
int n,a[MAX],b,t=,s1=,s2=;
FOR(i,,)a[i]=;
cin>>n;
FOR(i,,n)
{
cin>>b;
if(!a[b])
t++;
a[b]++;
}
if(t==)
{
FOR(i,,) if(a[i]){s1=i;break;}
ROF(i,,) if(a[i]){s2=i;break;}
if(a[s1]==a[s2]&&s1!=s2)
cout<<"YES"<<endl<<s1<<" "<<s2<<endl;
else
cout<<"NO"<<endl;
}
else
cout<<"NO"<<endl;
}
B. Polycarp and Letters
题目链接:http://codeforces.com/contest/864/problem/B
水题,写太急了,忘了考虑全是小写字母的情况,wa了两发血亏。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int inf = 1e9+;
const int M = 1e5+;
map<char,int>mp;
int main()
{
int n,maxx;
char s[];
cin>>n;
for(int i=;i<n;i++)
cin>>s[i];
maxx = -inf;
int ans = ;
for(char i = 'a';i<='z';i++){
mp[i] = ;
}
for(int i=;i<n;i++){
if(s[i]>='a'&&s[i]<='z'){
if(mp[s[i]]==)
{
ans++;
mp[s[i]]=;
}
}
else{
maxx = max(ans,maxx);
ans = ;
for(char i = 'a';i<='z';i++){
mp[i] = ;
}
}
}
maxx = max(ans,maxx);
cout<<maxx<<endl;
return ;
}
D. Make a Permu!
题目链接:http://codeforces.com/contest/864/problem/D
题目有点水,直接暴力过了。。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int inf = 1e9+;
const int M = 2e5+;
map<int,int>mp;
int a[M],flag[M];
int main()
{
int n,maxx,i,j;
cin>>n;
maxx = -inf;
memset(flag,,sizeof(flag));
int cnt = ;
for(i=;i<n;i++){
cin>>a[i];
mp[a[i]]++;
if(mp[a[i]]>)
cnt++;
maxx = max(a[i],maxx);
}
int l=;
for(i=;i<n;i++){
if(mp[a[i]]>){
for(j=l+;j<=M;j++){
if(mp[j]==){
mp[j]==;
l = j;break;
}
}
//cout<<l<<endl;
if(l<a[i]){
//cout<<mp[a[i]]<<endl;
mp[a[i]]-=,a[i]=l; //之前这里先替换再标记。搞得wa了一发,血亏。。还好学长出了发神样例查到了
//cout<<mp[a[i]]<<endl;
}
else{
if(flag[a[i]]==){
mp[a[i]]--,a[i]=l;
}
else{
mp[l]==;l--;
flag[a[i]] = ;
}
}
}
}
cout<<cnt<<endl;
for(i=;i<n;i++){
cout<<a[i]<<" ";
}
cout<<endl;
return ;
}
Codeforces Round #436 (Div. 2) A,B,D的更多相关文章
- Codeforces Round #436 (Div. 2)【A、B、C、D、E】
Codeforces Round #436 (Div. 2) 敲出一身冷汗...感觉自己宛如智障:( codeforces 864 A. Fair Game[水] 题意:已知n为偶数,有n张卡片,每张 ...
- Codeforces Round #436 (Div. 2) C. Bus
http://codeforces.com/contest/864/problem/C 题意: 坐标轴上有x = 0和 x = a两点,汽车从0到a之后掉头返回,从a到0之后又掉头驶向a...从0到a ...
- Codeforces Round #436 (Div. 2) E. Fire
http://codeforces.com/contest/864/problem/E 题意: 有一堆物品,每个物品有3个属性,需要的时间,失效的时间(一开始)和价值.只能一件一件的选择物品(即在选择 ...
- Codeforces Round #436 (Div. 2)
http://codeforces.com/contest/864 第一次打cf的月赛-- A 题意:给你一个数列,问你能不能保证里面只有两种数且个数相等.2<=n<=100,1<= ...
- Codeforces Round #436 (Div. 2) D. Make a Permutation!
http://codeforces.com/contest/864/problem/D 题意: 给出n和n个数(ai <= n),要求改变其中某些数,使得这n个数为1到n的一个排列,首先保证修改 ...
- Codeforces Round #436 (Div. 2) B. Polycarp and Letters
http://codeforces.com/contest/864/problem/B 题意: 给出一个字符串,要求找到一个集合S,使得从S中选出的所有数,在这些数的位置上的字母全部为小写且是不同的字 ...
- Codeforces Round #436 (Div. 2)D. Make a Permutation! 模拟
D. Make a Permutation! time limit per test: 2 seconds memory limit per test: 256 megabytes input: st ...
- Codeforces Round #436 (Div. 2)C. Bus 模拟
C. Bus time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard input out ...
- 【做题】Codeforces Round #436 (Div. 2) F. Cities Excursions——图论+dfs
题意:给你一个有向图,多次询问从一个点到另一个点字典序最小的路径上第k个点. 考虑枚举每一个点作为汇点(记为i),计算出其他所有点到i的字典序最小的路径.(当然,枚举源点也是可行的) 首先,我们建一张 ...
随机推荐
- linux下service+命令和直接去执行命令的区别,怎么自己建立一个service启动
启动一些程序服务的时候,有时候直接去程序的bin目录下去执行命令,有时候利用service启动. 比如启动mysql服务时,大部分喜欢执行service mysqld start.当然也可以去mysq ...
- Intellij实用技巧
快捷键 Tradition 快捷键 介绍 Ctrl + Z 撤销 Ctrl + Shift + Z 取消撤销 Ctrl + X 剪切 Ctrl + C 复制 Ctrl + S 保存 Tab 缩进 Sh ...
- 在angularjs实现一个时钟
想在网页上,显示当前系统时钟. <body ng-app="App2" ng-controller="Ctrl2"> <div ng-bind ...
- 控制反转IOC与依赖注入DI - 理论篇
学无止境,精益求精 十年河东十年河西,莫欺少年穷 昨天是五一小长假归来上班的第一天,身体疲劳,毫无工作热情.于是就看看新闻,喝喝茶,荒废了一天 也就在昨天,康美同事张晶童鞋让我学习下IOC的理论及实现 ...
- SSL踩坑ERR_SSL_VERSION_OR_CIPHER_MISMATCH
最近公司项目开发了一个微信小程序,并且部署测试OK,由于微信小程序调用的后端接口必须是HTTPS,所以给接口安装了SSL,第一天测试都正常.第二天早上再使用时页面无响应. 抓包发现是后端接口抛出: n ...
- html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia
以前在前人基础上重复造了一个网页录音的轮子,顺带把github仓库使用研究了一下,扔到了github上. 优势在于结构简单,可插拔式的录音格式支持,几乎可以支持任意格式(前提有相应的编码器):默认提供 ...
- 忘记mysql数据库root密码
找到配置文件my.ini ,然后将其打开,可以选择用记事本打开,查找的方法如下: 打开后,搜索mysqld关键字 找到后,在mysqld下面添加skip-grant-tables,保存退出. PS: ...
- php的垃圾回收机制
转载请附上本文地址:http://blog.csdn.net/u011957758/article/details/76864400 前言 是的,平时经常听到大牛说到的gc,就是垃圾回收器,全称Gar ...
- Echo团队便利记事本项目终审报告
一.团队成员简介 http://www.cnblogs.com/echo-buaa/p/3991968.html 二.团队项目的目标,预期的典型用户,预期的功能描述,预期的用户数量在哪里? 项目的目标 ...
- 素数问题三步曲_HDOJ2098
偶然间OJ上敲到一题素数问题便查询了相关算法.对于该类问题我个人学习分为三步曲:最笨的方法(TLE毫无疑问)->Eratosthrnes筛选法->欧拉线性筛选法 针对HDOJ2098这道题 ...