bzoj 3378: [Usaco2004 Open]MooFest 狂欢节(BIT)
3378: [Usaco2004 Open]MooFest 狂欢节
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 88 Solved: 57
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
对于牛的听力v[]从大到小排序,然后一个一个算贡献,算完之后就把这个牛剔除
然后对于第i头牛,s1[i]表示在第i头牛前面还有多少头牛,s2[i]表示这些牛的坐标之和
那么在第i头牛前面所有牛对答案的贡献就是s2[i]-s1[i]*v[i]
在第i头牛后面所有牛的答案的贡献算法同理,这个过程可以用树状数组维护
#include<stdio.h>
#include<algorithm>
using namespace std;
#define LL long long
typedef struct Res
{int x, y;bool operator < (const Res &b) const{if(y>b.y)return 1;return 0;}
}Res;
Res s[20005];
LL tre[20005];
int m, t2[20005];
LL Query(int x)
{LL ans = 0;while(x){ans += tre[x];x -= x&-x;}return ans;
}
int Query2(int x)
{int ans = 0;while(x){ans += t2[x];x -= x&-x;}return ans;
}
void Update2(int x, int p)
{while(x<=m){t2[x] += p;x += x&-x;}
}
void Update(int x, int p)
{while(x<=m){tre[x] += p;x += x&-x;}
}
int main(void)
{LL ans;int n, i;m = 20000;scanf("%d", &n);for(i=1;i<=n;i++)scanf("%d%d", &s[i].y, &s[i].x);sort(s+1, s+n+1);ans = 0;for(i=1;i<=n;i++){Update(s[i].x, s[i].x);Update2(s[i].x, 1);}for(i=1;i<=n;i++){Update(s[i].x, -s[i].x);Update2(s[i].x, -1);ans += (Query(m)-Query(s[i].x)-(LL)(Query2(m)-Query2(s[i].x))*s[i].x)*s[i].y;}for(i=1;i<=n;i++){Update(s[i].x, m-s[i].x+1);Update2(s[i].x, 1);}for(i=1;i<=n;i++){Update(s[i].x, s[i].x-m-1);Update2(s[i].x, -1);ans += (Query(s[i].x)-(LL)Query2(s[i].x)*(m-s[i].x+1))*s[i].y;}printf("%lld\n", ans);return 0;
}
bzoj 3378: [Usaco2004 Open]MooFest 狂欢节(BIT)相关推荐
- 3378: [Usaco2004 Open]MooFest 狂欢节
题目链接 题目大意:n只奶牛,第i只听力为vi,坐标为xi,两只奶牛聊天时音量是max(vi,vj)∗abs(xi−xj).求n(n−1)/2对奶牛的音量和 题目大意:n只奶牛,第i只听力为v_i,坐 ...
- bzoj 3357 [Usaco2004]等差数列 dp
[Usaco2004]等差数列 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 486 Solved: 227 [Submit][Status][D ...
- BZOJ 3357: [Usaco2004]等差数列( dp )
dp(x, p) 表示序列中第x个数, 上一个数是p构成的等差数列的最长. 转移时从[1, x)中枚举p = seq[] 就行了.时间复杂度O(n²logn) -------------------- ...
- bzoj 3355: [Usaco2004 Jan]有序奶牛(拓扑排序+bitset)
3355: [Usaco2004 Jan]有序奶牛 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 56 Solved: 29 [Submit][S ...
- bzoj 3356: [Usaco2004 Jan]禁闭围栏(扫描线+树状数组)
3356: [Usaco2004 Jan]禁闭围栏 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 45 Solved: 26 [Submit][S ...
- bzoj 3357: [Usaco2004]等差数列(DP+map)
3357: [Usaco2004]等差数列 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 485 Solved: 226 [Submit][Sta ...
- bzoj 3359: [Usaco2004 Jan]矩形(DP)
3359: [Usaco2004 Jan]矩形 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 74 Solved: 37 [Submit][Sta ...
- bzoj 3360: [Usaco2004 Jan]算二十四(暴力+表达式求值)
3360: [Usaco2004 Jan]算二十四 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 59 Solved: 48 [Submit][S ...
- bzoj 3361: [Usaco2004 Jan]培根距离
3361: [Usaco2004 Jan]培根距离 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 88 Solved: 70 [Submit][S ...
最新文章
- Ubuntu中Atom安装与使用
- Erlang vs Java memory architecture (zz)
- Spring源码:BeanDefinition
- (1)前端工程化—全副武装:通过工程化提升「战斗力」
- Linux如何进行GPIO读写操作的?
- 【BZOJ2584】memory,扫描线+拓扑图+骗
- 第四:Python发送邮件时实现生成测试报告/邮件自动发送
- 挑战IPOD功能最强MP3——Zune二代评测
- NC158 有向无环图的单源最短路径问题:Dijkstra算法
- 【智能无线小车系列二】车体的组装
- 全景图拍摄设备有哪些?全景图拍摄方法
- @Autowired实现的原理
- word文档通配符换行_Word怎么批量删除分隔符
- 关于nifty counters
- .NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法
- 从安卓巴士到CocoaChina,曾经的顶级流量王者,如今的落寞与淡去
- 淘宝/天猫API,获得淘宝商品评论返回值说明(数据解析)
- mysql 围栏_使用纬度,经度和半径在PHP和MySQL中进行地理围栏
- 考研英语作文万能句子模板50个
- python Process finished with exit code -1073741571 (0xC00000FD)
热门文章
- python最适合做什么-python适合做什么开发_python未来发展怎么样
- python编程入门书籍-关于 Python 的经典入门书籍有哪些?
- 【语音识别基础】总有一天你会用到,嗯,没有公式~
- 音乐语音识别,one speech recognition,音标,读音,翻译,英文例句,英语词典
- 10.java之父被B站学习者下载达7000万次的Java视频教程你还没有看过知乎
- play ---------idea
- php抽奖设置数量,php实现自定义中奖项数和概率的抽奖函数示例
- 蓝桥杯2019真题-完全二叉树的权值
- 使用 JNA 模拟C语言结构体的完整源代码
- datatable相同列合并_使用Power Query合并查询