P2344 奶牛抗议
P2344 奶牛抗议
题目背景
Generic Cow Protests, 2011 Feb
题目描述
约翰家的N 头奶牛正在排队游行抗议。一些奶牛情绪激动,约翰测算下来,排在第i 位的奶牛的理智度为Ai,数字可正可负。
约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几个小组,每个抗议小组的理智度之和必须大于或等于零。奶牛的队伍已经固定了前后顺序,所以不能交换它们的位置,所以分在一个小组里的奶牛必须是连续位置的。除此之外,分组多少组,每组分多少奶牛,都没有限制。
约翰想知道有多少种分组的方案,由于答案可能很大,只要输出答案除以1000000009 的余数即可。
输入输出格式
输入格式:
• 第一行:单个整数N,1 ≤ N ≤ 100000
• 第二行到第N + 1 行:第i + 1 行有一个整数Ai,−10^5 ≤ Ai ≤ 10^5
输出格式:
单个整数:表示分组方案数模1000000009 的余数
输入输出样例
4 2 3 -3 1
4
说明
解释:如果分两组,可以把前三头分在一组,或把后三头分在一组;如果分三组,可以把中间两头分在一组,第一和最后一头奶牛自成一组;最后一种分法是把四头奶牛分在同一组里。
离散化+树状数组,
f[i] 为到第 i 只奶牛有几种分组
f[i]=∑j f[j](Sum[i]>=Sum[j])
f[i] = 所有的sum[j](s[j]<=sum[i]),将所有小于sum[i]的所有sum[j]加起来,每次需要把f[i]插入到树状数组中,所以树状数组刚好可以维护。
注意I64d与lld的使用。首先将f[0]插入,f[0] = 1;
1 #include<cstdio> 2 #include<algorithm> 3 #define LL long long 4 5 using namespace std; 6 const int MAXN = 100100; 7 const int mod = 1000000009 ; 8 struct Cow{ 9 LL sum; 10 int p; 11 bool operator < (const Cow &a) const 12 { 13 return sum < a.sum; 14 } 15 }a[MAXN]; 16 int p[MAXN],n; 17 LL sum[MAXN]; 18 int lowbit(int x) 19 { 20 return x&(-x); 21 } 22 void update(int x,LL w) 23 { 24 while (x<=n) 25 { 26 sum[x] = (sum[x]+w)%mod; 27 x += lowbit(x); 28 } 29 } 30 LL query(int x) 31 { 32 LL ans = 0; 33 while (x) 34 { 35 ans = (ans+sum[x])%mod; 36 x -= lowbit(x); 37 } 38 return ans; 39 } 40 int main() 41 { 42 scanf("%d",&n); 43 for (int i=1; i<=n; ++i) 44 { 45 LL w; 46 scanf("%lld",&w); 47 a[i].sum = a[i-1].sum + w; 48 a[i].p = i; 49 } 50 a[n+1].sum = 0; 51 a[n+1].p = n+1; 52 sort(a+1,a+n+2); 53 int num = 0; 54 for (int i=1; i<=n+1; ++i) 55 { 56 if (i==1||a[i].sum!=a[i-1].sum) ++num; 57 p[a[i].p] = num; 58 } 59 update(p[n+1],1); 60 LL tmp = 0; 61 for (int i=1; i<=n; ++i) 62 { 63 tmp = query(p[i]); 64 update(p[i],tmp); 65 } 66 printf("%lld",tmp); 67 return 0; 68 }
转载于:https://www.cnblogs.com/mjtcn/p/7099844.html
P2344 奶牛抗议相关推荐
- luogu P2344 奶牛抗议 DP 树状数组 离散化
P2344 奶牛抗议 最新讨论 暂时没有讨论 题目背景 Generic Cow Protests, 2011 Feb 题目描述 约翰家的N 头奶牛正在排队游行抗议.一些奶牛情绪激动,约翰测算下来,排在 ...
- usaco 奶牛集会 奶牛抗议
奶牛集会 Description 约翰家的N头奶牛每年都会参加"哞哞大会" .哞哞大会是世界奶牛界的盛事.集会上 的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等.当然,哞哞大叫肯 ...
- 【USACO】奶牛抗议 树状数组+dp
题目描述 约翰家的 N 头奶牛正在排队游行抗议.一些奶牛情绪激动,约翰测算下来,排在第 i 位的奶牛 的理智度为 A i ,数字可正可负. 约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几 ...
- noip2017考前整理(未完)
快考试了,把我以前写过的题回顾一下. Noip2007 树网的核:floyd,推出性质,暴力. Noip2008 笨小猴:模拟 Noip2008 火柴棒等式:枚举 Noip2008 传纸条:棋盘dp ...
- P1569 [USACO11FEB]属牛的抗议Generic Cow Prote…
P1569 [USACO11FEB]属牛的抗议Generic Cow Prote- 题目描述 Farmer John's N (1 <= N <= 100,000) cows are li ...
- 洛谷 P1569 [USACO11FEB]属牛的抗议Generic Cow Prote…
P1569 [USACO11FEB]属牛的抗议Generic Cow Prote- 题目描述 Farmer John's N (1 <= N <= 100,000) cows are li ...
- 洛谷P1569 [USACO11FEB]属牛的抗议Generic Cow Prote…
题目描述 Farmer John's N (1 <= N <= 100,000) cows are lined up in a row and numbered 1..N. The cow ...
- 2021-2027全球与中国奶牛冻精市场现状及未来发展趋势
[报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了全球与中国奶牛冻精行业市场行业相关概述.全 ...
- 魔兽世界服务器位面 稳定,因抗议《魔兽世界》位面技术在RP服务器中被取消
<魔兽世界>官方在今天宣布,游戏中的位面技术已经在RP服务器中取消,原因是该技术在社区中受到了大量玩家的抗议. 不久前,一些<魔兽世界>玩家曾举办了一场名为"Tour ...
最新文章
- 10g TNS 13541 监听错误 tnsping可以但是conn system/manager@mult1.net 报错
- 神经网络中的激活函数的作用和选择
- 「SVN」Linux下svn使用命令
- 《DSP using MATLAB》Problem 7.4
- CString之GetBuffer、ReleaseBuffer
- 中国第一个发《Nature》的竟然是清朝人!被皇帝夸天下第一,他却觉得羞耻..........
- 高精度:麦森数*(洛谷P1045)
- wordpress雪花下雪WP Snow Effect插件
- 2017.10.7 最长上升子序列 思考记录
- 哈啰单车失窃数十辆 盗窃者竟有摩拜员工!只因其又新又好骑...
- UIImagePickerController PAD /IPHONE 上注意事项
- Flink SQL 实战:HBase 的结合应用
- 第六次全国人口普查数据分析
- 3dmax渲染出来的图不清晰?
- rabbitmq批量确认结合qos导致的消费者假死和消息丢失问题
- 第四方支付崛起,聚合支付为什么这么火?
- 计算机应用基础的课程目的,《计算机应用基础》课程教学大纲
- ARCGIS中坐标转换及地理坐标、投影坐标的定义(转载)
- java freemarker导出word 带图片,文件导出后图片无法使用office正常打开
- 张志华-统计机器学习-概率论导论
热门文章
- 理解和使用systrace
- Android 开源框架之 Android-async-http 源码解读
- mysql实时物化到clickhouse(MaterializeMySQL)
- JZOJ 5398. 【NOIP2017提高A组模拟10.7】Adore
- JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
- 柯泰测试同步采集软件,上海近场测试设备_柯泰测试
- android表情输入键盘,GitHub - UKfire/Emotion: 帮你的Android应用快速集成表情键盘
- ICCV 2017 《Unsupervised Learning from Video to Detect Foreground Objects in Single Images》论文笔记
- c语言memset函数用法,深入学习C语言中memset()函数的用法
- python中frame用法_python操作dataFrame基本知识点