Codeforces Round #730 (Div. 2) A~D题个人题解
比赛链接:Here
1543A. Exciting Bets
math,
给定两个数字 \(a,b (a,b \le 1e18)\) 和以下两种操作:
- \(a + 1,b+1\)
- \(a-1,b-1\ if\ a > 0\) 并且 $ b > 0$
请问经过最少多少次操作能使得 \(GCD(a,b)\) 最大化
注意:\(GCD(x,0)=x\)
输出 \(max(GCD(a,b)),min(cnt)\)
- 如果 \(a = b\) 那么直接输出 \(0,0\)
- 否则,能获得的最大 \(GCD(a,b) = |a-b|\) ,对于实现次数为 \(min(a\ mod\ g,g - a\ mod\ g)\)
【AC Code】
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
ll a, b;
cin >> a >> b;
if (a == b)cout << "0 0\n";
else {
ll g = abs(a - b);
ll m = min(a % g, g - a % g);
cout << g << " " << m << "\n";
}
}
}
1543B. Customising the Track
给定数组 \(a\) ,给定以下操作:
可以把任意值的 \(a_i\) 转移给 \(a_j\)
求最小化 \(\sum\limits_{i = 1}^n\sum\limits_{j = i + 1}^n|a_i-a_j|\)
要最小化 \(\sum\limits_{i = 1}^n\sum\limits_{j = i + 1}^n|a_i-a_j|\) ,简单贪 \(a_i = a_j\)
如果 数组数值总和不能平均分配则把不能平均分配的数都化 1
【AC Code】
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
int n; cin >> n;
ll sum = 0;
for (int i = 0; i < n; ++i) {
ll x; cin >> x;
sum += x;
}
ll t = sum / n, tt = sum % n;
cout << sum % n * (n - (sum - t * n)) << "\n";
}
}
1543C. Need for Pink Slips
(题意太长,翻译不过来)
精度!精度!还是精度!
能用
long double就不用double
【AC Code】
using ld = long double;
const ld eps = 1e-9;
const ld scale = 1e+6;
ld solve(int c, int m, int p, int v) {
ld ans = p / scale;
if (c > 0) {
if (c > v) {
if (m > 0) ans += (c / scale) * (1 + solve(c - v, m + v / 2, p + v / 2, v));
else ans += (c / scale) * (1 + solve(c - v, 0, p + v, v));
} else {
if (m > 0) ans += (c / scale) * (1 + solve(0, m + c / 2, p + c / 2, v));
else ans += (c / scale) * (1 + solve(0, 0, p + c, v));
}
}
if (m > 0) {
if (m > v) {
if (c > 0) ans += (m / scale) * (1 + solve(c + v / 2, m - v, p + v / 2, v));
else ans += (m / scale) * (1 + solve(0, m - v, p + v, v));
} else {
if ( c > 0) ans += (m / scale) * (1 + solve(c + m / 2, 0, p + m / 2, v));
else ans += (m / scale) * (1 + solve(0, 0, p + m, v));
}
}
return ans;
}
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
ld cd, md, pd, vd;
cin >> cd >> md >> pd >> vd;
int c = round(cd * scale);
int m = round(md * scale);
int p = round(pd * scale);
int v = round(vd * scale);
ld ans = solve(c, m, p, v);
cout << setprecision(12) << fixed << ans << "\n";
}
}
1543D1. RPD and Rap Sheet (Easy Version)
(说实话,没看懂这题;
赛后学习一下 Pecco神 的代码
【AC Code】
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
int n, x, s = 0;
cin >> n >> x;
for (int i = 0; i < n; ++i) {
int y = (i ^ s), ok;
cout << y << "\n"
<< flush;
cin >> ok;
if (ok) break;
s ^= y;
}
}
}
Codeforces Round #730 (Div. 2) A~D题个人题解的更多相关文章
- Codeforces Round #609 (Div. 2)前五题题解
Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...
- Codeforces Round #310 (Div. 2)--A(简单题)
http://codeforces.com/problemset/problem/556/A 题意:给一个01字符串,把所有相邻的0和1去掉,问还剩下几个0和1. 题解:统计所有的0有多少个,1有多少 ...
- Codeforces Round #416 (Div. 2)(A,思维题,暴力,B,思维题,暴力)
A. Vladik and Courtesy time limit per test:2 seconds memory limit per test:256 megabytes input:stand ...
- Codeforces Round #336 (Div. 2)-608A.水题 608B.前缀和
A题和B题... A. Saitama Destroys Hotel time limit per test 1 second memory limit per test 256 megabyte ...
- Codeforces Round #316 (Div. 2) (ABC题)
A - Elections 题意: 每一场城市选举的结果,第一关键字是票数(降序),第二关键字是序号(升序),第一位获得胜利. 最后的选举结果,第一关键字是获胜城市数(降序),第二关键字是序号(升序) ...
- Codeforces Round #590 (Div. 3)【D题:26棵树状数组维护字符出现次数】
A题 题意:给你 n 个数 , 你需要改变这些数使得这 n 个数的值相等 , 并且要求改变后所有数的和需大于等于原来的所有数字的和 , 然后输出满足题意且改变后最小的数值. AC代码: #includ ...
- Codeforces Round #590 (Div. 3)【D题:维护26棵树状数组【好题】】
A题 题意:给你 n 个数 , 你需要改变这些数使得这 n 个数的值相等 , 并且要求改变后所有数的和需大于等于原来的所有数字的和 , 然后输出满足题意且改变后最小的数值. AC代码: #includ ...
- Codeforces Round #599 (Div. 2)的简单题题解
难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...
- A. Yellow Cards ( Codeforces Round #585 (Div. 2) 思维水题
---恢复内容开始--- output standard output The final match of the Berland Football Cup has been held recent ...
- Codeforces Round #525 (Div. 2)后俩题
E:https://codeforces.com/contest/1088/problem/E dp+贪心 题目大意:选择一个k并且选择k个连通块,要求sigma a[i]/k最大,k尽量大,对于给定 ...
随机推荐
- 2020牛客多校第一场B(虚树)
参考博客 #include<cstdio> typedef long long ll; const int N = 2e5 + 50; int n, cnt, top, tot; int ...
- 存储器 Memory
缩写 全称 翻译 用途 RAM Random Access Memory 随机存储器 SRAM Static RAM 静态RAM MCU的片上RAMCPU的L1.L2 cache DRAM Dynam ...
- Linux笔记02: Linux环境_2.2 Linux系统安装
2.2 Linux系统 本文使用的Linux系统为CentOS 7.9.2009,读者可以根据自己的需要选择不同的版本. 2.2.1 CentOS版本 CentOS基本上是安装在i386.x86_64 ...
- [ABC284G] Only Once
Problem Statement For a sequence of length $N$, $A = (A_1,A_2,\dots,A_N)$, consisting of integers be ...
- 【YOLOv5】实现扑克牌的点数识别
前言 其实年初的时候,我也跟着别人的源码,用 Tensoflow 实现过扑克牌的目标检测.虽然也通过博文的方式记录了,但是那个项目使用的 TF 版本比较旧,自身对 TF 并不熟.后期如果说要升级或修改 ...
- 记录一个异常 Gradle打包项目Lombok不生效 No serializer found for class com.qbb.User and no properties discovered to create BeanSerializer......
完整的错误: 03-Dec-2022 16:57:22.941 涓ラ噸 [http-nio-8080-exec-5] org.apache.catalina.core.StandardWrapperV ...
- ES索引误删的名场面
ES索引误删的名场面 慌了3秒,果断发个邮件: 01 最近,在版本发布时: ES线上未备份的索引,被当场「误删」了: 对于新手来说,妥妥的社死名场面: 对于老手来说,慌它3秒表示一下态度: 当时的情况 ...
- 【2016】开机出现 system32\config\system,代码:0xc00000e9解决方法
这是16年刚工作时写的笔记,也带来这里做个记录吧.实际工作这几年里也时不时会遇到,大多数和非正常关机有关系 今天早上,就在刚才,一个同事的电脑开不了机了,开机提示的是system32\config\s ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-36-处理web页面定位toast-下篇
1.简介 按理说,现在这种一闪而过的toast的已经相当普及或者是见怪不怪了,应该网上的大网站会用到的,偶然的在一次租房中,看到了这种场景,所以宏哥决定将其拿来主义,进行演示实践一下. 2.租房网站 ...
- AutoGPT实战
1.概述 人工智能(AI)的能力持续在全球范围内引起轰动,并对我们日常生活和职业生涯带来重大变革.随着像ChatGPT这样的先进生成型AI模型以及从GPT-3到GPT-4的加速,我们在高级推理.理解更 ...