[分块 DP] 51Nod1259 整数划分 V2
来源:互联网 发布:淘宝买游戏账号被找回 编辑:程序博客网 时间:2024/06/05 17:11
就是那个分块的套路。小于等于
总复杂度
#include<cstdio>#include<algorithm>using namespace std;typedef long long LL;const int maxn=50005,MOD=1e9+7;int n,f0[maxn],B,f[maxn][230],f1[maxn],ans;int main(){ freopen("51nod1259.in","r",stdin); freopen("51nod1259.out","w",stdout); scanf("%d",&n); B=sqrt(n)+1; f0[0]=1; for(int i=1;i<=B-1;i++) for(int j=i;j<=n;j++) (f0[j]+=f0[j-i])%=MOD; f[B][1]=1; for(int i=B;i<=n;i++) for(int j=1;j<=B;j++){ (f[i][j]+=f[i-B][j-1])%=MOD; if(i-j>=0) (f[i][j]+=f[i-j][j])%=MOD; (f1[i]+=f[i][j])%=MOD; } ans=(f0[n]+f1[n])%MOD; for(int i=1;i<=n-1;i++) (ans+=(LL)f0[i]*f1[n-i]%MOD)%=MOD; printf("%d\n",ans); return 0;}
阅读全文
0 0
- [分块 DP] 51Nod1259 整数划分 V2
- [五边形数定理 DP] 51Nod 1259 整数划分 V2 & HDU 4651 Partition
- 51Nod-1259-整数划分 V2
- 51nod 1259 整数划分 V2
- 【划分型DP】整数划分
- 51nod 1201[整数划分] 1259[整数划分V2] 1597 [有限背包计数问题]
- [DP 数论] 51Nod 1201 整数划分
- 51nod 1201 整数划分 dp
- 51nod 1201 整数划分(dp)
- 【dp】51nod 1201 整数划分
- 51 nod 1201 整数划分(dp)
- 区间DP 整数划分
- 整数划分问题 【DP】
- 整数划分问题 DP
- 整数划分 区间dp
- 整数划分(区间dp)
- 整数划分DP
- dp-整数划分问题
- 表单验证-从js原生代码到Jquery validate
- [BZOJ1034]泡泡堂 贪心
- JEESZ分布式框架安装和使用
- 【第04章】【传输】
- KafKa+Zookeeper+Flume部署脚本
- [分块 DP] 51Nod1259 整数划分 V2
- Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构
- NOIP-2016 换教室
- java基础
- 史无前例企业架构分享--SSM组合+springmvc+mybatis+shiro+restful+bootstrap
- 多条目加载适配器
- recyclerview点击进入详情
- P2066 机器分配
- 通知