比赛链接: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题个人题解的更多相关文章

  1. Codeforces Round #609 (Div. 2)前五题题解

    Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...

  2. Codeforces Round #310 (Div. 2)--A(简单题)

    http://codeforces.com/problemset/problem/556/A 题意:给一个01字符串,把所有相邻的0和1去掉,问还剩下几个0和1. 题解:统计所有的0有多少个,1有多少 ...

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

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

  5. Codeforces Round #316 (Div. 2) (ABC题)

    A - Elections 题意: 每一场城市选举的结果,第一关键字是票数(降序),第二关键字是序号(升序),第一位获得胜利. 最后的选举结果,第一关键字是获胜城市数(降序),第二关键字是序号(升序) ...

  6. Codeforces Round #590 (Div. 3)【D题:26棵树状数组维护字符出现次数】

    A题 题意:给你 n 个数 , 你需要改变这些数使得这 n 个数的值相等 , 并且要求改变后所有数的和需大于等于原来的所有数字的和 , 然后输出满足题意且改变后最小的数值. AC代码: #includ ...

  7. Codeforces Round #590 (Div. 3)【D题:维护26棵树状数组【好题】】

    A题 题意:给你 n 个数 , 你需要改变这些数使得这 n 个数的值相等 , 并且要求改变后所有数的和需大于等于原来的所有数字的和 , 然后输出满足题意且改变后最小的数值. AC代码: #includ ...

  8. Codeforces Round #599 (Div. 2)的简单题题解

    难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...

  9. A. Yellow Cards ( Codeforces Round #585 (Div. 2) 思维水题

    ---恢复内容开始--- output standard output The final match of the Berland Football Cup has been held recent ...

  10. Codeforces Round #525 (Div. 2)后俩题

    E:https://codeforces.com/contest/1088/problem/E dp+贪心 题目大意:选择一个k并且选择k个连通块,要求sigma a[i]/k最大,k尽量大,对于给定 ...

随机推荐

  1. 热烈祝贺:薪火数据(https://www.datainside.com.cn 数据中心低代码搭建平台)参加教育博览会取得圆满成功。

  2. 【源码系列#03】Vue3计算属性原理(Computed)

    专栏分享:vue2源码专栏,vue3源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位ITer关注点赞收藏 语法 传入一个 getter 函数,返回一个默认不可手动修改的 ref ...

  3. 18、defer

    1.defer是什么? 字面意思来看,defer是延迟,推迟的意思 在go语言中,使用defer关键字来延迟一个函数或者方法的执行 2.defer能干嘛? 对象.close(),临时文件的删除 文件. ...

  4. IDEA在new对象的时候不显示其parameter

    问题现象 最近安装了一个IDEA2023.1版本,出现了new对象不显示相关构造参数 解决办法 在IDEA的设置中开启相关提示 勾选上面的几个设置,保存 效果

  5. MySQL中IN()按照指定列指定规则排序

    现在我有这么一个需求,我需要通过IN(id1,id2,......)查询id字段,并且id字段按照IN()中的顺序排序 例如:IN(5,1,2,4) ===> 查询出来的结果也应该为 5,1,2 ...

  6. Python实现贪吃蛇大作战

    贪吃蛇 初始版本 初始版本,只存在基本数据结构--双向队列. 游戏思路 贪吃蛇通过不断得吃食物来增长自身,如果贪吃蛇碰到边界或者自身则游戏失败. 食物是绿色矩形来模拟,坐标为随机数生成,定义一个蛇长变 ...

  7. MyBatisPlus-使用步骤

    MyBatisPlus-使用步骤 第一步 引入maven坐标依赖 <dependency> <groupId>com.baomidou</groupId> < ...

  8. ElasticSearch之Open index API

    打开指定的索引. 命令样例如下: curl -X POST "https://localhost:9200/testindex_003/_open?pretty" --cacert ...

  9. 红日靶场2-wp

    红日靶场2 环境搭建 靶场配置 靶场拓扑图如下: 首先先新建一个网卡, PC PC端虚拟机相当于网关服务器,所以需要两张网卡,一个用来向外网提供web服务,一个是通向内网. 由于作者默认的网段设置为1 ...

  10. 如何清理Docker不用的Volume

    有一句老话叫:书到用时方恨少. 其实电脑的内存空间也是非常宝贵,特别是MacOS下的docker可以分配的空间更是寸土寸金. 在21年的时候我也遇到过类似的问题,当时的经历记录在这篇博客:https: ...