补题链接: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\) ,给定定义:

\[d_i = max(a_1,a_2,\dots,a_i) - min(a_1,a_2,\dots,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 补题记录)的更多相关文章

  1. Codeforces Round #524 (Div. 2)(前三题题解)

    这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...

  2. Codeforces Round #426 (Div. 2)A B C题+赛后小结

    最近比赛有点多,可是好像每场比赛都是被虐,单纯磨砺心态的作用.最近讲的内容也有点多,即便是点到为止很浅显的版块,刷了专题之后的状态还是~"咦,能做,可是并没有把握能A啊".每场网络 ...

  3. Codeforces Round #243 (Div. 2) B(思维模拟题)

    http://codeforces.com/contest/426/problem/B B. Sereja and Mirroring time limit per test 1 second mem ...

  4. Codeforces Round #340 (Div. 2) B. Chocolate 水题

    B. Chocolate 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co Bob loves everyt ...

  5. Codeforces Round #340 (Div. 2) A. Elephant 水题

    A. Elephant 题目连接: http://www.codeforces.com/contest/617/problem/A Descriptionww.co An elephant decid ...

  6. Codeforces Round #340 (Div. 2) D. Polyline 水题

    D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...

  7. Codeforces Round #338 (Div. 2) A. Bulbs 水题

    A. Bulbs 题目连接: http://www.codeforces.com/contest/615/problem/A Description Vasya wants to turn on Ch ...

  8. 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 ...

  9. Codeforces Round #282 (Div. 1) A. Treasure 水题

    A. Treasure Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/494/problem/A ...

  10. Codeforces Round #327 (Div. 2) B. Rebranding 水题

    B. Rebranding Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/591/problem ...

随机推荐

  1. day2-JS基础&流程控制

    typora-root-url: img 自增自减运算符 1.基本使用 内置提供 ++.--运算符 是用于将变量本身进行加1或者减1操作 // 1.基本使用 var i = 10; i++;//等价于 ...

  2. [python] 基于Tablib库处理表格数据

    Tablib是一个用于处理电子表格(如 Excel,CSV,JSON)的Python 库.它提供了一种简单而强大的方式来操作和处理数据.利用Tablib,我们可以轻松地读取.写入.过滤和转换各种类型的 ...

  3. 0x05.HelloJAVA

    基础知识 java的类目和文件名必须相同(区分大小写) java文件,先编译成字节码(.class文件),然后在JAVA的虚拟机JVM上以解释方式执行字节码 java的项目里面包含了源代码.依赖.配置 ...

  4. Go 获取 IP 地址

    1. 获取本地IP地址 使用 net 包可以获取本地机器的 IP 地址.以下是一个获取本地 IP 地址的简单示例: package main import ( "fmt" &quo ...

  5. Android12版本闹钟服务崩溃问题

    原文地址: Android12版本闹钟服务崩溃问题 - Stars-One的杂货小窝 公司项目app线上出现的崩溃记录问题,崩溃日志如下所示: Caused by java.lang.Security ...

  6. [ABC246B] Get Closer

    section> Problem Statement From the point $(0,0)$ in a two-dimensional plane, let us move the dis ...

  7. ubuntu20.04安装goaccess实时对nginx日志进行分析

    ubuntu20.04安装goaccess实时对nginx日志进行分析 goaccess可以对nginx日志进行分析,生成实时动态页面,同时通过nginx反向代理来解决WebSocket数据传输问题. ...

  8. Java核心知识体系8:Java如何保证线程安全性

    Java核心知识体系1:泛型机制详解 Java核心知识体系2:注解机制详解 Java核心知识体系3:异常机制详解 Java核心知识体系4:AOP原理和切面应用 Java核心知识体系5:反射机制详解 J ...

  9. Kafka核心逻辑介绍

    1.概念 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica)分布式消息系统(kafka2.8.0版本之后接触了对zk的依赖,使用自己 ...

  10. 免费背景音人声分离解决方案MVSEP-MDX23,足以和Spleeter分庭抗礼

    在音视频领域,把已经发布的混音歌曲或者音频文件逆向分离一直是世界性的课题.音波混合的物理特性导致在没有原始工程文件的情况下,将其还原和分离是一件很有难度的事情. 言及背景音人声分离技术,就不能不提Sp ...