HDOJ-2838 Cow Sorting
来源:互联网 发布:windows文件夹 编辑:程序博客网 时间:2024/06/05 05:28
一道逆序数的题。要用两个树状数组来维护,一个记录牛的数目,另一个记录牛的脾气值.一定要注意数据溢出.
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;typedef long long LL;#define maxn 100005 int c[maxn], n;LL num[maxn];void Update(LL m){ int h = m; while(m <= n){ num[m] += h; c[m] += 1; m += m & -m; }}int Query(int m, LL &p){ int sum = 0; while(m){ p += num[m]; sum += c[m]; m -= m & -m; } return sum;}int main(){// freopen("in.txt", "r", stdin); while(cin >> n){ memset(c, 0, sizeof(c)); memset(num, 0, sizeof(num)); LL s = 0, sum = 0; for(int i = 1; i <= n; i++){ LL a, p = 0; cin >> a; s += a; Update(a); sum += (i - Query(a, p))*a + s - p; } cout << sum << endl; } return 0;}
0 0
- HDOJ-2838 Cow Sorting
- hdoj Cow Sorting 2838 (树状数组)
- hdoj Cow Sorting
- HDOJ 题目2838 Cow Sorting(树状数组逆序对)
- hdu 2838 Cow Sorting
- hdu 2838 Cow Sorting
- HDU 2838 Cow Sorting
- hdu 2838 Cow Sorting
- cow sorting
- Cow Sorting
- POJ 3270 / HDU 2838 - Cow Sorting
- HDU 2838 cow sorting 树状数组
- hdu 2838 Cow Sorting(树状数组)
- hdu 2838 Cow Sorting(树状数组)
- hdu 2838 Cow Sorting (树状数组)
- HDU 2838 Cow Sorting(树状数组)
- hdu-2838(Cow Sorting)----》树状数组
- HDU - 2838 Cow Sorting (树状数组)
- 3.16
- 引用类型和值类型区别
- 菜鸟成长记-UITableView
- 六:java中线程范围内共享变量--ThreadLocal
- AutoLayout 中常见的错误 以及log打印出警告整理
- HDOJ-2838 Cow Sorting
- 在Surface 3上安装ubuntu 14.04.4 备忘录
- PyCharm 教程(六)自定义文件模板
- iOS 封装一个 Date处理服务器中返回的时间
- MJRefresh的简单使用
- try c++11 foreach(1)
- 209. Minimum Size Subarray Sum
- linux下cat命令详解
- 在线的免费Markdown编辑器 'MaHua'-(麻花) & MarkDown学习资料