Solution Set -「ABC 205」
应该是最近最水的 ABC 了吧。
「ABC 205A」kcal
Link.
略
#include <bits/stdc++.h>
using ll = long long;
#define all(x) (x).begin(), (x).end()
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
ll a, b;
std::cin >> a >> b;
std::cout << b * a / 100.0 << "\n";
return 0;
}
「ABC 205B」Permutation Check
Link.
排序 / std::set 均可。
#include <bits/stdc++.h>
using ll = long long;
#define all(x) (x).begin(), (x).end()
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
int n, cur = 0;
std::cin >> n;
std::vector<int> a(n);
for (int &x : a) {
std::cin >> x;
--x;
}
std::sort(all(a));
for (int x : a) {
if (cur != x) {
std::cout << "No\n";
return 0;
}
++cur;
}
std::cout << "Yes\n";
return 0;
}
「ABC 205C」POW
Link.
若 \(c\) 为偶数则 \(a:=|a|,b:=|b|\),然后比较 \(a,b\) 大小即可。
#include <bits/stdc++.h>
using ll = long long;
#define all(x) (x).begin(), (x).end()
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
int a, b, c;
std::cin >> a >> b >> c;
if (c % 2 == 0) {
a = std::abs(a);
b = std::abs(b);
}
if (a > b) std::cout << ">\n";
else if (a < b) std::cout << "<\n";
else std::cout << "=\n";
return 0;
}
「ABC 205D」Kth Excluded
Link.
预处理每一个数空出来的位置,然后询问时二分分类讨论。
#include <bits/stdc++.h>
using ll = long long;
#define all(x) (x).begin(), (x).end()
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
int n, q;
std::cin >> n >> q;
std::vector<ll> a(n), b(n);
for (ll &x : a) std::cin >> x;
for (size_t i = 0; i < a.size(); ++i) b[i] = a[i] - i - 1;
for (ll k; q; --q) {
std::cin >> k;
ll pos = std::lower_bound(all(b), k) - b.begin();
if (pos == n) std::cout << a.back() + k - b.back() << "\n";
else std::cout << a[pos] - b[pos] + k - 1 << "\n";
}
return 0;
}
「ABC 205E」White and Black Balls
Link.
答案显然是 \(\binom{n+m}{n}-\binom{n+m}{n-k-1}\)。
#include <bits/stdc++.h>
using ll = long long;
#define all(x) (x).begin(), (x).end()
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
constexpr int MOD = 1e9 + 7;
int n, m, k;
std::cin >> n >> m >> k;
std::vector<ll> fac(n + m + 1), ifac(n + m + 1);
auto pow = [&] (ll x, int y) {
ll res = 1;
for (; y; y >>= 1, x = x * x % MOD)
if (y & 1) res = res * x % MOD;
return (res + MOD) % MOD;
};
fac[0] = ifac[0] = 1;
for (int i = 1; i < n + m + 1; ++i) {
fac[i] = fac[i - 1] * i % MOD;
ifac[i] = pow(fac[i], MOD - 2);
}
auto C = [&] (int n, int k) {return n < k ? 0 : fac[n] * ifac[n - k] % MOD * ifac[k] % MOD;};
if (n - m > k) std::cout << "0\n";
else std::cout << (C(n + m, n) - C(n + m, n - k - 1) + MOD) % MOD << "\n";
return 0;
}
「ABC 205F」Grid and Tokens
Link.
网络流板题。
#include <bits/stdc++.h>
#include <atcoder/maxflow>
using ll = long long;
#define all(x) (x).begin(), (x).end()
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
int h, w, n;
std::cin >> h >> w >> n;
std::vector<std::vector<int>> obj(n, std::vector<int>(2));
std::vector<int> row(h), col(w);
auto id = [&] () {
static int cnt = 0;
return cnt++;
};
const int S = id(), T = id();
for (int &x : row) x = id();
for (int &x : col) x = id();
for (std::vector<int> &x : obj) x = std::vector<int>({id(), id()});
atcoder::mf_graph<int> G(id());
for (int x : row) G.add_edge(S, x, 1);
for (int x : col) G.add_edge(x, T, 1);
for (int i = 0; i < n; ++i) {
int a, b, c, d;
std::cin >> a >> b >> c >> d;
--a, --b;
G.add_edge(obj[i][0], obj[i][1], 1);
for (int j = a; j < c; ++j) G.add_edge(row[j], obj[i][0], 1);
for (int j = b; j < d; ++j) G.add_edge(obj[i][1], col[j], 1);
}
std::cout << G.flow(S, T) << "\n";
return 0;
}
Solution Set -「ABC 205」的更多相关文章
- Solution Set -「ABC 217」
大家好屑兔子又来啦! [A - Lexicographic Order] 说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...
- Diary / Solution Set -「WC 2022」线上冬眠做噩梦
大概只有比较有意思又不过分超出能力范围的题叭. 可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics 任意一个 ...
- Solution Set -「ARC 107」
「ARC 107A」Simple Math Link. 答案为: \[\frac{a(a+1)\cdot b(b+1)\cdot c(c+1)}{8} \] 「ARC 107B」Quadrup ...
- Solution -「ABC 219H」Candles
\(\mathcal{Description}\) Link. 有 \(n\) 支蜡烛,第 \(i\) 支的坐标为 \(x_i\),初始长度为 \(a_i\),每单位时间燃烧变短 \(1\) ...
- Solution -「ABC 215H」Cabbage Master
\(\mathcal{Description}\) Link. 有 \(n\) 种颜色的,第 \(i\) 种有 \(a_i\) 个,任意两球互不相同.还有 \(m\) 个盒子,每个盒子可以被放 ...
- Solution -「ABC 213G」Connectivity 2
\(\mathcal{Description}\) Link. 给定简单无向图 \(G=(V,E)\),点的编号从 \(1\) 到 \(|V|=n\).对于 \(k=2..n\),求 \(H= ...
- Solution -「ABC 213H」Stroll
\(\mathcal{Description}\) Link. 给定一个含 \(n\) 个结点 \(m\) 条边的简单无向图,每条边的边权是一个常数项为 \(0\) 的 \(T\) 次多项式, ...
- Solution -「ABC 217」题解
D - Cutting Woods 记录每一个切割点,每次求前驱后驱就好了,注意简单判断一下开闭区间. 考场上采用的 FHQ_Treap 无脑莽. #include <cstdio> #i ...
- 「ABC 249Ex」Dye Color
考虑停时定理. 初始势能为 \(\sum \Phi(cnt_i)\),末势能为 \(\Phi(n)\),我们希望构造这样一个 \(\Phi:Z\to Z\) 函数,使得每一次操作期望势能变化量为常数. ...
- Note -「Lagrange 插值」学习笔记
目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...
随机推荐
- 【Photoshop】切图保存小坑(选择png格式得到gif问题)
默认情况下:Photoshop 导出切片为[GIF]格式 当你很嗨皮的把[GIF]调整为[PNG]或[JPG]格式,并保存时: 你会发现,自己的图片格式莫名其妙还是[GIF]: 但,我们的期望是: 原 ...
- Redis数据结构:高频面试题及解析
概述 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射. 键的类型只能为字符串,值支持五种数据类型:字符串.列表.集合.散列表.有序集合. Red ...
- 对象存储?CRUD Boy实现对文件的增删改查
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教. 以下是正文! 对象存储是什么? 对象存储是一种数据 ...
- vivo 游戏黑产反作弊实践
作者:vivo 互联网安全团队 - Cai Yifan 在数字化.移动化的浪潮下,游戏产业迅速发展,尤其疫情过后许多游戏公司业务迎来新的增长点. 游戏行业从端游开始一直是黑灰产活跃的重要场景.近年来, ...
- ArrayList 扩容机制
ArrayList 基本介绍 ArrayList实现了List接口.它可以存储包括null的任何类型的对象,允许重复元素.ArrayList在内部使用一个数组来存储元素,当元素数量超过数组容量时,Ar ...
- Go 语言 context 都能做什么?
原文链接: Go 语言 context 都能做什么? 很多 Go 项目的源码,在读的过程中会发现一个很常见的参数 ctx,而且基本都是作为函数的第一个参数. 为什么要这么写呢?这个参数到底有什么用呢? ...
- Java使用qq邮箱发送邮件(可做验证码使用)
pom.xml中导入发邮件需要的jar包 <!-- 邮箱 --> <dependency> <groupId>javax.mail</groupId> ...
- ZEGO 即构音乐场景降噪技术解析
随着线上泛娱乐的兴起,语聊房.在线 KTV 以及直播等场景在人们的日常生活中占据越来越重要的地位,用户对于音质的要求也越来越高,因此超越传统语音降噪算法的 AI 降噪算法应运而生,所以目前各大 RTC ...
- keycloak~AbstractJsonUserAttributeMapper的作用
AbstractJsonUserAttributeMapper 它是一个抽象类,用来更新条件更新用户属性(user_attribute)的信息,我们在实现自己的mapper时,需要关注3个方法,下面分 ...
- 离线自动化部署CDH
离线CDH集群自动化部署工具 离线CDH集群安装与部署的自动化脚本工具,简单支持「离线一键装机」. 脚本将对系统配置做出一定修改,使用前请务必确认当前服务器无其他人员.任务使用,以免造成不必要的麻烦, ...