JZOJ 2306. 【中山市选2011】压缩后缀数组
题目
分析
- 首先,题目很长,服
- 题意是:给出数组FI0,SA1,求数组SA0,其中数组SA1中的值是SA0值中的偶数的一半,
- FI0中的值是SA0中的偶数值的下标,奇数值加1的下标
代码
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int f[60000],s1[60000],s2[60000]; 6 int main() 7 { 8 int n; 9 cin>>n; 10 for(int i =1;i<=n;++i) 11 scanf("%d",&f[i]); 12 for(int i =1;i<=n/2;++i) 13 scanf("%d",&s2[i]); 14 memset(s1,0,sizeof(s1)); 15 int cnt=0; 16 for(int i =1;i<=n;++i) 17 if(f[i]==i) 18 s1[i]=s2[++cnt]*2; 19 for(int i=1;i<=n;++i) 20 if(f[i]!=i) 21 s1[i]=s1[f[i]]-1; 22 for(int i=1;i<n;++i) 23 cout<<s1[i]<<' '; 24 cout<<s1[n]<<endl; 25 }
为何要逼自己长大,去闯不该闯的荒唐