博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #402 (Div. 2)
阅读量:5917 次
发布时间:2019-06-19

本文共 3276 字,大约阅读时间需要 10 分钟。

 


A.

日常沙比提

#include
#include
#include
#include
#include
using namespace std;inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1; c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();} return x*f;}int n,a[10],b[10],ans;int main(){ //freopen("in","r",stdin); n=read(); for(int i=1;i<=n;i++) a[read()]++; for(int i=1;i<=n;i++) b[read()]++; for(int i=1;i<=5;i++){ int c=a[i]+b[i]; if(c&1) {puts("-1");return 0;} else ans+=abs(c/2-a[i]); } printf("%d",ans/2);}
View Code

B.

日常沙比提2

#include
#include
#include
#include
#include
using namespace std;inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1; c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();} return x*f;}char s[20];int n,k;int main(){ //freopen("in","r",stdin); scanf("%s",s+1);k=read(); n=strlen(s+1); int c=0; for(int i=1;i<=n;i++) if(s[i]=='0') c++; if(c
=1;i--){ if(s[i]=='0') zero++; else now++; if(zero==k) break; } printf("%d",now); }}
View Code

C.

我去怎么这次三道沙比提

样例3良心!注意第一次买可以比$k$个多

#include
#include
#include
#include
#include
using namespace std;const int N=2e5+5;inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1; c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();} return x*f;}int n,k,ans;struct Item{ int a,b,c; bool operator <(const Item &r)const{ return c>r.c; }}a[N];int main(){ //freopen("in","r",stdin); n=read();k=read(); for(int i=1;i<=n;i++) a[i].a=read(); for(int i=1;i<=n;i++) a[i].b=read(); for(int i=1;i<=n;i++) a[i].c=a[i].b-a[i].a; sort(a+1,a+1+n); int i; for(i=1;i<=k;i++) ans+=a[i].a; while(i<=n&&a[i].c>=0) ans+=a[i].a,i++; for(;i<=n;i++) ans+=a[i].b; printf("%d",ans);}
View Code

D.

题意:给两个字符串以及一个删除第一个字符串字符的操作序列,问多少次操作之后是最后的可以从第一个中找出第二个字符串的时刻

乱想一通,突然发现二分答案不就好了....

倒着处理变成加字符,二分加的字符的最晚时间最早,然后判定

#include
#include
#include
#include
#include
using namespace std;const int N=2e5+5;inline int read(){ char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1; c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();} return x*f;}int n,t[N],m;char a[N],b[N];bool check(int g){ int now=1; for(int i=1;i<=n;i++) if(t[i]<=g){ if(a[i]==b[now]) now++; if(now>m) return true; } return false;}void solve(){ int l=1,r=n,ans=0; while(l<=r){ int mid=(l+r)>>1; if(check(mid)) ans=mid,r=mid-1; else l=mid+1; } printf("%d",n-ans);}int main(){ //freopen("in","r",stdin); scanf("%s%s",a+1,b+1); n=strlen(a+1); m=strlen(b+1); for(int i=1;i<=n;i++) t[read()]=n-i+1; solve();}
View Code

E.

写了40min然后放弃了好难写

 

转载地址:http://nifvx.baihongyu.com/

你可能感兴趣的文章
产品评价
查看>>
Java小细节
查看>>
[CodeForces-375E]Red and Black Tree
查看>>
matrix theory_basic results and techniques_exercise_1.2.10
查看>>
(转载)BPM 的介绍
查看>>
图片加载不出来 打入默认图片
查看>>
session、cache、cookie的区别
查看>>
android wifi Beacon帧解析
查看>>
简单描述如何安装配置一个apache开源版hadoop,只描述即可,无需列出完整步骤,能列出步骤更好...
查看>>
【LaTeX】配置Emacs org-mode利用latex生成pdf文件
查看>>
《1024伐木累》- 老王请客吃晚饭,介绍对象
查看>>
【题解】【排列组合】【回溯】【Leetcode】Gray Code
查看>>
iOS: (库) 图片异步下载/缓存-SDWebImage的使用
查看>>
MySql开启远程账户登陆总结
查看>>
node.js 简单的获取命令参数
查看>>
Xcode8注释快捷键以及相关插件使用无效解决方法
查看>>
论创业者心态心智
查看>>
HDU 4268 Alice and Bob(贪心+Multiset的应用)
查看>>
linux内核剖析(十一)进程间通信之-共享内存Shared Memory
查看>>
VisualStudio2017密钥(key)我随便输入一下居然通过了?????????!!!!!!!!!!!!
查看>>