将数字1~9分别填入,每个数字只能使用一次使得等式成立。例如173+286=459就是一个合理的组合,请问一共有多少种合理的组合?注意173+286=459和286+173=459是同一种组合。
根据枚举思想我们只需要枚举每一位上所有可能的数就好了。用一个book数组来标记解决互不相等的问题。
由于173+286=459和286+173=459是同一种组合,所以结果to...
分类:
其他好文 时间:
2015-01-29 12:50:16
阅读次数:
240
第一道状态压缩dp :)
考虑每一行的情况,如果我们令0表示不可以放牧1表示放牧,那么这一行所有可行的情况都可以穷举出来并对应到一个十进制的数;这就是状态压缩。再由题目可以知道每一行的状态可不可以出现只和它前面的那一行有关,所以我们可以定义 dp[i][j]表示第i行处于第j种状态的时候有多少种放牧的方法;
dp[i][j]=dp[i-1][j1]+dp[i-1][j2]+。。。。+dp[i-...
分类:
其他好文 时间:
2015-01-29 09:29:07
阅读次数:
121
大致题意:3 * 3的黑白格,在翻转的时候会本身和四周的都翻转,问最小翻转几次变成全部是白色解题思路:把3 * 3 = 9 个格子进行全排列,然后穷举然后找翻转的最小次数#include #include #include using namespace std;int dr[] = {0,1,0,...
分类:
其他好文 时间:
2015-01-28 19:28:11
阅读次数:
210
声明:这个系列博客是《数据结构与算法分析 C++描述》的读书笔记系列
参考博客:点击打开链接
本文是原书第二章内容,主要内容包括:算法的时间复杂度分析/算法的优化,分析的例子是很出名的最大子序列求和问题。
分为了四种方法来求解:穷举/穷举优化/递归(分治)/联机算法(动态规划), 算法复杂度为O(N^3)/O(N^2)/O(N*logN)/O(N). 思路都在具体代码里
---------...
分类:
编程语言 时间:
2015-01-24 14:31:54
阅读次数:
184
FFMpeg对视频文件进行解码的大致流程1. 注册所有容器格式: av_register_all()2. 打开文件: av_open_input_file()3. 从文件中提取流信息: av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. ...
分类:
其他好文 时间:
2015-01-08 19:29:17
阅读次数:
179
趣味方程之百鸡百钱大家想必都知道这个问题,问题在这里就不描述了。直接分析:如果用数学的思想来解决这个问题,设公鸡x只,母鸡y只,小鸡z只。5*x+3*y+z/3 = 100x+y+z=100但看这个方程有无数的解,其实里面隐藏着一个x,y,z都是正整数,因此解决这个方法用穷举。确定程序的框架:我们编...
分类:
其他好文 时间:
2014-12-31 06:17:24
阅读次数:
181
三色球问题若一个口袋里放了12个球,3个红的,3个黄色的,6个绿色的,从中任意选择8个,问有多少不同的搭配?1:问题的分析取红色的球可以有4种可能:0个,1个,2个,3个取黄色的球可以有4种可能:0个,1个,2个,3个取绿色的球可以有7种可能:0个,1个,2个,3个,4个,5个,6个我们只需要穷举每...
分类:
其他好文 时间:
2014-12-30 22:02:00
阅读次数:
190
迭代//兔子生兔子class Class5 {static void Main(string[] args) { int tu1 = 1, tu2 = 1; //tu1是倒数第一个月的兔子数,tu2是倒数第二个月的兔子数 int tu=0;//要求的这个月的兔子数。 for (int i = ...
for()循环。四要素:初始条件,循环条件,状态改变,循环体。 执行过程:初始条件--循环条件--循环体--状态改变--循环条件....注意:for的小括号里面分号隔开,for的小括号后不要加分号。 for的嵌套。 应用:迭代法,穷举法。一、迭代法:有一定规律。 每次循环都是从上次运算结果中获得数据...
for()循环。四要素:初始条件,循环条件,状态改变,循环体。执行过程:初始条件--循环条件--循环体--状态改变--循环条件....注意:for的小括号里面分号隔开,for的小括号后不要加分号。for的嵌套。应用:迭代法,穷举法。一、迭代法:有一定规律。 每次循环都是从上次运算结果中获得数据,本次...
分类:
其他好文 时间:
2014-12-26 22:52:30
阅读次数:
486