Codeforces Round #624 (Div. 3) (A~D,CD Good)
比赛链接:Here
1311A. Add Odd or Subtract Even
签到题,
- \(a > b\) 时必须做做减法,如果差值为偶数的话只需要 \(1\) 次不然做一次减法后再做一次 \(+1\) 即可
- \(a < b\) 同理了
- \(a = b\) 0次
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
ll a, b;
cin >> a >> b;
if (a == b) cout << "0\n";
else if (a > b) {
if ((a - b) & 1) cout << "2\n";
else cout << "1\n";
} else {
if ((a - b) & 1) cout << "1\n";
else cout << "2\n";
}
}
}
1311B. WeirdSort
题意:给出长度为 \(n\) 的数组以及长度为 \(m\) 的允许进行 \(swap(a[i],a[i + 1])\) 的下标,
问经过若干次之后是否能使得数组有序
思路:
注意到 \(n\le 100\) 那么我可以直接跑若干次循环对于 \(a[i] < a[i + 1]\) 的地方交换 (前提是允许交换),
如果最后有序了就输出 YES
const int N = 110;
int a[N], st[N];
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; ++i) cin >> a[i];
memset(st, 0, sizeof(st));
for (int i = 1, x; i <= m; ++i) cin >> x, st[x] = 1;
for (int i = 0; i < n; ++i)
for (int j = 1; j < n; ++j)
if (a[j] > a[j + 1] and st[j]) swap(a[j], a[j + 1]);
bool f = 1;
for (int i = 1; i < n and f; ++i) if (a[i] > a[i + 1]) f = 0;
cout << (f ? "YES\n" : "NO\n");
}
}
1311C. Perform the Combo
题意:给一个长度为n的字符串 会犯m个错误 每次犯错误就要重新输入
问你所有字母共打了多少次?
思路:
似乎很多人用前缀和写的,
我的思路是在某个位置去二分找是否有若干次在它之后会出错的次数并累计即可。
int cnt[300];
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
memset(cnt, 0, sizeof(cnt));
int n, m;
string s;
cin >> n >> m >> s;
vector<int>p;
for (int i = 0, x; i < m; ++i) {
cin >> x;
p.emplace_back(x);
}
sort(p.begin(), p.end());
for (int i = 0; i < n; ++i) {
int t = p.end() - lower_bound(p.begin(), p.end(), i + 1);
cnt[s[i]] += 1 + t;
// cout << s[i] << ": " << t << "\n";
}
for (auto c = 'a'; c <= 'z'; ++c) cout << cnt[c] << " ";
cout << "\n";
}
}
1311D. Three Integers
题意:
给了\(a、b、c\) 三个数,现在你可以对任意一个数进行任意次数的 \(+1\) 和 \(-1\) 问你最少操作次数让\(b\%a=0,c\%b=0\)
思路:
那 \(a,b,c\) 改变的最大范围也就是 \([1,10000]\),直接枚举就可以,但是 \(10000^3\) 明显是会超时的。这里稍微优化一下。
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
int a, b, c;
cin >> a >> b >> c;
int aa = a, bb = b, cc = c;
int cnt = INT_MAX;
for (int i = 1; i <= 11000; ++i)
for (int j = 1; i * j <= 11000; ++j)
for (int k = 1; i * j * k <= 11000; ++k) {
if (cnt > abs(i - a) + abs(i * j - b) + abs(i * j * k - c)) {
cnt = abs(i - a) + abs(i * j - b) + abs(i * j * k - c);
aa = i, bb = i * j, cc = i * j * k;
}
}
cout << cnt << "\n" << aa << " " << bb << " " << cc << "\n";
}
}
Codeforces Round #624 (Div. 3) (A~D,CD Good)的更多相关文章
- Codeforces Round #624 (Div. 3)(题解)
Codeforces Round #624 (Div.3) 题目地址:https://codeforces.ml/contest/1311 B题:WeirdSort 题意:给出含有n个元素的数组a,和 ...
- Codeforces Round #395 (Div. 2)(A.思维,B,水)
A. Taymyr is calling you time limit per test:1 second memory limit per test:256 megabytes input:stan ...
- Codeforces Round #624 (Div. 3) F. Moving Points 题解
第一次写博客 ,请多指教! 翻了翻前面的题解发现都是用树状数组来做,这里更新一个 线段树+离散化的做法: 其实这道题是没有必要用线段树的,树状数组就能够解决.但是个人感觉把线段树用熟了会比树状数组更有 ...
- Codeforces Round #624 (Div. 3) C. Perform the Combo(前缀和)
You want to perform the combo on your opponent in one popular fighting game. The combo is the string ...
- Codeforces Round #249 (Div. 2) C题,模拟画图 ----未解决!
http://codeforces.com/contest/435/problem/C
- Codeforces Round #258 (Div. 2)(A,B,C,D)
题目链接 A. Game With Sticks time limit per test:1 secondmemory limit per test:256 megabytesinput:standa ...
- Codeforces Round #263 (Div. 2)C(贪心,联想到huffman算法)
数学家伯利亚在<怎样解题>里说过的解题步骤第二步就是迅速想到与该题有关的原型题.(积累的重要性!) 对于这道题,可以发现其实和huffman算法的思想很相似(可能出题人就是照着改编的).当 ...
- Codeforces Round #323 (Div. 2) B 贪心,暴力
B. Robot's Task time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- Codeforces Round #375 (Div. 2)【A,B【模拟】,D【DFS】】
PS_B:阿洗吧!B题卧槽数组开了250... PS_D:D题主要挂在了50*50口算得了250,数组开小,然后一开始还错了.= =哎,以后对于数据范围还是注意一点: 卧槽,这场可真二百五了... A ...
- Codeforces Round #374 (Div. 2)【A,B,C】
= =C题这种DP打的少吧,记得以前最短路分层图打过这样子的,然后比赛前半个小时才恍然大雾...然后瞎几把还打错了,还好A,B手速快..上分了: A题: 计算B的连续个数的组数,每组的连续个数: 水题 ...
随机推荐
- java笔记——面向对象
1.概述:面向对象是基于面向过程的编程思想 举例:把大象装进冰箱 2.开发:不断的创建对象,使用对象,指挥对象做事情 3.面向对象特征:封装 , 继承 , 多态 4.类和对象的关系: 类是一组相关的属 ...
- ConcurrentModificationException日志关键字报警引发的思考
本文将记录和分析日志中的ConcurrentModificationException关键字报警,还有一些我的思考,希望对大家有帮助. 一.背景 近期,在日常的日志关键字报警分析时,发现我负责的一个电 ...
- [CF1748E] Yet Another Array Counting Problem
题目描述 The position of the leftmost maximum on the segment $ [l; r] $ of array $ x = [x_1, x_2, \ldots ...
- hszxoj 货车运输 [lca]
题目链接: hszxoj 货车运输 题目描述与思路 简化题目: 求 \(x\)到 \(y\) 两点间路径的边权最小值的最大值 与之前的最短路最大的不同是这道题是多源最短路,那么 \(spfa\) 就废 ...
- svn、git服务器配置进程方式网关不生效常见处理方法
过华企盾DSC防泄密系统配置svn或者git服务器的时候,网关不生效如何解决? 1.先在cmd中运行一下命令netstat -ano|findstr "8080" 找到svn.gi ...
- 数字孪生和GIS结合能为智慧社区带来怎样的改变?
数字孪生和地理信息系统(GIS)是当今智慧社区发展中的两个重要技术,它们的结合将为智慧社区带来根本性的改变和巨大的发展机遇.这种结合将深刻影响社区的规划.建设.运营和管理,为居民创造更智能.便利.宜居 ...
- auto{x}与auto(x)---一位中国小伙为cppreference作出的贡献
C++作为一门静态类型语言,是需要程序员声明变量类型的.然而来到了C++11,auto的诞生使得变量声明变得及为方便,尤其是对于比较长的模板类型,auto一定程度上为代码编写者减轻了负担.到了C+ ...
- 已解决:若依更换日志EasyExcel框架导出报错 java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader
先描述一下当时的场景 回忆 看到出错了,我就想可能是哪个路径写错了,或者导依赖名字写对,或者说是多了少了标点符号什么的. 然而,还是想简单了,检查重启后发现问题并没有解决. 于是就把所有我改过的地方检 ...
- HP LoadRunner 11.00安装+破解+汉化
里面包含多个破解码,最高支持6.5w个并发: https://blog.csdn.net/xianjie0318/article/details/78625980
- 云MSP技本功|基于OGG 实现Oracle到Kafka增量数据实时同步
简介: 在大数据时代,存在大量基于数据的业务.数据需要在不同的系统之间流动.整合.通常,核心业务系统的数据存在OLTP数据库系统中,其它业务系统需要获取OLTP系统中的数据.传统的数仓通过批量数据同步 ...