给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的更多相关文章

  1. NOIP2018 20天训练

    Day 0 2018.10.20 其实写的时候已经是Day 1了--(凌晨两点) 终于停课了,爽啊 get树状数组+线段树(延迟标记) 洛谷:提高组所有nlogn模板+每日一道搜索题(基本的图的遍历题 ...

  2. GDOI模拟赛Round 1

    GDOI模拟赛Round 1 数据结构 题目描述:给出一个长度为\(n\)的序列,支持两种操作: 1.对某段区间都加上一个数 2.给出\(p.k\),求下面表示式对\((10^9+7)\)取模 \[\ ...

  3. 10.0.0.55_12-16训练赛部分writeup

    0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...

  4. Contest1592 - 2018-2019赛季多校联合新生训练赛第二场(部分题解)

    Contest1592 - 2018-2019赛季多校联合新生训练赛第二场 D 10248 修建高楼(模拟优化) H 10252 组装玩具(贪心+二分) D 传送门 题干 题目描述 C 市有一条东西走 ...

  5. Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)

    Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...

  6. 7.30 正睿暑期集训营 A班训练赛

    目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...

  7. “玲珑杯”线上赛 Round #17 河南专场

    闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...

  8. HDU6578 2019HDU多校训练赛第一场 1001 (dp)

    HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...

  9. HDU6579 2019HDU多校训练赛第一场1002 (线性基)

    HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...

  10. ACM训练赛:第20次

    这次的题思维都很强,等之后的考试结束会集中精力重新训练一些思维题. A - A simple question CodeForces - 520B 思路: 直接看的话,很容易发现如果 \(n > ...

随机推荐

  1. Jupyter Notebook 使用与安装

    简介 Jupyter Notebook就是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序.如在编程过程中需要编写说明文档,可在同一个页面中直接编写 ...

  2. [CF1849F] XOR Partition

    XOR Partition 题目描述 For a set of integers $ S $ , let's define its cost as the minimum value of $ x \ ...

  3. [ARC145D] Non Arithmetic Progression Set

    Problem Statement Construct a set $S$ of integers satisfying all of the conditions below. It can be ...

  4. [ABC265F] Manhattan Cafe

    Problem Statement In an $N$-dimensional space, the Manhattan distance $d(x,y)$ between two points $x ...

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

  6. C++ Qt开发:Charts折线图绘制详解

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts ...

  7. Codeforces Round 911 (Div. 2) 总结

    第一次在赛场上敲莫反,还好最后调出来了! A 题意:你在Minecraft里挖了一些一格的坑(同一列),问你用几桶水可以填满它(可以造无限水). 解法:找大于 \(2\) 的连续段,有的话就是两桶,没 ...

  8. C++ 动态库热加载

    C++ 动态库热加载 本文参考自 project-based-learning 中的 Build a Live Code-reloader Library for C++,主要内容都来自于其中,但是对 ...

  9. 斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论

    前言 UE C++在国内目前还处于比较新的一个领域,网上能找到的教程多为蓝图教程,且质量良莠不齐.终于在B站找到了外网搬运的斯坦福UE C++课程,目前看下来是一个完整的ARPG游戏实例教学,对于入门 ...

  10. C++ 观察者模式实现

    观察者模式 主体(被观察者)通知一个或多个观察者状态改变/数据更新/事件发生. 描述 C++ 实现观察者模式有几个要点: 观察者都有一个共同的抽象基类 Listener,定义了一个纯虚接口 OnNot ...