把M位的2^M种不同的0-1串按圆排列划分(3)终结
来源:互联网 发布:galgame资讯软件 编辑:程序博客网 时间:2024/04/30 04:17
接上篇
对循环的解析原理就是把n分解成n个数相加的种类。
对循环的解析如下(以M=6为例):
上篇的杨辉三角数是:1,6,15,20,15,6,1
对应的1的个数是0,1,2,3,4,5,6
由于0和1的对称性,只需分析1的个数是0,1,2,3的情况。
0个1,自然只有一个,自成一组
1个1的情况,只能分解成1为1,因而这个循环中只有一个特征串:100000,可以表示6个串
2个1的情况,按第一篇的介绍,可以表示成(0,4),把它分解成2个数相加的情况为三种情况:4 = 0 + 4,对应特征串110000,可表示6个串; 4 = 1 + 3,对应特征串101000,可表示6个串;4 = 2 + 2,对应特征串100100.,可表示3个串(因为对称)。总数: 6 + 6 + 3 = 15。
3个1的情况, ,按第一篇的介绍,可以表示成(0,0,3),把它分解成3个数相加的情况为四种情况:3 = 0 + 0 + 3,对应的特征串111000,可表示6个串; 3 = 0 + 1 + 2,对应特征串110100,可表示6个串; 3 = 0 + 2 + 1,对应的特征串110010,可表示6个串; 3 = 1+ 1 +1,对应特征串101010, 可表示2个串; 总数:6 + 6 + 6 + 2 = 20。
对于任意的M位数,都可以这样分解,从而得到所有的特征串。
至于,分解(M - n)为n个数的和的形式的算法,在此不提供。见谅!
- 把M位的2^M种不同的0-1串按圆排列划分(3)终结
- 把M位的2^M种不同的0-1串按圆排列划分(1)
- 把M位的2^M种不同的0-1串按圆排列划分(2)之再思考
- n的m划分 dp
- M个1和N个0的排列
- 给定正整数n和m,计算出n个元素的集合{1,2,...,n}可以划分为多少个不同的由m个元素组成的子集合
- 排列数A(n, m)的计算
- LintCode:M-带重复元素的排列
- 从M个不同的整数中,选择N个出来排列
- 如何把hotmail从2M升级到25M在升级到250M的过程
- 【看书】while(m)m&=m-1,s++;的解释
- 1!+2!+。。。+m!<n,求m的值
- 1!+2!+。。。+m!<n,求m的值
- 求m的n次方的后3位
- 把matlab的.m编译为.exe
- 两个int数m和n的二进制表达式中有多少位不同?
- M M M 的MYSQL 环形复制
- STM32 Contex-M的位带操作
- C#修改电脑密码,重置电脑密码DirectoryEntry实现
- Thinkphp常用系统变量指导
- sp_executesql介绍和使用
- Iscsi挂载大容量存储
- Java算法学习(查找数字)
- 把M位的2^M种不同的0-1串按圆排列划分(3)终结
- Spring事务的传播行为和隔离级别
- WCHAR我不再惧怕了
- 2012-10-15 origin和图像depth之间的转换
- Android创建逐帧动画的方式
- MyEclipse 8.6 download 官方下载地址
- zoj 1151.Word Reversal
- Python Pycurl 多线程段错误
- POJ2230