Codeforces Round #807 (Div. 2) A - D
Codeforces Round #807 (Div. 2)
提交情况
参考
Codeforces Round #807 (Div. 2) A~E
A. Mark the Photographer
标签
构造
题意
代码
#include<bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
using namespace std;void solve(){int n,x;cin>>n>>x;int a[1007]={};FOR(i,1,2*n) cin>>a[i];sort(a+1,a+2*n+1);int ans=1;FOR(i,1,n) if(a[i+n]-a[i]<x) ans=0;if(ans) cout<<"YES\n";else cout<<"NO\n";
}signed main(){cin.tie(0)->sync_with_stdio(0);int T;cin>>T;while(T--){solve();}return 0;
}
B. Mark the Dust Sweeper
标签
构造
题意
思路
把前导零去除, 然后把剩余的 0 填充为 1, 每次填充花费 1 个操作数, 填充完后依次把所有非零值加到 a[n].
代码
#include<bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
using namespace std;#define int long long
int a[200007];void solve(){int n;cin>>n;FOR(i,1,n) cin>>a[i];int st=1;while(a[st]==0) st++;int ans=0;FOR(i,st,n-1){if(a[i]==0) ans++;else ans+=a[i];}cout<<ans<<endl;
}signed main(){cin.tie(0)->sync_with_stdio(0);int T;cin>>T;while(T--){solve();}return 0;
}
C. Mark and His Unfinished Essay
标签
构造, 二分, 递归
题意
思路
参考 C. Sereja and Prefixes.
以前出过的题目.
代码
#include<bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
using namespace std;#define int long longstruct node{int prel,prer,l,r;
};vector<node> a;
char s[200007];int n;int ask(int k){int l=0,r=a.size()-1;while(l<r){int mid=(l+r+1)/2;if(a[mid].l<=k) l=mid;else r=mid-1;}if(a[r].r<=n) return k;else return ask(a[r].prel+k-a[r].l);
}void solve(){a.clear();memset(s,0,sizeof s);int c,q;cin>>n>>c>>q;FOR(i,1,n) cin>>s[i];int len=n;a.push_back({1,n,1,n});FOR(i,1,c){int l,r;cin>>l>>r;a.push_back({l,r,len+1,len+1+r-l});len=len+1+r-l;}FOR(i,1,q){int k;cin>>k;cout<<s[ask(k)]<<endl;}
}signed main(){cin.tie(0)->sync_with_stdio(0);int T;cin>>T;while(T--){solve();}return 0;
}
D. Mark and Lightbulbs
标签
构造
题意
思路
重点是把每次操作看作一个连续相同数字段的端点的移动.
代码
#include<bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
using namespace std;#define int long longstruct node{int l,r;
};const int N = 2e5+7;
string s1,s2;
vector<node> n1,n2;int solve(){n1.clear(); n2.clear();int n;cin>>n;cin>>s1>>s2;if(s1==s2) return 0;if(s1[0]!=s2[0] or s1[n-1]!=s2[n-1]) return -1;FOR(i,0,n-1){while(i<=n-1 and s1[i]=='0') i++;if(i==n) break;int l=i;while(i<=n-1 and s1[i]!='0') i++;n1.push_back({l,i-1});}FOR(i,0,n-1){while(i<=n-1 and s2[i]=='0') i++;if(i==n) break;int l=i;while(i<=n-1 and s2[i]!='0') i++;n2.push_back({l,i-1});}if(n1.size()!=n2.size()) return -1;int ans=0;FOR(i,0,n1.size()-1){ans+=abs(n1[i].l-n2[i].l)+abs(n1[i].r-n2[i].r);}return ans;
}signed main(){cin.tie(0)->sync_with_stdio(0);int T; cin>>T;while(T--) cout<<solve()<<endl;return 0;
}
Codeforces Round #807 (Div. 2) A - D相关推荐
- Codeforces Round #807 (Div. 2)(A-D)
Dashboard - Codeforces Round #807 (Div. 2) - CodeforcesCodeforces. Programming competitions and cont ...
- Codeforces Round #807 (Div. 2) A-C题解
Codeforces Round #807 (Div. 2) A.B.C题题解 A - Mark the Photographer 题意:马克要给2n个人照相,分两排,一排站n人,给出每个人的身高,要 ...
- Codeforces Round #807 (Div. 2) A-D
Codeforces Round #807 (Div. 2) A. Mark the Photographer 给定整数n,数组长度2*n,问能不能拆成两个长度为n的数组,两个数组的第i项有a[i]& ...
- Codeforces Round #807 (Div. 2)A~E个人题解
Dashboard - Codeforces Round #807 (Div. 2) - Codeforces A. Mark the Photographer 题意: 有个人,每个人的身高设为,现在 ...
- Codeforces Round #807 (Div. 2)补题
C. Mark and His Unfinished Essay https://codeforces.com/contest/1705/problem/C 会卡long long,下面解法62ms过 ...
- Codeforces Round #807 (Div. 2) A-C
目录 题目 A. Mark the Photographer 题意: 思路: code: B. Mark the Dust Sweeper 题意: 思路: code: C. Mark and His ...
- Codeforces Round #807 (Div. 2) E. Mark and Professor Koro(线段树二分)
E. Mark and Professor Koro 题意 给定一个长度为n的数组,有q次更新操作,每次更新会将下标为k的元素的值更新为l,数组的更新是永久的.将数组更新后假设重复做以下操作,求可以得 ...
- Codeforces Round #807 (Div. 2) E. Mark and Professor Koro 二进制/线段树
题目分析 模拟题目不难发现,实际上擦除操作就是在模拟二进制加法进位.那么可以得到原题意的转述: 将每个 a [ i ] a[i] a[i]看作 2 a [ i ] 2^{a[i]} 2a[i],维护整 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
最新文章
- python 爬虫实例-Python 爬虫:Scrapy 实例(二)
- Qt运行一个实例进程
- Python中生成一个指定长度的随机字符串实现示例
- rm -rf * -bash: /bin/rm: 参数列表过长
- mfc远程连接mysql数据库连接_MFC连接mysql数据库(十分钟搞定)
- java中list set map 的区别
- 三、spring中高级装配(1)
- PLC编程语言入门,常用指令集汇总分享
- 国赛助力:第三类边界条件热传导方程及基于三对角矩阵的数值计算MATLAB实现(2020A)
- NTC热敏电阻(温度传感器)
- 定时报警器c语言程序,单片机控制的简易定时报警器电路设计(含电路图和程序)...
- 如何在毕业论文Word中插入图表目录
- Uncle-黄,恍恍惚惚的面经 -- 1(初级Java)
- Qlikview连接Mysql数据源
- 这一年我都做了什么......
- 【毕业季·进击的技术er】这三年来的风风雨雨,喜怒哀乐,坎坎坷坷,朝朝暮暮……都是那么美好,那么令人难以忘记。
- 教你用Ossim平台检测网络的Shellcode攻击
- Vlan和pvlan全面解析
- 谁说小P只是玩伴-巧用PSP及RSS资源提高英语听力
- 入驻宣言:凡所见,皆可杀
热门文章
- Diagnostic Viewer 显示空白
- nowcoder:[编程题] 头条校招(贪心)
- 汉威危化品安全风险监测预警平台 助力企业摆脱新旧领域风险
- Js验证身份证是否正确
- [转载]无盘网吧实际施工过程中的注意事项(转)
- 计算机反求设计的一般步骤,逆向设计的概念和基本步骤
- 计算机开机总显示密码错误如何解决,快速解决win10开机密码错误开不了机的问题...
- 中国卸油系统行业市场供需与战略研究报告
- 计算机名和DNS域名的关系,域名、DNS、IP地址的对应关系
- 探索式测试--第八章(软件测试的未来)--读书笔记