JZOJ 5436. 【NOIP2017提高A组集训10.30】Group
来源:互联网 发布:python 登录界面 编辑:程序博客网 时间:2024/06/16 02:29
Description
Input
Output
Sample Input
10 113
28 3 39 90 46 14 55 35 48 47
Sample Output
62453
Data Constraint
Solution
- 时间复杂度
O(N2∗k) 。
Code
#include<cstdio>#include<cstring>#include<algorithm>#define add(a,b) a=(a+b)%mousing namespace std;const int N=201,mo=1e9+7;int a[N];long long ans;long long f[2][N][N*5];inline int read(){ int X=0,w=1; char ch=0; while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();} while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar(); return X*w;}int main(){ int n=read(),m=read(),p=0; for(int i=1;i<=n;i++) a[i]=read(); sort(a+1,a+1+n); for(int i=f[0][0][0]=1;i<=n;i++) { memset(f[p^=1],0,sizeof(f[p])); for(int j=0;j<=i;j++) for(int k=0,v;k<=m;k++) if(f[p^1][j][k]) { if((v=(a[i]-a[i-1])*j+k)>m) break; add(f[p][j+1][v],f[p^1][j][k]); add(f[p][j][v],f[p^1][j][k]); if(j) { add(f[p][j][v],f[p^1][j][k]*j%mo); add(f[p][j-1][v],f[p^1][j][k]*j%mo); } } } for(int k=0;k<=m;k++) add(ans,f[p][0][k]); printf("%lld",ans); return 0;}
阅读全文
1 0
- JZOJ 5436. 【NOIP2017提高A组集训10.30】Group
- JZOJ 5436. 【NOIP2017提高A组集训10.30】Group
- 【JZOJ 5436】【NOIP2017提高A组集训10.30】Group
- 【NOIP2017提高A组集训10.30】Group
- JZOJ 5435. 【NOIP2017提高A组集训10.30】Graph
- JZOJ 5434. 【NOIP2017提高A组集训10.30】Matrix
- 【JZOJ 5434】【NOIP2017提高A组集训10.30】Matrix
- 【JZOJ 5435】【NOIP2017提高A组集训10.30】Graph
- JZOJ 5434. 【NOIP2017提高A组集训10.30】Matrix
- JZOJ5436. 【NOIP2017提高A组集训10.30】Group DP
- jzoj5436 【NOIP2017提高A组集训10.30】Group
- [JZOJ5436]【NOIP2017提高A组集训10.30】Group
- JZOJ 5432. 【NOIP2017提高A组集训10.28】三元组
- 【JZOJ 5432】【NOIP2017提高A组集训10.28】三元组
- JZOJ 5407. 【NOIP2017提高A组集训10.21】Deep
- JZOJ 5408. 【NOIP2017提高A组集训10.21】Dark
- 【JZOJ 5409】【NOIP2017提高A组集训10.21】Fantasy
- JZOJ 5410. 【NOIP2017提高A组集训10.22】小型耀斑
- Run Loop
- 【实战】qq账户和密码的发送器
- 生活小记36
- 括号配对问题//正在奋斗的弱弱的程序员
- CSS 经典导航
- JZOJ 5436. 【NOIP2017提高A组集训10.30】Group
- poj1753Flip Game之 广搜解法+暴搜解法
- 聚类之DBSCAN学习
- 国际化
- 【HDU
- sublime配置C语言和c++编译环境
- Redis有序集合
- 接口文档
- 【Opencv】树莓派配置Opencv 3.2 + Raspicam (一) 系统初始配置 5种方法访问树莓派