【Educational Codeforces Round 35 D】Inversion Counting
2017-12-29 11:22
507 查看
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
排列中交换任意两个数字。
排列的逆序对个数的奇偶性会发生变化。
翻转这个过程其实就是len/2对数字发生交换。
交换了偶数次的话,不变,否则奇偶性发生改变。
先暴力求出一开始的逆序对个数就好
【代码】
#include <bits/stdc++.h> using namespace std; const int N = 1500; int n,a[N+10],cnt,now,m; void out(int x){ if (x==1) cout <<"odd"<<endl; else cout <<"even"<<endl; } int main(){ #ifdef LOCAL_DEFINE freopen("rush_in.txt", "r", stdin); #endif ios::sync_with_stdio(0),cin.tie(0); cin >> n; for (int i = 1;i <= n;i++) cin >>a[i]; for (int i = 1;i <= n;i++) for (int j = i+1;j <= n ;j++) if (a[i]>a[j]) cnt++; now = cnt&1; cin >> m; for (int i = 1;i <= m;i++){ int x,y; cin >> x >> y; if (x==y) out(now); else{ int len = y-x+1; len/=2; if (len&1) now = now ^1; out(now); } } return 0; }
相关文章推荐
- Educational Codeforces Round 35 (Rated for Div. 2) F. Tree Destruction(dfs)
- 【Educational Codeforces Round 35 C】Two Cakes
- Educational Codeforces Round 35
- Educational Codeforces Round 35 (Rated for Div. 2) A B C D
- Educational Codeforces Round 35 A - Nearest Minimums
- Educational Codeforces Round 35 (Rated for Div. 2) A——C
- Educational Codeforces Round 35 (Rated for Div. 2) D. Inversion Counting
- Educational Codeforces Round 35
- Educational Codeforces Round 35 (Rated for Div. 2) A-D
- Educational Codeforces Round 35 A B C D题解
- Educational Codeforces Round 35 (Rated for Div. 2) A
- Educational Codeforces Round 35 C - Three Garlands
- Educational Codeforces Round 35 (Rated for Div. 2) E Stack Sorting
- Educational Codeforces Round 35 (Rated for Div. 2) F. Tree Destruction
- Educational Codeforces Round 35 (Rated for Div. 2)
- Educational Codeforces Round 35 (Rated for Div. 2)
- Educational Codeforces Round 35 (Rated for Div.2)
- Educational Codeforces Round 35 (Rated for Div. 2)
- Educational Codeforces Round 35 (Rated for Div. 2)
- Educational Codeforces Round 35 D - Inversion Counting