Codeforces Round #715 (Div. 2) (A~D 补题记录)
补题链接:Here
经典手速场
1509A. Average Height
题意:要找出最大不平衡对序列
先输出奇数,然后输出偶数
void solve() {
int n;
cin >> n;
vector<int> odd, even;
for (int i = 0, x; i < n; ++i) {
cin >> x;
if (x & 1) odd.push_back(x);
else
even.push_back(x);
}
for (int x : odd) cout << x << " ";
for (int x : even) cout << x << " ";
cout << "\n";
}
1509B. TMT Document
题意:给定一个 T-M字符串,求问是否能全拆分为 TMT 子序列
思路:
要能组成 TMT 就要是 T、M顺序一定并 cntT = 2 * cntM 和 \(n \% 3== 0\)
void solve() {
int n;
string s;
cin >> n >> s;
int ct = 0, cm = 0;
bool f = true;
for (int i = 0; f && i < n; ++i) {
s[i] == 'T' ? ct++ : cm++;
if (cm > ct || (ct > 2 * cm + n / 3 - cm)) f = false;
}
cout << (f && cm * 2 == ct && n % 3 == 0 ? "YES\n" : "NO\n");
}
1509C. The Sports Festival
题意:
学生会要参加接力赛,每位成员跑步速度为 \(a_i\) ,给定定义:
\]
求出最小的 \(\sum_{i = 1}^n d_i\)
思路:
待补。
using ll = long long;
ll dp[2005][2005];
int n;
int A[2005];
void solve() {
cin >> n;
for (int i = 1; i <= n; ++i) cin >> A[i];
sort(A + 1, A + n + 1);
for (int i = 1; i <= n; ++i)
for (int j = i + 1; j <= n; ++j) dp[i][j] = 1e18;
for (int i = 1; i <= n; ++i) dp[i][i] = 0;
for (int len = 1; len < n; ++len) {
for (int i = 1; i + len - 1 <= n; ++i) {
int j = i + len - 1;
if (j < n) dp[i][j + 1] = min(dp[i][j + 1], dp[i][j] + A[j + 1] - A[i]);
if (i > 1) dp[i - 1][j] = min(dp[i - 1][j], dp[i][j] + A[j] - A[i - 1]);
}
}
cout << dp[1][n] << '\n';
}
另外一种写法
using ll = long long;
void solve() {
int n;
cin >> n;
vector<ll> s(n);
for (ll &x : s) cin >> x;
sort(s.begin(), s.end());
vector<ll> dp0(n), dp1(n);
for (int k = 1; k < n; ++k) {
for (int i = k; i < n; ++i)
dp1[i] = min(dp0[i - 1], dp0[i]) + s[i] - s[i - k];
swap(dp0, dp1);
}
cout << dp0[n - 1] << '\n';
}
1508A/1509D. Binary Literature
题意:
在一场二进制小说写作比赛中,需要由三个长度为 \(2 · n\) 的字符串组成的 \(3 · n\) 长度的字符串(其中至少包括 \(3\) 个字符串的两个作为子序列)
先贴一下AC代码
void solve() {
int n;
string a, b, c;
cin >> n >> a >> b >> c;
int x = 0, y = 0, z = 0;
for (int i = 0; i < 2 * n; ++i) {
if (a[i] == '1') ++x;
if (b[i] == '1') ++y;
if (c[i] == '1') ++z;
}
if (x > y) swap(a, b), swap(x, y);
if (y > z) swap(b, c), swap(y, z);
if (x > y) swap(a, b), swap(x, y);
char cc = '0';
if (y > n) {
cc = '1';
swap(a, c), swap(x, z);
}
x = y = 0;
string ans = "";
while (true) {
while (x < 2 * n && a[x] != cc) ans += a[x], ++x;
while (y < 2 * n && b[y] != cc) ans += b[y], ++y;
if (x == 2 * n && y == 2 * n) break;
ans += cc;
if (x < 2 * n) x++;
if (y < 2 * n) y++;
}
while (ans.size() < 3 * n) ans += '0';
cout << ans << '\n';
}
Codeforces Round #715 (Div. 2) (A~D 补题记录)的更多相关文章
- Codeforces Round #524 (Div. 2)(前三题题解)
这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...
- Codeforces Round #426 (Div. 2)A B C题+赛后小结
最近比赛有点多,可是好像每场比赛都是被虐,单纯磨砺心态的作用.最近讲的内容也有点多,即便是点到为止很浅显的版块,刷了专题之后的状态还是~"咦,能做,可是并没有把握能A啊".每场网络 ...
- Codeforces Round #243 (Div. 2) B(思维模拟题)
http://codeforces.com/contest/426/problem/B B. Sereja and Mirroring time limit per test 1 second mem ...
- Codeforces Round #340 (Div. 2) B. Chocolate 水题
B. Chocolate 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co Bob loves everyt ...
- Codeforces Round #340 (Div. 2) A. Elephant 水题
A. Elephant 题目连接: http://www.codeforces.com/contest/617/problem/A Descriptionww.co An elephant decid ...
- Codeforces Round #340 (Div. 2) D. Polyline 水题
D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...
- Codeforces Round #338 (Div. 2) A. Bulbs 水题
A. Bulbs 题目连接: http://www.codeforces.com/contest/615/problem/A Description Vasya wants to turn on Ch ...
- Codeforces Round #185 (Div. 2) B. Archer 水题
B. Archer Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/312/problem/B D ...
- Codeforces Round #282 (Div. 1) A. Treasure 水题
A. Treasure Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/494/problem/A ...
- Codeforces Round #327 (Div. 2) B. Rebranding 水题
B. Rebranding Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/591/problem ...
随机推荐
- Proj4:改进LiteOS中物理内存分配算法
Proj4:改进LiteOS中物理内存分配算法 实验目的 掌握LiteOS系统调用的自定义方法 实验环境 Ubantu和IMX6ULL mini 实验内容 (从代码角度详细描述实验的步骤和过程) 原先 ...
- 将 .NET Aspire 部署到 Kubernetes 集群
使用Aspirate可以将Aspire程序部署到Kubernetes 集群 工具安装 dotnet tool install -g aspirate --prerelease 注意:Aspirate ...
- 5个免费、跨平台的SQLite数据库可视化工具
前言 SQLite是一个轻量级的嵌入式关系型数据库,目前最新的版本是 SQLite3.今天推荐5个实用的SQLite数据库可视化工具(GUI),帮助大家更好的管理SQLite数据库. 什么是SQLit ...
- LR(0)分析法
LR(0)是一种自底向上的语法分析方法.两个基本动作是移进和规约. 具体例子如下 已知文法G[E] (1) E→aА (2) E→bB (3) A→cА (4) A→d (5) B→cB (6) B→ ...
- 关于`dial unix /var/run/docker.sock: connect: permission denied`的处理方法笔记
之前遇到的一个问题,使用非root用户时操作docker提示无权限,在查阅了一些文章之后自己又摸索出了一些更方便的方法,顺手记录下来. 一.问题发现 根据报错信息dial unix /var/run/ ...
- pytest框架学习-pytest_addoption钩子函数
适用场景:一套自动化代码,多套环境. pytest_addoption 允许用户自定义注册一个命令行参数,方便用户通过命令行参数的形式给 pytest 传递不同的参数进行不同测试场景的切换. pyte ...
- Python——第一章:for循环
字符串是可迭代的for循环: for 任意变量名 in 字符串|列表|元祖|字典|集合(可迭代的东西): 代码 for循环把可迭代的东西中的每一项内容拿出来. 挨个的赋值给变量. 每一次赋值都要执行一 ...
- 用c++写 爱心图案
绘制爱心曲线 现代数学的一个有趣的证明是 Georg Cantor 证明了有理数是可枚举的.在这篇博客中,我们将通过编程绘制一个简单而美丽的数学图形:爱心曲线. 爱心曲线代码 //爱心曲线 (x^2 ...
- HDU 4893 线段树延迟标记
原题链接 题意 初始有一长度为n,全为0的序列 每次我们可以对这个序列进行三种操作: 1.将某个位置的数加上d 2.输出某个区间的和 3.将某个区间内每个数字变为与其最接近的斐波那契数,如果有两个最相 ...
- antd5中文设定
antd5中文设定 import zhCN from "antd/lib/locale/zh_CN" <ConfigProvider locale={zhCN} theme= ...