给一个序列划分为若干组,每组的和 S>=0, 问方案数

首先是暴力dp

for(i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];f[0]=1;for(i=1;i<=n;i++)for(j=0;j<i;j++)if(s[i]>=s[j]) f[i]+=f[j];cout<<f[n];

优化:

注意到  j<i 且 sum[j]<=s[i],又是二维偏序

模仿逆序对

注意这里 f[0]=1 的初始化比较特殊,特别处理一下

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std ;const int N=1e5+2;#define int long longconst int mod=1e9+9;int tr[N];int a[N],n,s[N],f[N];int len,b[N];int lowbit(int x){return x&-x;}void add(int x,int v){for(;x<=n;x+=lowbit(x)) tr[x]+=v;}int q(int x){int t=0;for(;x;x-=lowbit(x)) t+=tr[x];return t;}int rk(int x){return lower_bound(b+1,b+1+len,x)-b;}signed main(){//freopen("in","r",stdin);int i,j;cin>>n;for(i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];for(i=0;i<=n;i++) b[++len]=s[i];sort(b+1,b+1+len);len=unique(b+1,b+1+len)-b-1;f[0]=1;add(rk(s[0]),f[0]);for(i=1;i<=n;i++){int t=rk(s[i]);f[i]=q(t),f[i]%=mod; add(t,f[i]);}cout<<f[n]<<'\n';}

luogu 2344相关推荐

  1. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

  2. [Luogu] 选学霸

    https://www.luogu.org/problemnew/show/P2170 并查集+DP #include <iostream> #include <cstring> ...

  3. Luogu 2470 [SCOI2007]压缩

    和Luogu 4302 [SCOI2003]字符串折叠 差不多的想法,区间dp 为了计算方便,我们可以假设区间[l, r]的前面放了一个M,设$f_{i, j, 0/1}$表示区间$[i, j]$中是 ...

  4. 【Luogu】P1613 跑路

    [Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...

  5. Luogu P6055 [RC-02] GCD(莫比乌斯反演,杜教筛)(这题乐死我了,真就图一乐呗)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P6055 Prob ...

  6. Luogu P3177 [HAOI2015] 树上染色(树上背包)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Luogu P3177 [HAOI2015] 树上染色 有一棵点数为 NNN 的树,树边有边权.给你一 ...

  7. Luogu P4178 Tree (点分治 + 树状数组)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P4178 Prob ...

  8. Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理,子集反演)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理) Problem n≤1 ...

  9. BZOJ 2154 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演,经典好题)(Luogu P1829)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P1829 [国家集训队]Crash的数字表格 / JZPTAB(反演,经典好题) Problem S ...

最新文章

  1. 阿里飞天大数据飞天AI平台“双生”系统正式发布,9大全新数据产品集中亮相
  2. Shell特殊变量含义
  3. 网站过度优化该怎样解决?
  4. sqlserver常用函数点滴记录
  5. UILabel 根据text的内容来调整大小
  6. 《C#3.0 in a Nutshell,3rd Edition》之C#3.0和.net3.5基本介绍篇
  7. 使用Jolokia和JMX进行客户端服务器监视
  8. 什么是软件测试,软件测试需要注意些什么?
  9. 简述python调试程序_简单调试 Python 程序
  10. ANSYS18.2安装教程
  11. JAVA实现网页版斗地主_通过Java实现斗地主
  12. addEventListener与attachEvent
  13. IOS – OpenGL ES 图像侵蚀边缘色彩模糊 GPUImageRGBErosionFilter
  14. Linux tmp目录的清理规则详解
  15. 李宏毅 Transformer(Decoder部分)
  16. csc函数(csc函数值)
  17. atsha204a加密ic01
  18. 删除linux 中压缩文件
  19. 更换新电脑,如何将旧电脑数据/文件传输到新电脑?
  20. 目标跟踪介绍(单目标)

热门文章

  1. linux 线程与进程的简单区别
  2. 最全解释什么是元宇宙
  3. direcrx11 学习日记supersampling (超采样抗锯齿)和(多重采样抗锯齿)的区别
  4. 使用sdk连接夜神模拟器
  5. vue 自定义视频上传 el-upload图片上传
  6. 读书笔记--《伽利略的苦恼》
  7. 会议室电脑怎么无线投屏
  8. H3C S5500三层交换机划分Vlan与H3C路由组网
  9. JSON.parse
  10. 高中关于人工智能方面的课题_AI专题 | 北京高中学生人工智能调研报告来了