B.kotori和bangdream
https://ac.nowcoder.com/acm/contest/3002/B
大水题
#include
#include
#include
#include
#include
#include
#include
#include
#include
D.hanayo和米饭
https://ac.nowcoder.com/acm/contest/3002/D
签到题
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long
using namespace std;
const int N=1e6+10;
int n;
int a[N];
int t;
int main(){
cin>>n;
memset(a,0,n);
for(int i=1;i<=n-1;i++){
cin>>t;
a[t]=t;
}
for(int i=1;i<=n;i++){
if(i!=a[i]){
cout<endl;
return 0;
}
}
return 0;
}
A.honoka和格点三角形
https://ac.nowcoder.com/acm/contest/3002/A
满足"好三角形"的情况只有两种:
1.底为1,高为2的三角形
2.底为2,高为1的三角形
然后自己去画图数一数就好了
#include
#include
#include
#include
#include
#include
#include
#include
#include
E.rin和快速迭代
https://ac.nowcoder.com/acm/contest/3002/E
直接暴力枚举到sqrt(n),要特别注意当枚举完的所得的因数是奇数时.
#include
#include
#include
#include
#include
#include
#include
#include
#include
G.eli和字符串
https://ac.nowcoder.com/acm/contest/3002/G
这道题很巧,和几天CF上的一道题非常的相似,这儿也一并提供原题,有兴趣的可以去看看:http://codeforces.com/contest/1295/problem/C
这题我们首先先将string中每个字母出现的次数存进一个数组当中,并记录字母出现最多的次数m,如果题目所给的t>m,直接输出-1.
接下来我们用一个二维的vector来记录string中每个字母的位置,然后从string的第一个字母开始进行遍历,如果当前字母之后出现的次数小与t,那么就不满足,直接遍历下一个.
否则,我们直接用二维的vector来找到当前字母之后的第t个相同字母的位置,并减去当前字母的位置,得到满足条件的连续子串的长度,用一个min函数来记录答案.
其实本题对于像我这样的菜鸡最大的难点在于这个二维vector的使用,大家可以去了解一下
#include
#include
#include
#include
#include
#include
#include
#include
#include
H.nozomi和字符串
https://ac.nowcoder.com/acm/contest/3002/H
这题是一道滑动窗口的经典题,大家可以去看看"滑动窗口"这个概念,具体的等我以后有时间再来补
#include
#include
#include
#include
#include
#include
#include
#include
#include