POJ 2229 Sumsets(递推,找规律)
构造,递推,因为划分是合并的逆过程,考虑怎么合并。
先把N展开成全部为N个1
然后合并,因为和顺序无关,所以只和出现次数有关
情况有点多并且为了避免重复,分类,C[i]表示序列中最大的数为2^i时的方案数
树形表示合并 (UVA 10562 Undraw the Trees的表示方法。。。
7 (2^0) (7表示2^0出现的次数)
_ _ _
| | |
1 2 3 (2^1) (7个1可以合并成1~3个2)
_ _
| |
1 1 (2^2) (继续合并)
这棵树是分形的,子树的形态由根结点的值决定。
f[n]表示方案
当n是偶数,第一层会增加一颗子树 其值为 n/2, f[n] = f[n-1]+f[n/2]
当n是奇数,树的形态不变 ,f[n] = f[n-1]
#include<cstdio> #include<iostream> #include<string> #include<cstring> #include<queue> #include<vector> #include<stack> #include<vector> #include<map> #include<set> #include<algorithm> using namespace std;const int mod = 1e9, maxn = 1e6+1; int dp[maxn];//#define LOCAL int main() { #ifdef LOCALfreopen("in.txt","r",stdin); #endifint n; cin>>n;dp[1] = 1;for(int i = 2; i <= n ; i++) {dp[i] = dp[i-1] + (i&1?0:dp[i>>1]);if(dp[i]>=mod) dp[i] -= mod;}cout<<dp[n]<<endl;return 0; }
转载于:https://www.cnblogs.com/jerryRey/p/4887229.html
POJ 2229 Sumsets(递推,找规律)相关推荐
- MT【103】二阶递推找规律
评:如果直接找$a_n$的二阶递推式:$a_{n+2}-2\sqrt{2}a_{n+1}-a_n=0$有根号,不利于估计尾数. 转载于:https://www.cnblogs.com/mathstud ...
- *【HDU - 1517】【POJ - 2505】A Multiplication Game(博弈,递推找规律或SG函数)
题干: Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers ...
- Codeforces 1327 E. Count The Blocks(递推找规律)
题意: 给出一个 n n n,求 1 0 n 10^n 10n 内长度为 1 1 1到 n n n的块分别有多少个.块的含义是连续相同数字的长度. 第一眼以为数位 d p dp dp 暴力打表出前几项 ...
- 牛客网 水题 递推找规律
链接: https://www.nowcoder.com/acm/contest/91/E 来源:牛客网 小Y买了很多苹果,但他很贪吃,过了几天一下就吃剩一只了.每一天小Y会数出自己的苹果个数X,如果 ...
- poj 1283(递推ordp)
题意:有n台电脑要有k辆卡车去运,每台卡车不能为空,问有多少种运输方案,注:假设有7台电脑,3辆卡车,1,1,5和1,5,1和5,1,1被视为同一种. 解题思路:递推思想,dp[i][j]表示i辆卡车 ...
- hdu2709 Sumsets 递推
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2709 感觉很经典的一道递推题 自己想了有半天的时间了....比较弱.... 思路: 设f[n]表示和为 ...
- POJ 2229 Sumsets
题目链接 题意 给定一个数字,问用2的次方数凑,一共有几种情况 例如7: 1) 1+1+1+1+1+1+1 2) 1+1+1+1+1+2 3) 1+1+1+2+2 4) 1+1+1+4 5) 1+2+ ...
- poj 2229 Sumsets(类似于n的m划分)
传送门 •题意 将一个数N分解为2的幂之和共有几种分法? •题解 定义dp[ i ]为 i 的分解方案数. 初始化dp[0] = 20 = 1; 状态转移方程为: for i : 1 to N 若 i ...
- [线性代数学习笔记] 线性递推数列及 Berlekamp-Massey 算法的详细推导过程
线性递推数列 线性递推 对于无限数列 {a0,a1,...}\{a_0,a_1,...\}{a0,a1,...} 和有限非空数列 {r0,r1,...,rm−1}\{r_{0},r_1,...,r ...
最新文章
- 实用技能 | OpenCV算法程序导出 DLL与调用演示
- IPsec在企业网中的应用
- java 之 运算符
- 汉字的理据与造字取向
- 汽车自动泊车APA简介
- docker中部署hadoop、zookeeper、hbase伪分布式并上传到阿里云远程仓库
- 21行代码AC——HDU1106 排序
- SAP Spartacus B2B页面的6个tile,url是维护在什么地方的?
- spring容器扩展功能之一:spring加载ApplicationContext.xml的四种方式
- 装修相片(第50天拍,全部,25号更新)
- Redhat 6.8部署oracle 12c
- spring-boot (9)---STS 新建一个spring-boot rest 项目
- 数据结构与算法的时间空间复杂度
- Linux下C++的多线程编程
- kali下java,kali java安装
- matlab 给图像双三次,图像灰度的双三次插值的MATLAB实现
- us、ms、s 单位转换,不会的都是大傻子!!!
- python 正则表达式 前瞻_【正则表达式】前瞻,后顾,负前瞻,负后顾
- 360浏览器网页按钮点击无效
- 如何使用Sketch绘制半个圆角矩形