(1)202206-1 归一化处理:按公式计算输出即可~
c++代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int num[n]; double sum,a,d,f=0;
for(int i=0 ; i<n ; i++)
{
cin>>num[i];
sum+=num[i];
}
a = sum/n;
for(int i=0;i<n;i++)
d+= pow(num[i]-a,2);
d = d/n;
d = pow(d,0.5);
for(int i=0;i<n;i++)
{
f = (num[i]-a)/d;
printf("%.16f\n",f);
}
}
(2)202203-1 未初始化警告:布尔型数组的使用(下标和值一一对应);数组的范围bool yes[N],而非n
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int main()
{
int n,k;
cin>>n>>k;
int x,y; int sum=0; bool yes[N]={false};
yes[0]=true;
for(int i=0 ; i<k ; i++)
{
cin>>x>>y;
if(yes[y] == false)
sum++;
yes[x] = true;
}
cout<<sum;
}
(3)202112-1 序列查询:变量钱X是连续的~;可以自增,不需要for循环叠加(时间复杂度)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,N;
cin>>n>>N;
int A[n+1]; A[0]=0;
for(int i=1; i<=n ; i++)
cin>>A[i];
int f[N]; int sum=0; int x=0;
for(int i=0;i<n;i++)
{
while(x<A[i+1])
{
f[x] = i;
sum += f[x];
x++;
}
}
while(x<N)
{
f[x] = n;
sum+= f[x];
x++;
}
cout<<sum;
}