码迷,mamicode.com
首页 >  
搜索关键字:剪枝    ( 1397个结果
计算4000000000以内最大的f(n)=n的值---字符串问题python实现(五)
问题:写一个函数,计算4 000 000 000 以内的最大的那个f(n)=n的值,函数f的功能是统计所有0到n之间所有含有数字1的数字和。比如:f(13)= 6,因为“1”在“1,2,3,4,5,6,7,8,9,10,11,12,13”中的总数是6(1,10,11,12,13)。传统枚举方法效率低、求解时间长,本文介绍如何采样剪枝操作提高算法效率、降低求解时间。...
分类:编程语言   时间:2014-05-22 09:10:59    阅读次数:336
Light OJ 1028 Trailing Zeroes (I) 求n因子数
题目来源:Light OJ 1028 题意:求一个数转化成任意进制后末尾有0的种数 就是一个数因子的个数 思路:一个数可以被分解成若干素数相乘 p1^x1*p2^x2*...*pn^xn 根据乘法原理 因子数为 (x1+1)*(x2+1)*...*(xn+1) 注意剪枝 #include #include #include #include using namespace st...
分类:其他好文   时间:2014-05-22 07:23:04    阅读次数:247
装载问题
装载问题同样也是递归回溯法的一个简单应用,用子集树表示解空间显然是最合适的。在递归回溯时,可以进行相应的剪枝。问题的解要满足两个条件:1.首先将第一艘轮船尽可能装满2.将剩余的集装箱装上第二艘轮船由此可知,只要求出不超过第一艘轮船载重量c1的最大值,若总重量-c1#include#include#i...
分类:其他好文   时间:2014-05-21 19:20:24    阅读次数:296
最长回文子串
一般求回文子串用的是Manacher算法,但是该算法只是简单判断回文,该题目中需要去除掉空格和标点,所以,自己用了动态规划(加剪枝,取出空号等)。 代码如下: //最长回文子串 动态规划 #include #include #include #include //for tolower #define MAXSIZE 5000 char str[MAXSIZE];//="Confucius...
分类:其他好文   时间:2014-05-21 16:00:30    阅读次数:211
POJ 3278 Catch That Cow
POJ 3278 Catch That Cow 题目大意: 告诉你起点位置和终点位置,你可以有三种操作,从某个位置x,可以到达x-1,x+1,2*x,问你从起点到终点最短时间? 解题思路: 利用bfs枚举位置即可 但是刨除以下情况,也就是剪枝一下 1、当x终点位置时,x+1和2*x均不能到达 解题代码:见本文详细...
分类:其他好文   时间:2014-05-21 14:33:08    阅读次数:241
POJ 3373 Changing Digits
题目大意: 给出一个数n,求m,使得m的长度和n相等,能被k整除。有多个数符合条件输出与n在每位数字上改变次数最小的。改变次数相同的输出大小最小的。  共有三种解法:DP解法,记忆化搜索和DFS+强剪枝的算法。 后两种以后会更新。 1、DP解法: 解题思路: DP[i][j]表示数n的前i位除以k余j最小改变几位。 DP[len][0]就表示数n被k整除最小改变几位。 根据这个...
分类:其他好文   时间:2014-05-18 06:02:56    阅读次数:319
uva519 - Puzzle (II)(回溯)
题目:uva519 - Puzzle (II) 题目大意:给出拼图,要求将给出的拼图拼成 n行m列的矩形,可以输出yes,不行输出no。 解题思路:直接dfs,但是需要剪枝。 1、判断 F 的出现个数是否等于 2 * ( n + m) , 还有IO的个数是否匹配。 2、边界问题要处理,例如第一行第N行,第一列第M列,这些地方的拼图是有要求的,这些边界拼图的的外围都要是F。例如第一行...
分类:其他好文   时间:2014-05-15 08:00:13    阅读次数:259
HDU 4027 Can you answer these queries? (线段树+区间点修改)
题意:给你 n 个数,m个询问(c,x,y) c==0 把x,y区间的值变为原来的平方根(向下取整) c==1 计算x,y区间的和。 利用1的开方永远为1剪枝。。 #include #include #include #include //#include #include #include #include #include #include #include...
分类:其他好文   时间:2014-05-13 15:50:04    阅读次数:338
HDU4027 Can you answer these queries 线段树区间求和+剪枝
给了你n,然后n个数字在一个数组中,接下来m个询问,每个询问三个数字 t,x,y,若t==0,那么修改区间[x,y]的每一个值,变为原来每个位置上的数 开根号取整,若t==1,那么对区间[x,y]求和 由于n,m,很大,所以树状数组铁定超时,若直接用线段树来做区间修改,那么也是超时,这类题目没别的方法了,静心剪枝,发现题目给的数据范围为2^63,有没有发现,2^63开根号 绝对不需要开1...
分类:其他好文   时间:2014-05-12 23:01:59    阅读次数:479
USACO/fence8 迭代加深搜索+剪枝
题目链接 迭代加深搜索思想。 枚举答案K,考虑到能否切出K个木头,那么我们当然选最小的K个来切。 1、对于原材料,我们是首选最大的还是最小的?显然,首选大的能够更容易切出,也更容易得到答案。 2、对于目标木头,我们是优先得到最大的还是最小的?显然,由于K个木头我们都要得到,那么当然先把最大的(最难得到的)先得到,这种搜索策略更优。 3、假设总原材料为all,前K个木头总和为sum,那...
分类:其他好文   时间:2014-05-09 21:07:28    阅读次数:305
1397条   上一页 1 ... 137 138 139 140 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!