[JZOJ5436]【NOIP2017提高A组集训10.30】Group
来源:互联网 发布:好看的步兵番号知乎 编辑:程序博客网 时间:2024/06/11 18:25
Description
Solution
如果直接计算每一组的极差进行求和,那么状态量是非常大的。
先将a排个序
那么极差就是最小值到最大值之间的所有数差的和
设DP
那么转移K只需要考虑a[i]-a[i-1]
分几种情况讨论一下即可。
Code
#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <iostream>#include <cstdlib>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fod(i,a,b) for(int i=a;i>=b;i--)#define N 205#define LL long long#define mo 1000000007using namespace std;LL f[2][N][1005],s[N],low[N];int a[N],n,m;int main(){ cin>>n>>m; fo(i,1,n) scanf("%d",&a[i]); sort(a+1,a+n+1); f[1][1][0]=f[1][0][0]=1; LL ans=0; fo(i,2,n) { int i1=i&1; fo(j,0,i) { fo(s,0,m) { f[i1][j][s]=0; int c=a[i]-a[i-1]; if(s>=j*c) { if(j) (f[i1][j][s]+=f[1-i1][j][s-j*c]*(LL)(j))%=mo; (f[i1][j][s]+=f[1-i1][j][s-j*c])%=mo; } if(s>=(j+1)*c) (f[i1][j][s]+=f[1-i1][j+1][s-(j+1)*c]*(LL)(j+1))%=mo; if(s>=(j-1)*c&&j!=0) (f[i1][j][s]+=f[1-i1][j-1][s-(j-1)*c])%=mo; if(i==n&&j==0) (ans+=f[i1][j][s])%=mo; } } } printf("%lld\n",ans);}
阅读全文
0 0
- JZOJ5436. 【NOIP2017提高A组集训10.30】Group DP
- jzoj5436 【NOIP2017提高A组集训10.30】Group
- [JZOJ5436]【NOIP2017提高A组集训10.30】Group
- 【NOIP2017提高A组集训10.30】Group
- 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】总结
- 【JZOJ5434】【NOIP2017提高A组集训10.30】Matrix
- JZOJ5434. 【NOIP2017提高A组集训10.30】Matrix
- 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
- 【NOIP2017提高A组集训10.21】Dark
- 【NOIP2017提高A组集训10.21】Fantasy
- 【NOIP2017提高A组集训10.21】 总结
- 谈谈MySQL乱码和set names
- Python 的reload()方法
- 树的子结构(代码的鲁棒性)
- ZeroMQ接口函数之 :zmq_setsockopt –设置ZMQ socket的属性
- 输入框中根据用户输入内容动态查询
- [JZOJ5436]【NOIP2017提高A组集训10.30】Group
- 对vue中 默认的 config/index.js:配置的详细理解 -【以及webpack配置的理解】-config配置的目的都是为了服务webpack的配置,给不同的编译条件提供配置
- linux 目录的介绍
- 面对复杂项目,如何提高设计方案的可行性
- Python异常
- 在ACE中与数据库交互的时候,利用视图和重写来读取不同数据表的字段到同一个页面上。
- 选择排序
- APUE-用fcntl函数对指定的描述符打印和开启文件标志
- 超神路之始——仿真