Atcoder Beginner Contest 124 解题报告
心态爆炸。本来能全做出来的。但是由于双开了Comet oj一个比赛,写了ABC就去搞那个的B题 还被搞死了。
回来写了一会D就过了。可惜比赛已经结束了。真的是作死。
#include <cstdio>
using namespace std; int main() {
int x, y;
scanf("%d%d", &x, &y);
int ans = x > y ? x : y;
if (x > y) x--;
else y--;
if (x > y) ans += x;
else ans += y;
printf("%d", ans);
return ;
}
#include <cstdio>
#include <algorithm>
using namespace std; const int maxn = ;
int a[maxn]; int main() {
int n;
scanf("%d", &n);
for (int i = ; i < n; i++) scanf("%d", &a[i]);
int ans = ;
for (int i = ; i < n; i++) {
bool flag = false;
for (int j = i - ; j >= ; j--) {
if (a[i] < a[j]) {
flag = true;
break;
}
}
if (!flag) ans++;
}
printf("%d\n", ans);
return ;
}
只有两种排列方式 第一种为0或者第一种为1
跑两遍取最小就好了
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
char s[maxn]; int main() {
scanf("%s", s);
int len = strlen(s);
if (len == ) {
puts("");
return ;
}
int now = ;
int ans = ;
for (int i = ; i < len; i++) {
if (s[i] - '' != now) ans++;
now ^= ;
}
int temp = ;
now = ;
for (int i = ; i < len; i++) {
if (s[i] - '' != now) temp++;
now ^= ;
}
printf("%d\n", min(ans, temp));
return ;
}
题意是一个长为N的01串,可以至多操作K次,每次操作任选一个区间都变成另一个颜色
求最长连续1的长度
问题就等价于有x个连续1的区间(遍历统计一下)把 k+1 个区间并起来有多长(中间的0也得统计上)
区间用结构体存上l,r 统计答案就是G[i+k].r - G[i].l + 1
有多种情况要考虑
一是 0000000000001010101010101000000 这样统计答案的时候
我们会忽略掉这些前导0和后导0 因为我们是从G[0].l开始统计的 所以不是正解
解决方案就是 G数组给加上头和尾 G{0].l = G[0].r = 0 G[x].l = G[x].r = len-1
遍历统计答案的时候就会把这些前导0后导0给算上
二是 000000000000000100000001000000000 k = 500 的情况
这是特殊情况 如果连续1的区间没有k + 1大的话 答案就是len了
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
char s[maxn];
struct Point {
int l, r;
} G[maxn]; int main() {
int len, k;
scanf("%d%d", &len, &k);
scanf("%s", s);
int l = ;
int cnt = ;
s[len] = '';
G[].l = G[].r = ;
cnt = ;
for (int i = ; i <= len; i++) {
if (s[i] == '') {
if (!l) G[cnt++].l = i;
l++;
} else {
if (l) G[cnt-].r = i - ;
l = ;
}
}
G[cnt].l = G[cnt].r = len - ;
cnt++;
int ans = ;
if (k + >= cnt) {
printf("%d\n", len);
return ;
}
for (int i = ; i < cnt; i++) {
int temp = i + k;
if (temp >= cnt) break;
ans = max(ans, G[temp].r - G[i].l + );
}
ans = min(ans, len);
printf("%d\n", ans);
return ;
}
下次再也不多开比赛了。
Atcoder Beginner Contest 124 解题报告的更多相关文章
- AtCoder Beginner Contest 122 解题报告
手速选手成功混进rated only里面的前30名,但是总排名就到110+了... A - Double Helix #include <bits/stdc++.h> #define ll ...
- AtCoder Beginner Contest 146解题报告
题目地址 https://atcoder.jp/contests/abc146/tasks 感觉没有什么有意思的题... 题解 A #include <bits/stdc++.h> usi ...
- AtCoder Beginner Contest 118 解题报告
A - B +/- A #include <bits/stdc++.h> int main() { int a, b; std::cin >> a >> b; b ...
- AtCoder Beginner Contest 120 解题报告
为啥最近都没有arc啊... A - Favorite Sound #include <algorithm> #include <iostream> #include < ...
- AtCoder Beginner Contest 117 解题报告
果然abc都是手速场. 倒序开的qwq. D题因为忘记1e12二进制几位上界爆了一发. A - Entrance Examination 就是除一下就行了... 看样例猜题意系列. #include& ...
- AtCoder Beginner Contest 132 解题报告
前四题都好水.后面两道题好难. C Divide the Problems #include <cstdio> #include <algorithm> using names ...
- AtCoder Beginner Contest 129 解题报告
传送门 写了四个题就跑去打球了.第五题应该能肝出来的. A - Airplane #include <bits/stdc++.h> using namespace std; inline ...
- AtCoder Beginner Contest 127 解题报告
传送门 非常遗憾.当天晚上错过这一场.不过感觉也会掉分的吧.后面两题偏结论题,打了的话应该想不出来. A - Ferris Wheel #include <bits/stdc++.h> u ...
- AtCoder Beginner Contest 126 解题报告
突然6道题.有点慌.比赛写了五个.罚时爆炸.最后一个时间不太够+没敢写就放弃了. 两道题奇奇怪怪的WJ和20/20.今天的评测机是怎么了. A Changing a Character #includ ...
随机推荐
- vue 中引用jquery
1.安装jquery npm install jquery --save-dev 2.打开配置文件webpack.base.conf.js 加入'jquery': path.resolve(__dir ...
- pip 使用豆瓣源
pip 使用豆瓣源 由于pip 默认使用Python的官方源pypi.python.org/pypi,导致我们经常使用pip装包时速度过慢或者无法安装(请求超时)等问题, 所以国内用户建议使用pip ...
- Fragment 生命周期的详情
Fragment每个生命周期方法的意义.作用(注意红色的不是生命周期方法):setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法.在该方法里面可以通过调用getU ...
- ionic3 Modal组件
Modal组件主要用来弹出一些临时的框,如登录,注册的时候用 弹出页面html页面 <button ion-button small outline color="he" ...
- Redis压缩列表
此篇文章是主要介绍Redis在数据存储方面的其中一种方式,压缩列表.本文会介绍1. 压缩列表(ziplist)的使用场景 2.如何达到节约内存的效果?3.压缩列表的存储格式 4. 连锁更新的问题 5 ...
- 实现MongoDB读写分离的“读偏好”介绍
在某些情况下,将读请求发送给副本集的备份节点是合理的,例如,单个服务器无法处理应用的读压力,就可以把查询请求路由到可复制集中的多台服务器上.现在绝大部分MongoDB驱动支持读偏好设置(read pr ...
- selenium-获取元素属性(六)
获取元素属性很简单,使用 get_attribute 方法即可 如下图 获取具体的属性直接将该属性名当作参数传入即可 若是获取值,则获取的实则是该元素的 value,需要将 value 当参数传入 i ...
- PostgreSql 查询表结构和说明
select (select relname from pg_class where oid=a.attrelid) relname , () as comment from pg_class whe ...
- Python模块time、datetime
模块: 模块是一系列常用功能的集合体,一个py文件就是一个模块. 一.模块的作用: 1.从文件级别组织程序,方便管理,随着程序的发展,功能越来越多,我们通常将程序分成一个个py文件,这样做程序的结构更 ...
- Session, Token, OAuth 鉴权那些事儿
鉴权那些事 整体思路 无论什么样的服务, Web 服务总是不能绕开鉴权这个话题的, 通过有效的鉴权手段来保护网站数据, 来为特定用户提供服务. 整体来说, 有三种方式: Session-Cookie ...