Codeforces Round #587 (Div. 3)
题目链接:https://codeforces.com/contest/1216
A:
题意:给出一个仅有a,b组成的字符串,可执行操作把a换成b,b换成a,问最小操作次数,使得任意前偶数里a,b的数量相等。
idea:遍历一遍就好了,不满足条件的就换。
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 int n, ans; 8 string a; 9 10 int main() 11 { 12 cin >> n >> a; 13 int len = n; 14 if (n % 2 != 0) len -= 1; 15 16 for (int i = 0; i < len; i ++ ) 17 { 18 if (a[i] == 'a') 19 { 20 if (a[i + 1] == 'b') i ++ ; 21 else 22 { 23 a[i + 1] = 'b'; 24 ans ++ ; 25 i ++ ; 26 } 27 } 28 else 29 { 30 if (a[i + 1] == 'a') i ++ ; 31 else 32 { 33 a[i + 1] = 'a'; 34 ans ++ ; 35 i ++ ; 36 } 37 } 38 } 39 40 cout << ans << endl; 41 cout << a; 42 return 0; 43 44 }
View Code
B:
题意:射击n个目标,每次会有不同的消耗,问按什么顺序射击可以消耗最少。
idea:贪心,排序后,从最大的开始依次射击。
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 5 using namespace std; 6 const int MAXN = 1000 + 10; 7 int n, ans, a[MAXN], b[MAXN]; 8 9 bool cmp(int x, int y) 10 { 11 return x > y; 12 } 13 14 int main() 15 { 16 cin >> n; 17 for (int i = 0; i < n; i ++ ) 18 { 19 cin >> a[i]; 20 b[i] = a[i]; 21 } 22 23 sort(a, a + n, cmp); 24 25 for (int i = 0; i < n; i ++ ) 26 { 27 ans += a[i] * i + 1; 28 } 29 30 cout << ans << endl; 31 for (int i = 0; i < n; i ++ ) 32 { 33 for (int j = 0; j < n; j ++ ) 34 { 35 if (a[i] == b[j]) 36 { 37 cout << j + 1 << " "; 38 b[j] = -1; 39 } 40 } 41 } 42 return 0; 43 }
View Code
D:
题意:n种剑,每种剑有m把,来了k个人,每人偷走了s把剑,且每个人偷走的都是同一类型的剑,以知偷走后剩余的剑的数量a1,a2 .. an,问最少偷剑的人是多少。
idea:拿剩余数量中最大的数和其它an相减,计算出相减这些数的最大公约数就是每个人偷走的剑的数量,差值除gcd累加就是人数
![](/assets/blank.gif)
![](/assets/blank.gif)
1 include <iostream> 2 #include <cstdio> 3 #include <bits/stdc++.h> 4 5 using namespace std; 6 typedef long long ll; 7 const int MAXN = 2e5 + 10; 8 ll n, a[MAXN], b[MAXN], ss; 9 10 int main() 11 { 12 scanf("%lld",&n); 13 for (int i = 0; i < n; i ++ ) 14 { 15 scanf("%lld",&a[i]); 16 ss = max(a[i], ss); 17 } 18 for (int i = 0; i < n; i ++ ) b[i] = ss - a[i]; 19 20 ll c = 0; 21 for (int i = 0; i < n; i ++ ) 22 { 23 c = __gcd(c,b[i]); 24 } 25 ll ans = 0; 26 for (int i = 0; i < n; i ++ ) 27 { 28 ans += b[i] / c; 29 } 30 cout << ans << " " << c; 31 return 0; 32 }
View Code
转载于:https://www.cnblogs.com/chuyds/p/11572650.html
Codeforces Round #587 (Div. 3)相关推荐
- Codeforces Round #587 (Div. 3) C. White Sheet 思维
传送门 文章目录 题意: 思路: 题意: 给你一个白色的矩形和俩个黑色的矩形,问白色被黑色覆盖后还能不能看到. 思路: 经典被简单题卡. 一开始写了个自我感觉很对的做法,结果wa41wa41wa41, ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
- 构造 Codeforces Round #302 (Div. 2) B Sea and Islands
题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...
- Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...
- Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...
- Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...
- Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...
- Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) F - AB Tree Problem ...
最新文章
- 3-unit5 ISCSI
- oracle 查看连接数
- 哪个男孩不想拥有这种牌面?
- 内蒙古高考2021年成绩查询,内蒙古招生考试信息网:2021年内蒙古高考查分入口、查分系统...
- 提高电脑反应速度_设计师笔记本电脑推荐——视觉系ThinkBook 15p创造本
- php ../ 和 ./ 区别,php $_POST 与 php://input的区别分析
- [转]JAVA自动装箱和拆箱
- 合肥赛区结束,继续训练提升
- could not connect to smtp host java_服务器发送邮件出现Could not connect to SMTP host错误 解决办法...
- pythoncharm设置翻译器_pyCharm 设置调试输出窗口中文显示方式(字符码转换)
- JAVA实战项目--文章发布系统
- JAVAWEB开发Myeclipse 项目中报“无法解析类型 java.io.ObjectInputStream,从必需的 .class 文件间接引用了它”解决办法
- wps中图片怎么居中_Word文档技巧—文档中图片批量居中显示
- 海盗湾(The Pirate Bay)的战争——每一名技术人员都应该思考的问题
- HBuilderX快捷键大全
- Linux上的文件类型与默认图标
- windows防火墙 程序_如何允许应用程序通过Windows防火墙进行通信
- ArcScene制作三维地图-三维模型
- 微信健身房小程序开发源码设计方案
- 简单演示程序序列号的破解
热门文章
- selenium+chromedriver监测视频流源地址时允许flash自动启用
- 什么是MyCat?为什么要用到MyCat呢?
- NodeJS文档之Buffer(1)-Buffer的简介
- 在mac下安装matplotlib,xlrd
- [整理]MySql批量数据导入Load data infile解决方案
- 【引用】如何关闭SELinux
- 使用C#开发ActiveX控件[Obsolete]
- 自已编写C# DLL 绑定到unity进程进行单步调试
- 安装安卓SDK和JDK的简便方法
- RAS RC4 AES 加密 MD5