一.题目目录
T1 | 遗忘的来年花期(flower) |
T2 | 意外爱上黄昏来临时(sunset) |
T3 | 星空分崩离析(sky) |
T4 | 死在二十四岁的自己(resurrection) |
二.模拟赛期望得分
T1:100
T2:40
T3:50
T4:30
2.5:模拟赛实际得分(这场模拟赛蒟蒻我打的惨不忍睹,大家凑活看吧)
T1:100
T2:40
T3和T4我都直接骗的样例,但逝没拿分,所以就不放出来了
三.比赛分析
T1:遗忘的来年花期(flower)
题目大意:给定你一个序列a{n},让你求有多少i∈[2,n−1],使得 𝑎𝑖−1≤𝑎𝑖且 𝑎𝑖≥𝑎𝑖+1
思考过程:打眼一看,这题纯水题
再看一眼数据范围,防止被背刺
其实如果你足够自信的话,可以不用看样例直接写scanf和printf
放一下输入和输出的样例
因为这道题太水了(bushi),所以我就直接放代码了
代码实现:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,a[N];
int main(){
freopen("flower.in","r",stdin);
freopen("flower.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int ans=0;
for(int i=2;i<n;i++){
if(a[i]>=a[i-1]&&a[i]>=a[i+1]){
ans++;
}
}
printf("%d",ans);
return 0;
}
/*5
1 5 4 2 3*/
T2:意外爱上黄昏来时(sunset)
题目大意:让你求是否有两个字母满足他们的明暗在每一天都是相同的
多说无益(其实是蒟蒻我嫌写的太麻烦了)
思考过程:可以把这个二维的矩阵按列拆开,拆成字符串,用字符串来进行比较
代码实现:
#include<iostream>
using namespace std;
string w[1001];
int main(){
//freopen("sunset.in","r",stdin);
//freopen("sunset.out","w",stdout);
int n,k;
scanf("%d%d",&n,&k);
for(int i=1;i<=k;i++){
for(int j=1;j<=n;j++){
char e;
cin>>e;
if(e=='1') w[j]=w[j]+"1";
else w[j]=w[j]+"0";
}
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(w[i]==w[j]){
printf("%d %d",i,j);
return 0;
}
}
}
printf("-1");
return 0;
}
T3:星空分崩离析(sky)
题目大意:给定一颗 𝑛个节点的有根树,根节点为 1,边权为1,小C会给你𝑞次形如𝑥的询问
你需要找到一个点对 𝑢,𝑣(𝑢≠𝑣) 使得 𝑑𝑖𝑠(1,𝑢),𝑑𝑖𝑠(1,𝑣)>𝑥且 𝑑𝑖𝑠(𝑢,𝑣)最大,你不需要告诉小 C 具体的 𝑢,𝑣,对于每组询问只需要输出最大的 𝑑𝑖𝑠(𝑢,𝑣).(补:定义 𝑑𝑖𝑠(𝑢,𝑣)为节点 𝑢,𝑣在树上的简单路径长度。)