邝斌的ACM模板(整数拆分)
来源:互联网 发布:华军软件下载 编辑:程序博客网 时间:2024/06/06 03:53
本博客整理自邝斌的ACM模板
2.11、 整数拆分
HDU 4651
const int MOD = 1e9+7;int dp[100010];void init(){ memset(dp,0,sizeof(dp)); dp[0] = 1; for(int i = 1; i <= 100000; i++) { for(int j = 1, r = 1; i - (3 * j * j - j) / 2 >= 0; j++, r *= -1) { dp[i] += dp[i -(3 * j * j - j) / 2] * r; dp[i] %= MOD; dp[i] = (dp[i]+MOD)%MOD; if( i - (3 * j * j + j) / 2 >= 0 ) { dp[i] += dp[i - (3 * j * j + j) / 2] * r; dp[i] %= MOD; dp[i] = (dp[i]+MOD)%MOD; } } }}int main(){ int T; int n; init(); scanf("%d",&T); while(T--) { scanf("%d",&n); printf("%d\n",dp[n]); } return 0;}
HDU 4658
数 n(<=10^5)的划分,相同的数重复不能超过 k 个。
const int MOD = 1e9+7;int dp[100010];void init(){ memset(dp,0,sizeof(dp)); dp[0] = 1; for(int i = 1; i <= 100000; i++) { for(int j = 1, r = 1; i - (3 * j * j - j) / 2 >= 0; j++, r *= -1) { dp[i] += dp[i -(3 * j * j - j) / 2] * r; dp[i] %= MOD; dp[i] = (dp[i]+MOD)%MOD; if( i - (3 * j * j + j) / 2 >= 0 ) { dp[i] += dp[i - (3 * j * j + j) / 2] * r; dp[i] %= MOD; dp[i] = (dp[i]+MOD)%MOD; } } }}int solve(int n,int k){ int ans = dp[n]; for(int j = 1, r = -1; n - k*(3 * j * j - j) / 2 >= 0; j++, r *= -1) { ans += dp[n -k*(3 * j * j - j) / 2] * r; ans %= MOD; ans = (ans+MOD)%MOD; if( n - k*(3 * j * j + j) / 2 >= 0 ) { ans += dp[n - k*(3 * j * j + j) / 2] * r; ans %= MOD; ans = (ans+MOD)%MOD; } } return ans;}int main(){ init(); int T; int n,k; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&k); printf("%d\n",solve(n,k)); } return 0;}
阅读全文
1 0
- 邝斌的ACM模板(整数拆分)
- 邝斌的ACM模板(素数)
- 邝斌的ACM模板(求逆元)
- 邝斌的ACM模板(FFT)
- 邝斌的ACM模板(RMQ )
- 邝斌的ACM模板(树链剖分)
- 母函数的定义以及整数拆分模板 母函数(Generating function)详解
- HDU 1028 整数拆分 (母函数_模板|| 背包)
- 整数的拆分问题(允许重复)
- 整数的拆分问题(不允许重复)
- 整数拆分问题的分析(dfs)
- 整数的拆分
- ecnu1009 - 整数的拆分
- 整数的拆分问题
- 整数的加法拆分
- 整数的拆分问题
- 整数的拆分1
- 整数的拆分2
- C++学习博客收集
- DVBlast功能介绍及应用
- 环信24小时,删除聊天记录
- python6
- matlab2c使用c++实现matlab函数系列教程-exp函数
- 邝斌的ACM模板(整数拆分)
- 网络编程-TCP粘包
- 欢迎使用CSDN-markdown编辑器
- a服务调b服务的接口,postForEntity传递参数,在服务端显示乱码
- koa/redux middleware系统解析
- JVM菜鸟进阶高手之路十(基础知识开场白)
- hibernate实体类的三种状态
- Hibernate-2017-09-04
- mySQL之库、表、记录增删改查