CodeForces Round #545 Div.2
A. Sushi for Two
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
int N, cnt = ;
int a[maxn], vis[maxn]; int main() {
scanf("%d", &N);
for(int i = ; i <= N; i ++)
scanf("%d", &a[i]); int l = , r = ;
while(l <= N && r <= N) {
while(a[l] == a[r] && r <= N) vis[cnt] ++, r ++;
cnt ++;
l = r;
} int maxx = ;
for(int i = ; i < cnt - ; i ++) {
int t = min(vis[i], vis[i + ]);
maxx = max(t * , maxx);
} printf("%d\n", maxx);
return ;
}
B. Circus
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
int N;
string s, t;
int A, B ,C, D;
int a, b, c, d; int main() {
scanf("%d", &N);
cin >> s >> t;
for(int i = ; i < N; i ++) {
if(s[i] == '') {
if(t[i] == '') A ++;
else B ++;
} else {
if(t[i] == '') C ++;
else D ++;
}
} bool flag = false;
for(a = ; a <= A && a <= N / ; a ++) {
int t1 = a + B + D - N / ;
if(t1 >= && t1 <= N / && t1 <= D) {
d = t1; for(b = ; b <= B && b <= N / ; b ++) {
int t2 = N / - a - b - d;
if(t2 >= && t2 <= C && t2 <= N / ) {
c = t2;
flag = true;
break;
}
}
if(flag) break;
}
} if(flag) {
vector<int> ans;
for(int i = ; i < N; i ++) {
if(s[i] == '') {
if(a && t[i] == '') {
ans.push_back(i + );
a --;
} else if(b && t[i] == '') {
ans.push_back(i + );
b --;
}
} else {
if(c && t[i] == '') {
ans.push_back(i + );
c --;
} else if(d && t[i] == '') {
ans.push_back(i + );
d --;
}
}
} for(int i = ; i < ans.size(); i ++)
printf("%d%s", ans[i], i != ans.size() - ? " " : "\n"); } else printf("-1\n"); return ;
}
D. Camp Schedule
D 很简单的 KMP 求出来 nx[t.length()] 然后求出来最小循环节 先把最小循环节前面的部分输出然后输出最小循环节最后把剩下的输出 我是。。真滴不想写了
CodeForces Round #545 Div.2的更多相关文章
- Codeforces Round #545 (Div. 1) 简要题解
这里没有翻译 Codeforces Round #545 (Div. 1) T1 对于每行每列分别离散化,求出大于这个位置的数字的个数即可. # include <bits/stdc++.h&g ...
- Codeforces Round #545 (Div. 2) D 贪心 + kmp
https://codeforces.com/contest/1138/problem/D 题意 两个01串s和t,s中字符能相互交换,问最多能得到多少个(可交叉)的t 题解 即将s中的01塞进t中, ...
- Codeforces Round #545 (Div. 1) Solution
人生第一场Div. 1 结果因为想D想太久不晓得Floyd判环法.C不会拆点.E想了个奇奇怪怪的set+堆+一堆乱七八糟的标记的贼难写的做法滚粗了qwq靠手速上分qwqqq A. Skyscraper ...
- Codeforces Round #545 (Div. 2) D
链接:http://codeforces.com/contest/1138/problem/D 啊啊啊啊啊啊,自闭啊,比赛的时候判断条件 if(s1[i-1]=='0') aa++;写成了 if(s1 ...
- Codeforces Round #545 (Div. 2)(D. Camp Schedule)
题目链接:http://codeforces.com/contest/1138/problem/D 题目大意:给你两个字符串s1和s2(只包含0和1),对于s1中,你可以调换任意两个字符的位置.问你最 ...
- Codeforces Round #545 (Div. 2)(B. Circus)
题目链接:http://codeforces.com/contest/1138/problem/B 题目大意:贼绕口的题目,就是给你两个字符串s1,s2,然后每一个人代表一列,第一列代表技能一每个人是 ...
- Codeforces Round #545 (Div. 2) E 强连通块 + dag上求最大路径 + 将状态看成点建图
https://codeforces.com/contest/1138/problem/E 题意 有n个城市(1e5),有m条单向边(1e5),每一周有d天(50),对于每个城市假如在某一天为1表示这 ...
- Codeforces Round #545 (Div. 2) 交互 + 推公式
https://codeforces.com/contest/1138/problem/F 题意 有一条长为t的链,一个长为c的环,定义终点为链和环相连环上的第一个点,现在有10个人在起点,你每次可以 ...
- Codeforces Round #545 (Div. 2)-Camp Schedule
题目要求,给定一个s序列,一个p序列,问能不能对s做相应的调整,使得s序列中,有尽可能多的p子串(可以重复) 最开始我拿到这个题目,也是一点头绪都没有,如何做调整呢? 首先考虑如何会有尽可能多的子串, ...
随机推荐
- [转]koa-router使用指南
更多参考:https://www.npmjs.com/package/koa-router 本文转自:https://blog.csdn.net/luchuanqi67/article/details ...
- IaaS,PaaS,SaaS 的区别
原文:http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html 越来越多的软件,开始采用云服务. 云服务只是一个统称,可以分成三大类. Ia ...
- TSP(Traveling Salesman Problem)-----浅谈旅行商问题(动态规划,回溯实现)
1.什么是TSP问题 一个售货员必须访问n个城市,这n个城市是一个完全图,售货员需要恰好访问所有城市的一次,并且回到最终的城市. 城市于城市之间有一个旅行费用,售货员希望旅行费用之和最少. 完全图:完 ...
- django项目环境搭建
本文转载自: https://blog.csdn.net/xiaogeldx/article/details/89038299 在码云平台创建项目 版本控制的种类 主要使用github(最主流) 国内 ...
- Android 通过反射获取DatePicker 中的控件,并改变其颜色
到最后也只是成功改变了中间部分的颜色. private void setDatePickerDividerColor(DatePicker datePicker) { // Divider chang ...
- textarea 输入长度限制
<textarea " placeholder="请输入详细地址(100字以内)"></textarea>
- Python Django对接企业微信第三方服务回调验证的一些坑
今天公司老总,叫我把公司的企业微信,服务商管理后台中的本地应用进行回调验证. 听起来一脸懵逼,没搞过企业微信对接情况.一头雾水,不知道如何下手. 先讲解一下,企业微信情况. 登录到企业微信后,右上角服 ...
- T-SQL_select语句详解
select语句执行的过程: 先看查询内容 ==>where条件 ==>[分组条件] ==>[分组搜索条件] ==>内容输出 ==>[是否排序] SQL中SELECT语句 ...
- 第一个 java 程序
java程序的运行机制 JVM实现了跨平台 JDK > JRE > JVM java Development Kit(JDK)包含:JRE,以及增加编译器和调试器等用于程序开发的文件 Ja ...
- c/c++ linux 进程间通信系列3,使用socketpair,pipe
linux 进程间通信系列3,使用socketpair,pipe 1,使用socketpair,实现进程间通信,是双向的. 2,使用pipe,实现进程间通信 使用pipe关键点:fd[0]只能用于接收 ...