【JZOJ4806】打工
来源:互联网 发布:java base64加密乱码 编辑:程序博客网 时间:2024/04/29 19:57
Description
Solution
不要看题目那么啰嗦,实际上一个合法序列的每个
然后我们就可以开始“愉快”的dp了。
设
那么
Code
打的是很慢的方法,不同上面的。
#include<iostream>#include<cstdio>#include<cstdlib>#define fo(i,j,k) for(int i=j;i<=k;i++)#define fd(i,j,k) for(int i=j;i>=k;i--)#define N 10001#define mo 1000007#define ll long longusing namespace std;ll f[2][N][2];int a[N];int n;int main(){ freopen("1.in","r",stdin); freopen("1.out","w",stdout); cin>>n; fo(i,1,n) scanf("%d",&a[i]); f[1][1][1]=1; int p=1,q=a[1]; fo(i,2,n) { p=1-p; q=max(q,a[i]); fo(j,1,i) { f[p][j][1]=0; f[p][j][0]=(f[1-p][j][0]*max(0,j-a[i]+1)+(f[1-p][j][0]+f[1-p][j][1])*min(j,a[i]-1)+f[1-p][j-1][0])%mo; if(j<a[i]) f[p][j][0]=f[p][j][0]+f[1-p][j-1][1]; } f[p][q][1]=1; } ll ans=0; fo(i,1,n) ans=(ans+f[p][i][0]+f[p][i][1])%mo; cout<<ans;}
1 0
- 【JZOJ4806】打工
- JZOJ4806. 打工
- 【JZOJ4806】打工
- 打工
- 打工
- 打工
- 打工?
- 打工
- 打工
- 打工人生
- 打工联盟
- 打工曲
- IT打工
- 外出打工
- 打工的
- 打工去
- 打工心酸
- 打工者
- 我的第一篇博客
- 使用命令行 cd e: 无法切换到E盘
- poj2019 Cornfields
- 【数据结构】算法5.3 行逻辑链接的顺序表-乘积
- CL visual C++
- 【JZOJ4806】打工
- dubbo框架及dubbo环境搭建
- LWIP 的动态内存管理
- java面向对象(基础)
- 2016/09/18 print_r函数第二个参数是否使用过,如果用过请说出具体功能
- starUML2.7通用破解教程
- 静态页面制作(二)
- Java.math.BigInteger/Java.math.BigDecimal
- codevs3013单词背诵--字符串哈希,线型探测哈希