摘要:
题目链接 A. 可用map标记这几个字符,判在不在即可 #include <bits/stdc++.h> using namespace std; string s="codeforces"; map<char,bool>mp; void solve(){ char c;cin>>c; if(mp[ 阅读全文
摘要:
A. 找两个最大的长度为k的区间和 默认当前区间是最大或第二大的,然后找第二大的或最大的 若当前区间不是以上任一种,则它们的结果不重要 这样避免了很多重复的情况 #include <bits/stdc++.h> using namespace std; #define int long long v 阅读全文
摘要:
A. 把字符串小写转换成大写即可 #include <bits/stdc++.h> using namespace std; void solve(){ string s;cin>>s; for(int i=0;i<s.size();i++){ if(s[i]>='a'&&s[i]<='z'){ s 阅读全文
摘要:
F. 模拟题,不难只是比较繁琐,需要分情况讨论 debug: 如何判断永远走不到终点格? 原思路是这个点同时这个点指向的方向被经过了,那么就是走的重复的路,走不到终点 但不知为何map出了一些问题 后来看题解,只要步数很大了还走不到那么就永远走不到 于是我把map删了,过了 #include <bi 阅读全文
摘要:
题目链接 A. 直接判断输出 #include <bits/stdc++.h> using namespace std; void solve(){ int a,b,c;cin>>a>>b>>c; if(a+b==c)cout<<'+'<<'\n'; else if(a-b==c)cout<<"-" 阅读全文
摘要:
题目链接 H. 没思路,查看题解 选择数组的非连续的子序列,就是每个数选或不选的问题 求个数,易dp 求子序列的数二进制相与结果有k个1的个数 把所有结果记录,再去筛选满足条件的结果 f[i][j]表示到第i个数,相与结果为j的子序列个数 正向思维:多个数相与得到结果 dp思维:枚举结果,考虑数如何 阅读全文
摘要:
题目链接 E. 连通块的搜索 debug:用不上回溯,把连通块的贡献全部加起来 #include <bits/stdc++.h> using namespace std; int n,m; int g[1010][1010]; bool vis[1010][1010]; int ma,tmp; in 阅读全文
摘要:
题目链接 A. 直接比较输入字符串和已知字符串有几个不同即可 #include <bits/stdc++.h> using namespace std; void solve(){ string s;cin>>s; int ans=0; string t="codeforces"; for(int 阅读全文
摘要:
题目链接 F. 记录下出现的数字和个数 注意放置陷阱的位置1-n都有可能 然后遍历1-n,对每个数进行因子分解,对于在因子的位置上有青蛙的,加上青蛙的个数,取最大即可 #include <bits/stdc++.h> using namespace std; #define int long lon 阅读全文
摘要:
题目链接 A. 判总和-最小值的差是否大等于10即可 #include <bits/stdc++.h> using namespace std; const int N=2e5+10; void solve(){ int a,b,c;cin>>a>>b>>c; int ans=a+b+c; ans- 阅读全文