Codeforces Round #424
基本全是水题
第一题水,不过有hack点,先增后不变再减
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n;
cin>>n;
bool f=;
int last,bh=;
for(int i=;i<n;i++)
{
int a;
cin>>a;
if(i==)last=a;
else
{
if(last<a)
{
if(bh==)last=a;
else if(bh==)f=;
else f=;
}
else if(last==a)
{
if(bh==)bh=,last=a;
else if(bh==)last=a;
else f=;
}
else if(last>a)
{
if(bh==)bh=,last=a;
else if(bh==)bh=,last=a;
else last=a;
}
}
}
if(f)cout<<"NO"<<endl;
else cout<<"YES"<<endl;
return ;
}
A
第二题更水,6分钟1a,maphash一下就行了
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; map<char,char>m;
int main()
{
ios::sync_with_stdio(false);
cin.tie();
string s,p,t;
cin>>s>>p>>t;
for(int i=;i<s.size();i++)
{
m[s[i]]=p[i];
}
for(int i=;i<t.size();i++)
{
if('a'<=t[i]&&t[i]<='z')cout<<m[t[i]];
else if('A'<=t[i]&&t[i]<='Z')cout<<(char)(m[t[i]-'A'+'a']+'A'-'a');
else cout<<t[i];
}
cout<<endl;
return ;
}
B
第三题想法题,先sort,然后找间距一一对应起来就可以 了(刚开始想的是求出值来,太蠢了)
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; ll a[N],b[N];
ll sum[N];
set<ll>ans;
int main()
{
ios::sync_with_stdio(false);
cin.tie();
ll k,n;
cin>>k>>n;
for(ll i=;i<k;i++)
{
cin>>a[i];
if(i==)sum[i]=a[i];
else sum[i]=sum[i-]+a[i];
}
for(ll i=;i<n;i++)cin>>b[i];
sort(b,b+n);
sort(sum,sum+k);
int p=b[];
for(int i=;i<n;i++)b[i]-=p;
ll i=;
for(int i=;i<k;i++)
{
int res=,p=;
for(int j=i;j<k;j++)
{
if(sum[j]-sum[i]==b[p])
p++;
if(p>=n)
{
ans.insert(sum[i]);
break;
}
}
}
cout<<ans.size()<<endl;
return ;
}
C
第四题,给一堆人,和一堆钥匙的坐标,每个人拿钥匙去办公室,求最小时间,sort一下,然后二分最小时间,每次判断的时候还是枚举两个数组进行匹配
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; ll a[N],b[N],p,n,k;
bool ok(ll i,ll j,ll x)
{
return abs(a[i]-b[j])+abs(b[j]-p)<=x;
}
bool check(ll x)
{
ll j=;
for(int i=;i<n;i++)
{
while(!ok(i,j,x)){
j++;
}
if(j>=k)return ;
j++;
}
return ;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
cin>>n>>k>>p;
for(ll i=;i<n;i++)cin>>a[i];
for(ll i=;i<k;i++)cin>>b[i];
sort(a,a+n);
sort(b,b+k);
ll l=,r=2e9+;
for(int i=;i<;i++)
{
ll m=(l+r)/;
if(check(m))r=m;
else l=m;
}
while(check(l))l--;
cout<<l+<<endl;
return ;
}
D
第5.6先留坑
话说这场只a了两题,还好比较稳,没被hack,还涨了85分>.<
Codeforces Round #424的更多相关文章
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
http://codeforces.com/contest/831 A. Unimodal Array time limit per test 1 second memory limit per te ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)A,B,C
A:链接:http://codeforces.com/contest/831/problem/A 解题思路: 从前往后分别统计递增,相等,递减序列的长度,如果最后长度和原序列长度相等那么就输出yes: ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem F (Codeforces 831F) - 数论 - 暴力
题目传送门 传送门I 传送门II 传送门III 题目大意 求一个满足$d\sum_{i = 1}^{n} \left \lceil \frac{a_i}{d} \right \rceil - \sum ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem D (Codeforces 831D) - 贪心 - 二分答案 - 动态规划
There are n people and k keys on a straight line. Every person wants to get to the office which is l ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem E (Codeforces 831E) - 线段树 - 树状数组
Vasily has a deck of cards consisting of n cards. There is an integer on each of the cards, this int ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem C (Codeforces 831C) - 暴力 - 二分法
Polycarp watched TV-show where k jury members one by one rated a participant by adding him a certain ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem A - B
Array of integers is unimodal, if: it is strictly increasing in the beginning; after that it is cons ...
- 【Codeforces Round #424 (Div. 2) A】Unimodal Array
[Link]:http://codeforces.com/contest/831/problem/A [Description] 让你判断一个数列是不是这样一个数列: 一开始是严格上升 然后开始全都是 ...
- 【Codeforces Round #424 (Div. 2) B】Keyboard Layouts
[Link]:http://codeforces.com/contest/831/problem/B [Description] 两个键盘的字母的位置不一样; 数字键的位置一样; 告诉你第一个键盘按某 ...
- 【Codeforces Round #424 (Div. 2) C】Jury Marks
[Link]:http://codeforces.com/contest/831/problem/C [Description] 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对 ...
随机推荐
- Go实现查找目录下(包括子目录)替换文件内容
[功能] 按指定的目录查找出文件,如果有子目录,子目录也将进行搜索,将其中的文件内容进行替换. [缺陷] 1. 没有过滤出文本文件 2. 当文件过大时,效率不高 [代码] package main i ...
- TWebBrowser: Determine when a page with Frames is completed
TWebBrowser: Determine when a page with Frames is completed 6 comments. Current rating: (3 votes). L ...
- [笔记] Ubuntu 18.04安装cuda 10及cudnn 7流程
安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 任务:安装 CUDA 10及cuDNN 7 工具下载 NVidia官网下载下列文件: CUDA 10:cu ...
- XDU 1111
对于一排n个正方形,有f(n)种方案达成目标,若第n个块是白色,则有f(n-1)种方案,若第n个块是黑色,则第n-1个块必为白色,那么有f(n-2)+n-2种方案. 则f(n)=f(n-1)+f(n- ...
- Java Hashtable详细介绍和使用示例
①对Hashtable有个整体认识 和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射.Hashtable 继承于Dictionary,实现了Ma ...
- [2010-12-28 20:39]ActionScript3.0中用要的公式
一.质点的运动(1)——直线运动 1)匀变速直线运动 1.平均速度V平=s/t(定义式) 2.有用推论Vt2-Vo2=2as 3.中间时刻速度Vt/2=V平=(Vt+Vo)/2 4.末速度Vt=Vo+ ...
- selenium 之定位方法
1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium i ...
- xxxx interview问题解读与总结
1. 要使线程从running到waiting状态,我们需要做些什么? 线程的状态及转换. 关联技术:http://www.cnblogs.com/kisf/p/6952524.html 2. spr ...
- linux把软件安装到指定目录
1.安装包带configure文件的: ./configure --prefix=安装目录 2.安装包不带configure文件,只带MakeFile 2.1 make install PREFIX= ...
- linux安全第一周总结——20135227黄晓妍
实验部分: 我将源代码做了修改,将其中一个数字修改为我学号27 2.在实验楼环境下将其保存为text.c并将其编译,得到text.s 3.将.开头的多余的语句删去了之后,我得到了32位环境的汇编代码 ...