Generic Cow Protests-G——60分做法
来源:互联网 发布:谭浩强c语言电子书pdf 编辑:程序博客网 时间:2024/06/01 12:34
【 题目描述】
FJ 家的 N 头奶牛正在排队游行抗议。 一些奶牛情绪激动, FJ 测算下来, 排在第 i 位的奶牛的理智
度为 Ai, 数字可正可负。
FJ 希望奶牛在抗议时保持理性, 为此, 他打算将这条队伍分割成几个小组, 每个抗议小组的理智度
之和必须大于或等于零。 奶牛的队伍已经固定了前后顺序, 所以不能交换它们的位置, 所以分在一个小
组里的奶牛必须是连续位置的。 除此之外, 分多少组, 每组分多少奶牛, 都没有限制。
FJ 想知道有多少种分组的方案, 由于答案可能很大, 只要输出答案除以 1000000009 的余数即可。
【 输入格式】
第 1 行一个整数 N;
第 2 行到第 N+1 行,第 i+1 行有一个整数 Ai;
【 输出格式】
输出共一行一个整数: 表示分组方案数模 1000000009 的余数;
【 输入样例】
4 2 3 -
3
1
【 输出样例】
4
【 样例说明】 如果分两组, 可以把前三头分在一组, 或把后三头分在一组; 如果分三组, 可以把中间两
头分在一组, 第一和最后一头奶牛自成一组; 最后一种分法是把四头奶牛分在同一组里。
【 数据规模】
对于 20%的数据: 1≤N≤20;
对于 40%的数据: 1≤N≤1,000;
对于 60%的数据: 1≤N≤10,000;
对于 100%的数据: 1≤N≤100,000; |Ai|≤10,000;
此题很容易想到前缀和思路,只要求出前缀和,用DP求出总数即可,
DP方程也很好推
for(register int i=1;i<=n;i++) for(register int j=0;j<=i-1;j++){ if(sum[i]<sum[j]) continue; dp[i]+=dp[j]%1000000009; }
阅读全文
0 0
- Generic Cow Protests-G——60分做法
- [Usaco2011 Feb]Generic Cow Protests
- TOJ 3425: Generic Cow Protests -- 树状数组
- bzoj 2274 [Usaco2011 Feb]Generic Cow Protests
- bzoj2274[Usaco2011 Feb]Generic Cow Protests
- 2274: [Usaco2011 Feb]Generic Cow Protests
- SicilyOJ(SOJ) 5228 Generic Cow Protests(dp+离散化+树状数组优化)
- Java_泛型—generic
- 传球70分做法
- Java——泛型Generic
- Generic/Legacy ——ApplyRootMotion
- 洛谷p1967货车运输简单60分做法
- G - Catch That Cow
- G-catch that cow
- G-Catch That Cow
- 差分约束的做法
- java学习笔记——泛型Generic
- 黑马程序员——泛型(Generic)
- java抽象类练习题
- 从零开始前端学习[10]:控制字体的样式font样式
- 数据结构 P16 算法实现
- js玩转多个div互换
- 程序运行时三种内存分配策略:静态的、栈式的、和堆式的,以及区别 按照编译原理的观点
- Generic Cow Protests-G——60分做法
- 使用k-d树进行无序点云去噪
- Linux、ubuntu下pip安装aiohttp失败,修改python默认版本
- Mysql常见知识点
- Weekly(学员端、导师端)项目总结
- loadrunner Web_类函数之web_reg_save_param_xpath()
- 学生信息管理系统之优化问题
- poj 2186 Popular Cows
- Linux日记(3)——掌握常用的Linux命令