啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

POJ2182 LOST COWS

!!!!!!!!!!!!!!!!!

啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

直接做竟然也行??????????????????????????????????????????????

麻烦给树状数组和线段树留点面子吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

你怎么就过了呢

啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

?????

说好的线段树呢??说好的树状数组呢??说好的二分呢???

我觉得不妥!!!!!!!!

啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 const int N = 5e5 + 100;
 6 int a[N], c[N],ans[N];
 7 int main(){
 8     int n;
 9     cin >> n;
10     a[1] = 0;
11     c[1] = 1;
12     for (int i = 2; i <= n;i++){
13         scanf("%d", &a[i]);
14         c[i] = 1;
15     }
16     ans[n] = a[n] + 1;
17     c[ans[n]] = 0;
18     for (int i = n-1; i >= 1;i--){
19         int num = 0;
20         for (int j = 1; j <= n;j++){
21             num += c[j];
22             if(num==a[i]+1){
23                 ans[i] = j;
24                 c[j] = 0;
25                 break;
26             }
27         }
28     }
29     for (int i = 1; i <= n;i++){
30         printf("%d\n", ans[i]);
31     }
32     //system("pause");
33     return 0;
34 }

猜你喜欢

转载自www.cnblogs.com/guaguastandup/p/10555970.html