20级训练赛Round #4
给20级学弟学妹们带带榜单
A - 凯少的动作序列
枚举情况替换即可
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {
int n; string s;
cin >> n >> s;
int cnt = 0;
for (int i = 1; i < n; ++i)if (s[i] != s[i - 1])i++, cnt++;
cout << n - cnt;
}
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
solve();
return 0;
}
B - 凯少的秘密消息
根据题意模拟
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 10;
map<string, int>mp;
int cost[N], e[N], v[N];
void solve() {
int n, k, m;
cin >> n >> k >> m;
memset(v, 0x3f, sizeof(v));
for (int i = 1; i <= n; ++i) {
string s;
cin >> s, mp[s] = i;
}
for (int i = 1, t; i <= n; ++i) {
cin >> t;
cost[i] = t;
}
for (int i = 1; i <= k; i++) {
int n;
cin >> n;
while (n--) {
int a;
cin >> a;
e[a] = i;
v[i] = min(v[i], cost[a]);
}
}
ll ans = 0;
for (int i = 0; i < m; ++i) {
string s; cin >> s;
ans += v[e[mp[s]]];
}
cout << ans;
}
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
solve();
return 0;
}
C - 尚佬的投篮得分
利用前缀和差值比较可以快速得到区间最大分数
#include<bits/stdc++.h>
using namespace std;
const int N = 100000 + 10;
int a[N], pre[N], cnt, mx;
int main() {
int n, k; cin >> n >> k;
for (int i = 1; i <= n; ++i) cin >> a[i];
for (int i = 1, x; i <= n; ++i) {
cin >> x;
pre[i] = pre[i - 1] + (1 - x) * a[i];
cnt += x * a[i];
}
for (int i = k; i <= n; ++i) mx = max(mx, pre[i] - pre[i - k]);
cout << cnt + mx;
return 0;
}
D - 以旧换新
可以DFS剪枝搜索,也可以排序以后比较ASCII值做交换
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 10, mod = 1e9 + 7;
void solve() {
string a, b;
cin >> a >> b;
sort(a.begin(), a.end());
for (int i = 0; i < a.length(); i++)
for (int j = i + 1; j < a.length(); j++) {
string t = a;
swap(t[i], t[j]);
if (stoll(t) > stoll(a) && stoll(t) <= stoll(b)) a = t;
}
cout << a << endl;
}
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
solve();
return 0;
}
20级训练赛Round #4的更多相关文章
- NOIP2018 20天训练
Day 0 2018.10.20 其实写的时候已经是Day 1了--(凌晨两点) 终于停课了,爽啊 get树状数组+线段树(延迟标记) 洛谷:提高组所有nlogn模板+每日一道搜索题(基本的图的遍历题 ...
- GDOI模拟赛Round 1
GDOI模拟赛Round 1 数据结构 题目描述:给出一个长度为\(n\)的序列,支持两种操作: 1.对某段区间都加上一个数 2.给出\(p.k\),求下面表示式对\((10^9+7)\)取模 \[\ ...
- 10.0.0.55_12-16训练赛部分writeup
0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...
- Contest1592 - 2018-2019赛季多校联合新生训练赛第二场(部分题解)
Contest1592 - 2018-2019赛季多校联合新生训练赛第二场 D 10248 修建高楼(模拟优化) H 10252 组装玩具(贪心+二分) D 传送门 题干 题目描述 C 市有一条东西走 ...
- Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)
Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...
- 7.30 正睿暑期集训营 A班训练赛
目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...
- “玲珑杯”线上赛 Round #17 河南专场
闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...
- HDU6578 2019HDU多校训练赛第一场 1001 (dp)
HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...
- HDU6579 2019HDU多校训练赛第一场1002 (线性基)
HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...
- ACM训练赛:第20次
这次的题思维都很强,等之后的考试结束会集中精力重新训练一些思维题. A - A simple question CodeForces - 520B 思路: 直接看的话,很容易发现如果 \(n > ...
随机推荐
- Jupyter Notebook 使用与安装
简介 Jupyter Notebook就是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序.如在编程过程中需要编写说明文档,可在同一个页面中直接编写 ...
- [CF1849F] XOR Partition
XOR Partition 题目描述 For a set of integers $ S $ , let's define its cost as the minimum value of $ x \ ...
- [ARC145D] Non Arithmetic Progression Set
Problem Statement Construct a set $S$ of integers satisfying all of the conditions below. It can be ...
- [ABC265F] Manhattan Cafe
Problem Statement In an $N$-dimensional space, the Manhattan distance $d(x,y)$ between two points $x ...
- MySQL 8.0.32 InnoDB ReplicaSet 配置和手动切换
1.环境准备 主库:192.168.137.4 mytest3 从库:192.168.137.5 mytest4 MySQL: 8.0.32 2.配置 ReplicaSet 实例 启动 mysql s ...
- C++ Qt开发:Charts折线图绘制详解
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts ...
- Codeforces Round 911 (Div. 2) 总结
第一次在赛场上敲莫反,还好最后调出来了! A 题意:你在Minecraft里挖了一些一格的坑(同一列),问你用几桶水可以填满它(可以造无限水). 解法:找大于 \(2\) 的连续段,有的话就是两桶,没 ...
- C++ 动态库热加载
C++ 动态库热加载 本文参考自 project-based-learning 中的 Build a Live Code-reloader Library for C++,主要内容都来自于其中,但是对 ...
- 斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论
前言 UE C++在国内目前还处于比较新的一个领域,网上能找到的教程多为蓝图教程,且质量良莠不齐.终于在B站找到了外网搬运的斯坦福UE C++课程,目前看下来是一个完整的ARPG游戏实例教学,对于入门 ...
- C++ 观察者模式实现
观察者模式 主体(被观察者)通知一个或多个观察者状态改变/数据更新/事件发生. 描述 C++ 实现观察者模式有几个要点: 观察者都有一个共同的抽象基类 Listener,定义了一个纯虚接口 OnNot ...