文章目录
这应该是站内相对详细的解题报告吧。
转载思路请@本人。
感想
关于自己
这一次想复杂了,第三题打了个较难的思路,导致时间过长。
第四题一开始读错题了,调了半天才 90 90 90分。
最终得分 97.5 97.5 97.5,痛失前五 Q A Q QAQ QAQ。
自己的问题,下次时间要均匀分配一些,不要想复杂了(毕竟 C S D N CSDN CSDN的题目难度大多都不高)。
听说有人抱怨考第一就作弊,其实十几分钟打完我都不信,作弊也说得过去。
关于平台
有一个地方:每次测评和提交都有冷却时间(痛,太痛了)。
求求系统冷却快一点吧,好浪费时间的(特别是冷却 15 15 15秒)。
题目质量再次上升,但不多。
下次什么时候出点数据结构,让前几名的去水水?
其实可以向社会征集题目,然后经过查重和验题放进题库,不过提供题目的人通过就不能增加做题数量或参加比赛(我个人的建议)。
第一题 (难度:入门)
题目描述
已知存在一个长度为 n n n的整数序列 A A A。 A A A中所有元素按照从小到达的顺序进行排序。 现在执行操作倒置一段序列。 请找到 A A A序列里的倒置子序列。
100分做法
因为只有一段序列不同,所以找到最左边不相同的和最右边不相同的(与排序后相比),然后输出整段区间即可。
C + + C++ C++代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[1005]={
},b[1005]={
},c[1005]={
},n,l=1000,r=0;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
b[i]=c[i]=a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
if(b[i]!=a[i])b[i]=0;
else b[i]=1;
}
for(int i=1;i<=n;i++)if(b[i]==0){
l=min(l,i);r=max(r,i);}
if(l==1000)l=0;
printf("%d %d\n",l,r);
return 0;
}
第二题 (难度:简单)
题目描述
现在有一截楼梯,根据你的腿长,你一次能走 1 1 1级或 2 2 2级楼梯,已知你要走 n n n级楼梯才能走到你的目的楼层,请实现一个方法,计算你走到目的楼层的方案数。
100分做法
典型的递推题,也是斐波那契数列,具体思路学了递推就知道了。
C + + C++ C++代码如下:
#include<bits/stdc++.h>
using namespace std;
long long a[100];
int n;
int main

最低0.47元/天 解锁文章
921

被折叠的 条评论
为什么被折叠?



