这周在codeforces上只做了些难度在Div.3C题左右的题,在难些就感觉吃力了,积累的还是不够,这周被一些课和作业耽搁了,学的不多,争取下周每天都看文章和A一题。
答案:
#include<bits/stdc++.h>
using namespace std;
int t,p,n;
int main(){
cin>>t;
while(t--)
{
long long ans=0;//防止溢出
cin>>n;
map<int,int>m;//不直接用数组是因为下标可能为负数
for(int i=0;i<n;i++){
cin>>p;
ans+=m[p-i]++;//与用下标进行计算 ***
}
cout<<ans<<endl;
}
return 0;
}
答案:
#include<cstdio>
int main()
{
long long n,i,ans=0;//必须用long long
scanf("%lld",&n);
for(i=1;i<=n;i*=10)
{
ans+=(n-i+1);
}
printf("%lld",ans);
return 0;
}
另外还做了一道以前不怎么理解的一道题,现在也彻底明白了。