Codeforces Round #212 (Div. 2) C
来源:互联网 发布:驱动精灵网络连接错误 编辑:程序博客网 时间:2024/05/16 10:50
// 预处理出所有数在这个序列内和1...n的大小关系的前缀和 #include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,a[5005],dp[5005][5005];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]),a[i]++; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(a[i]>j) dp[i][j]=dp[i-1][j]+1; else dp[i][j]=dp[i-1][j]; } } int sum=0; for(int i=1;i<=n;i++)//计算所有逆序数对 sum+=dp[i][a[i]]; int Max=0,count=1; for(int i=1;i<=n;i++) { for(int j=1;j<i;j++) { int now=dp[j][a[j]]+dp[i][a[i]]; int next=dp[i][a[j]]+dp[j][a[i]]; int temp=(now-next)*2+1; //i,j改变后i..j区间的逆序数对的变化 if(temp>Max) Max=temp,count=1; else if(temp==Max) count++; } } printf("%d %d\n",sum-Max,count); return 0;}
- Codeforces Round #212 (Div. 2) C
- 【codeforces】Codeforces Round #370 (Div. 2) C
- Codeforces Round #212 (Div. 2)
- Codeforces Round #212 (Div.2)
- Codeforces Round #212 (Div. 2)
- Codeforces Round #212 (Div. 2) C. Insertion Sort
- Codeforces Round #212 (Div. 2)(C有关逆序数)
- Codeforces Round #105 (Div. 2) C
- Codeforces Round 134 div 2 C题
- Codeforces Round #137 (Div. 2), problem: (C)
- Codeforces Round #153 (Div. 2) C题
- Codeforces Round #158 (Div. 2) C题
- Codeforces Round #162 (Div. 2) C
- Codeforces Round #166 (Div. 2) c. Secret
- Codeforces Round#170(Div 2)C
- Codeforces Round #173 (Div. 2) Problem C
- Codeforces Round #192 (Div. 2) C. Purification
- Codeforces Round #196 (Div. 2) C. Quiz
- 从朴素的字符串匹配算法到KMP算法
- HDOJ1002: A + B Problem II
- 开始自己的五年计划
- 时间处理类
- IOS开发-画线画图
- Codeforces Round #212 (Div. 2) C
- ubuntu 12.04 安装 boost 失败,have unmet dependencies,held broken packages 问题
- 薪资
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- MFC动态添加按钮以及消息响应
- 一句话复制整个文件夹,及目录相关
- Redhat Enterprise Edit 6.4使用本地iso文件制作本地仓库
- [Mysql启动报错]/etc/init.d/mysqld: line 256: my_print_defaults: command not found
- 分析:Android_Wifi_HAL层