Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3)
A.In-game Chat
题目:就是从后面数连着的‘('的个数是不是严格比剩下的字符多
思路:水题,直接从后往前遍历即可
代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main(){
char s[1500];
int t;
scanf("%d",&t);
while(t--){
// scanf("%s",&s);
int n;
int sum=0,flag=0;
scanf("%d",&n);
scanf("%s",&s);
for(int i=n-1;i>=0;i--){
if(s[i]==')'&&flag==0){
sum++;
}else{
flag=1;
}
}
if(sum>n-sum){
printf("Yes\n");
}else{
printf("No\n");
}
}
}
B.Fair Numbers
题目:一个数是公平的,当这个数可以整除它的每一位非零数。问给定一个数n,找到最小的数x(n<=x)是公平的
思路:暴力模拟就行,直接判断每个数是不是公平的即可(因为1-9的最小公倍数是2520,很小)
这个题当时看到这么多交的可能是暴力,写完以后发现最坑的地方是%0,当0是除数的情况
代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
long long int num;
int a[150];
scanf("%lld",&num);
for(long long int i=num;;i++){
long long int n=i;
int flag=0; while(n!=0){
int t=(n%10);
if(t==0){
n/=10;
continue;
}
if(i%t!=0){
flag=1;
break;
} //printf("%lld\n",i);
n/=10; }
if(flag==0){
printf("%lld\n",i);
break;
}
}
}
}
C.Peaceful Rooks
题目:一个二维平面(n×n),在平面上有m个点。在进行一次操作时,可以选择其中的一个点进行平行或者垂直移动,并且移动后这m个点的横纵坐标两两不相等,问为使这m个点都在主对角线上(坐标的横纵坐标相等)所需要的最小的移动次数是多少
思路:最原始的平移方法就是通过移动直接平移或者垂直移动到所在位置的主对角线上,通过把二维平面转换为图,然后如果存在环的话,就是这些点不能够通过上述最简单的移动方式达到,因为他们相互限制,这样的话就需要多加一步,随便一个点移除这个状态。
这个题就要记住一个是找根和并查集,再就是二维平面转换为图的问题。类似的问题还有小孩子们分巧克力的问题,x和y是某个小孩子最喜欢的巧克力,然后每个小孩子分配到自己喜欢的巧克力最少需要多少步
代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
const int maxx=1e5+10;
int parent[maxx];
int findd(int x){
if(parent[x]==x){
return x;
}
return parent[x]=findd(parent[x]);
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m;
scanf("%d %d",&n,&m);
//int parent[maxx];
for(int i=1;i<=n;i++){
parent[i]=i;
}
int sum=0;
for(int i=0;i<m;i++){
int x,y;
scanf("%d %d",&x,&y);
if(x==y){
continue;
}
sum++;
int fx=findd(x),fy=findd(y);
if(fx==fy){//有环,并且自己死锁的那种情况已经排除
sum++;
}else{
parent[x]=fy;
}
}
printf("%d\n",sum);
}
}
Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3)的更多相关文章
- Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3) C. Peaceful Rooks (思维,dsu找环)
题意:一个棋盘上有一些"车",现在要让这些"车"跑到左倾斜的对角线上,每次可以移动一个棋子,但是棋盘的任意时刻都不能出现一个"车"能吃另一个 ...
- Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1)
考场上只做出来四道,第二天一早就写出来了E,蛮绝望的. A Finding Sasuke 水构造 #include <cstdio> #include <algorithm> ...
- Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) D. XOR-gun (二进制,异或,前缀和)
题意:给你一组非递减的数,你可以对两个连续的数进行异或,使其合并为一个数,问最少操作多少次使得这组数不满足非递减. 题解:首先,给出的这组数是非递减的,我们考虑二进制,对于三个连续的非递减的最高位相同 ...
- Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) C. Bouncing Ball (后缀和,枚举)
题意:有一长度为\(n\)的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第\(p\)个位置开始,而且每次都会向右弹\(k\)个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩 ...
- Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) B. Repainting Street (枚举)
题意:有\(n\)栋房子,每栋房子都有自己的颜色\(c_i\),你每次可以对连续的长度为\(k\)的区间改变任何房子的颜色,问最少多少次可以使得所有房子颜色相同. 题解:因为只有\(100\)中颜色, ...
- Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) A. Prison Break
题意:有一张\(n\)x\(m\)的图,图中每个点都关押着罪犯,在坐标\((r,c)\)处有一个出口,每名罪犯每秒可以可以像上下最有移动一个单位或者不动,问所有罪犯能够逃离监狱的最少时间. 题解:直接 ...
- Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2)
A. Prison Break 题意:就是在一个n*m的矩阵中,以(1,1)为起点(n,m)为终点,每个点以每个单位1s的速度移动,问总共至少需要多少秒,所有的矩阵点就能够全部移动到(r,c)中 思路 ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)
Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) #include <bits/stdc++ ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)
A - Forgetting Things 题意:给 \(a,b\) 两个数字的开头数字(1~9),求使得等式 \(a=b-1\) 成立的一组 \(a,b\) ,无解输出-1. 题解:很显然只有 \( ...
随机推荐
- 使用 Android Studio 开发 widget 安卓桌面插件
•What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...
- ELK7.11.2版本安装部署及ElastAlert告警相关配置
文档开篇,我还是要说一遍,虽然我在文档内容中也会说好多遍,但是希望大家不要嫌我墨迹: 请多看官方文档,请多看命令行报错信息,请多看日志信息,很多时候它们比百度.比必应.比谷歌有用: 请不要嫌麻烦,打开 ...
- 什么是 Ansible - 使用 Ansible 进行配置管理
[注]本文译自:https://www.edureka.co/blog/what-is-ansible/ Ansible 是一个开源的 IT 配置管理.部署和编排工具.它旨在为各种自动化挑战提供巨 ...
- Python基础(二十):面向对象“类”第三课——类成员
知识点: 类属性与实例属性: 类方法与实例方法: 静态方法: 类属性与实例属性 类属性与实例属性的区别 属性的绑定不同 类属性与当前类相关(绑定的是当前类),与当前类创建的任何对象无关: 实例属性与当 ...
- 201871030103-陈荟茹 实验二 个人项目―《D{0-1}KP问题》项目报告
项目 内容 课程班级博客链接 班级博客链接 这个作业要求链接 作业要求链接 我的课程学习目标 1.理解掌握软件设计的过程中的各个环节2.掌握github的使用,将自己的项目上传至githu中 这个作业 ...
- 周爱民带你深入剖析JavaScript核心原理
作为前端工程师必备技能,JavaScript 的重要性不言而喻.虽然易上手,但却有着诸多复杂微妙的机制,想要真正掌握绝非易事. 专栏面向JavaScript语言的实际应用者与深度爱好者,以讲述Java ...
- Searching the Web UVA - 1597
The word "search engine" may not be strange to you. Generally speaking, a search engine ...
- JAVAEE_04_Tomcat服务器
Tomcat服务器 * 常用的服务器 - WebLogic服务器 WebLogic是美国bea公司出品的一个application server.BEA WebLogic是用于开发.集成.部署和管理大 ...
- 你已经用上 5G 网络了吗?
随着各大手机厂商陆续推出 5G 手机,智能手机全面迎来 5G 浪潮.可能有人会发问:如此推崇 5G,5G 能为我们带来什么,我们的生活又会因此而改变多大呢? 什么是 5G? 简单地说,5G 就是第五代 ...
- N 皇后-力扣解题
n 皇后问题 研究的是如何将 n 个皇后放置在 n*n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案. 每一种解法包含一个不同的 n 皇后问 ...