参考资料

第一题

第一题通常是编程基础题,但是需要比较高的编程阅读理解能力。

未初始化警告(202203-1)

心得: 这道题刚开始不是很理解题意。后来参考了一个题解。

参考: https://blog.csdn.net/m0_56585533/article/details/123904757

#include<bits/stdc++.h>
using namespace std;
int a[100001],b[100001],c[100001]={0};
int main()
{
int n,k;
c[0]=1;
int sum=1;
cin>>n>>k;
for(int i=0;i<k;i++)
{
cin>>a[i]>>b[i];
}
for(int i=1;i<k;i++)
{
c[a[i-1]]=1;
if(c[b[i]]==0)
{
sum++;
}
}
cout<<sum;
return 0;
}

序列查询(202112-1)

心得: 感觉CSP的题目不是很友好,写的都很复杂,看题目的背景并不会使你更好的理解题意,关键要看结果分析。刚开始使用vector写不是很方便,想起全局变量相对来说可以申请的空间较大,故采用全局变量。基本很简单的题目,也需要比较高的阅读理解能力。

参考:

#include <iostream>
using namespace std;

int num[10000000] = {0};
int main()
{
int n1, n2;
cin >> n1 >> n2;
for (int i = 1; i <= n1; i++)
{
cin >> num[i];
}
int sum = 0;
int max = 0;
for (int i = 0; i < n2; i++)
{
for (int j = max; j <= n1; j++) //这里的j=max是优化的一个点
{
if (i >= num[j])
{
max = j; //看了很多遍输出分析才知道,下标才是最重要的
}
else
{
break;
}
}
sum += max;
}
cout << sum;
return 0;
}

数组推导( 202109-1)

心得:

参考: