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)的更多相关文章

  1. Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3) C. Peaceful Rooks (思维,dsu找环)

    题意:一个棋盘上有一些"车",现在要让这些"车"跑到左倾斜的对角线上,每次可以移动一个棋子,但是棋盘的任意时刻都不能出现一个"车"能吃另一个 ...

  2. Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1)

    考场上只做出来四道,第二天一早就写出来了E,蛮绝望的. A Finding Sasuke 水构造 #include <cstdio> #include <algorithm> ...

  3. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) D. XOR-gun (二进制,异或,前缀和)

    题意:给你一组非递减的数,你可以对两个连续的数进行异或,使其合并为一个数,问最少操作多少次使得这组数不满足非递减. 题解:首先,给出的这组数是非递减的,我们考虑二进制,对于三个连续的非递减的最高位相同 ...

  4. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) C. Bouncing Ball (后缀和,枚举)

    题意:有一长度为\(n\)的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第\(p\)个位置开始,而且每次都会向右弹\(k\)个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩 ...

  5. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) B. Repainting Street (枚举)

    题意:有\(n\)栋房子,每栋房子都有自己的颜色\(c_i\),你每次可以对连续的长度为\(k\)的区间改变任何房子的颜色,问最少多少次可以使得所有房子颜色相同. 题解:因为只有\(100\)中颜色, ...

  6. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) A. Prison Break

    题意:有一张\(n\)x\(m\)的图,图中每个点都关押着罪犯,在坐标\((r,c)\)处有一个出口,每名罪犯每秒可以可以像上下最有移动一个单位或者不动,问所有罪犯能够逃离监狱的最少时间. 题解:直接 ...

  7. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2)

    A. Prison Break 题意:就是在一个n*m的矩阵中,以(1,1)为起点(n,m)为终点,每个点以每个单位1s的速度移动,问总共至少需要多少秒,所有的矩阵点就能够全部移动到(r,c)中 思路 ...

  8. 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++ ...

  9. 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. 题解:很显然只有 \( ...

随机推荐

  1. Elasticsearch 结构化搜索、keyword、Term查询

    前言 Elasticsearch 中的结构化搜索,即面向数值.日期.时间.布尔等类型数据的搜索,这些数据类型格式精确,通常使用基于词项的term精确匹配或者prefix前缀匹配.本文还将新版本的&qu ...

  2. MySQL优化从执行计划开始(explain超详细)

    前言 小伙伴一定遇到过这样反馈:这页面加载数据太慢啦,甚至有的超时了,用户体验极差,需要赶紧优化: 反馈等同于投诉啊,多有几次,估计领导要找你谈话啦. 于是不得不停下手里头的活,赶紧进行排查,最终可能 ...

  3. ch1_6_3求解移动字符串问题

    import java.util.Scanner; public class ch1_6_3求解移动字符串问题 { public static void main(String[] args) { / ...

  4. P1036_选数(JAVA语言)

    题目描述 已知 n 个整数x1​,x2​,-,xn​,以及1个整数k(k<n).从n个整数中任选k个整数相加,可分别得到一系列的和.例如当n=4,k=3,4个整数分别为3,7,12,19时,可得 ...

  5. LevelDB 源码解析之 Arena

    GitHub: https://github.com/storagezhang Emai: debugzhang@163.com 华为云社区: https://bbs.huaweicloud.com/ ...

  6. Android Studio 之 制作 Nine-Patch 图片(.9图片)

    •引言 9.png 可以保证图片在合适的位置进行局部拉伸,避免了图片全局缩放造成的图片变形问题. 但是由于Android Studio对于.9图片的检查更加严格,所以不符合AS要求的.9图片会带来很多 ...

  7. 实现FTP+PAM+MySQL环境,批量配置虚拟用户

    实现FTP+PAM+MySQL环境,批量配置虚拟用户 搭建环境: CentOS6.5或CentOS6.7 [root@vhost3 ~]# uname -a Linux vhost3 2.6.32-5 ...

  8. 手写无缝轮播banner

    <div class="banner"> <ul class="clearfloat bannerul xin" id="xin&q ...

  9. 安装Dynamics CRM Report出错处理一

    删除下面两个注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce.HKEY_CURRENT_USER\So ...

  10. OO第四单元总结暨OO课程总结

    一.第四单元作业总结 本单元的主要任务是对 Uml 图元素进行管理和查询,测试一开始会输入一个静态图,之后会对图中相关内容进行查询. 第13,14次作业 第14次作业新增内容很少,故与第13次作业放在 ...