POJ 1990 MooFest
来源:互联网 发布:淘宝开店图片怎么弄 编辑:程序博客网 时间:2024/04/30 23:25
Need two tree array to get answer;
The portal:http://poj.org/problem?id=1990
#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <iostream>#include <algorithm>using namespace std;const long long M = 20005;struct Cows {long long value;long long position;bool operator < (const Cows & a1) const {return a1.value > value;}}cows[M];long long Bit_num[2][M+5];void Insert(long long x,long long value,long long flag) {for(long long i = x ; i <= M ; i += i & -i) {Bit_num[flag][i] += value;}}long long Query(long long x,long long flag) {long long ret = 0;for(long long i = x ; i ; i -= i & -i) {ret += Bit_num[flag][i];}return ret;}void Deal_with() {long long n;while(~scanf("%lld",&n)){memset(Bit_num,0,sizeof(Bit_num));for(long long i=1 ; i <= n ; i++) {scanf("%lld %lld",&cows[i].value,&cows[i].position);}sort(cows+1,cows+n+1);long long ans = 0;for(long long i=1 ; i <= n ; i++) {long long a = Query(cows[i].position,0); long long b = Query(cows[i].position,1);long long c = Query(M,1);ans += cows[i].value * (cows[i].position * a - b +c - b - (i - a - 1) * cows[i].position) ;Insert(cows[i].position,cows[i].position,1);Insert(cows[i].position,1,0);}printf("%lld\n",ans);}}int main(void) {//freopen("a.in","r",stdin);Deal_with();return 0;}
0 0
- POJ 1990 MooFest
- poj 1990 MooFest
- POJ - 1990 MooFest
- POJ 1990 MooFest
- Poj 1990 MooFest
- POJ 1990 MooFest
- POJ-1990-MooFest
- POJ 1990 MooFest
- poj 1990 - MooFest
- poj 1990 MooFest
- POJ 1990 MooFest
- POJ 1990 MooFest
- POJ 1990 MooFest
- POJ 1990 MooFest
- POJ 1990 MooFest
- POJ 1990 MooFest
- poj 1990 MooFest
- POJ 1990 MooFest
- android应用程序中获取view的位置(2)
- Java 代码特殊注释详解
- Isomorphic Strings(leetcode 205)
- XUtils数据库模块在多线程中的打开与关闭问题
- 03 storm 源码阅读 storm的进程间消息通信实现clojure端 加载java端netty能力
- POJ 1990 MooFest
- Java中的线程Thread方法之---interrupt()
- git 学习笔记2-linux上安装git
- C - The C Answer (2nd Edition) - Exercise 1-8
- 04storm 源码阅读 storm的进程间消息通信实现clojure端 生成带netty能力的线程
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- leetCode 46.Permutations(排列组合) 解题思路和方法
- shell学习四十三天----临时性文件的建立与使用
- CodeVS 1166 矩阵取数游戏(区间DP+高精度)