注:网上搜的第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 10...
分类:
其他好文 时间:
2014-11-02 20:47:02
阅读次数:
939
Square
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8900 Accepted Submission(s): 2893
Problem Description
Given a set of sti...
分类:
其他好文 时间:
2014-11-02 19:43:04
阅读次数:
178
题目:poj 2484 Cow Exhibition
题意:给出n头牛,每头牛有一个幸运值 si 和聪明值 ti ,现在要选出一些牛,让两个值的和最大,前提是sum(si)和sum(ti)都是非负值。
分析:此题数据量不大,可以暴搜+剪枝水过。
这里要说的是0-1背包的思想,这个题目明显的变形就是物品有两个属性值,而且都要选最大的。
那么我们可不可以把一个值固定下来来求另一...
分类:
其他好文 时间:
2014-10-30 11:44:06
阅读次数:
208
题目大意:有一张5*5的棋盘,上面有12和黑棋还有12个白棋。问最少多步可以到达目标状态。
思路:搜索+剪枝。至于剪枝我就用ID+A*的组合了,因为都不难想,估价函数就是当前图和目标图有多少个方块不一样。如果当前步数+估价大于当前迭代加深的层数就退出。
CODE:
#include
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-10-29 17:06:52
阅读次数:
224
九度 题目1422:Closest Number
这个题目一看,10s,刚上来我就用暴力的方式去求解,果然超时了,汗。。。
后来想想,暴力的方式上可以进行剪枝。
1:我不用计算左和右哪个最小,我直接按照距离来,直接计算就好了,但是需要优先比较左边的。
2:如果左边或右边不存在了,那就直接在另一边找就可以了。
3:需要先排除最小值的情况,这个会方便后面的代码,如果不进行最小值判断,在计算左右满足数的时候还需要考虑输出0的情况,比较麻烦
总是剪枝之后比他们动态规划的结果还要好啦...
分类:
其他好文 时间:
2014-10-28 10:22:16
阅读次数:
179
貌似去年暑假就听过这道题。。。那时候还YY了个什么平面三条轴,夹角Π/3之类的。。。正解嘛。。。当然是DP令f[i][j][k]表示到了第i种面值,第一个人还有j元钱,第二个人还有k元钱的最少交换张数。于是就是个背包问题的说,然后因为dp方程太复杂了,请参考程序吧。。。(还有个非常厉害的剪枝我的程序...
分类:
其他好文 时间:
2014-10-24 18:16:36
阅读次数:
188
题目链接:hdu 5077 NAND
题目大意:Xiaoqiang要写一个编码程序,然后根据x1,x2,x3的值构造出8个字符,现在给定要求生成的8个字符,问
说Xiaoqiang最少要写多少行代码。代码内容只能为NAND操作和return操作,操作的变量可以是常数。
解题思路:输入总共就256中情况,所以暴力剪枝打表,打表的代码手贱给删了。。。所以就将一下思路,开一个s数组...
分类:
其他好文 时间:
2014-10-24 00:23:27
阅读次数:
197
题目大意:给定一个棋盘,每个棋子都是骑士,问能否在15步之内移动为特定排布
此题采用IDA*
估价函数为:当前棋盘与目标棋盘不同的位置数量-1
易知一个棋盘最少需要这么多的步数才能达成目标棋盘
若当前步数+估价函数大于最大深度 则剪枝
优先搜索懒得写0.0 这样就能切掉就行
#include
#include
#include
#include
using namespace std;...
分类:
其他好文 时间:
2014-10-22 20:25:45
阅读次数:
153
Dancing Links (DLX)是Knuth为了解决精确覆盖问题而提出的算法,很多搜索问题可以转化位精确覆盖问题从而使用Dancing Links解决(效率会比DFS高很多,因为里面常常蕴涵着意想不到的剪枝)信息学竞赛中的DLX的问题类似网络流,只需建图+贴版即可参考文献:1、DLX的原理:K...
分类:
其他好文 时间:
2014-10-22 14:23:05
阅读次数:
226
New Game
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
New game是在一个M*M的特殊棋盘(棋盘的第i行都标上了数字i)上进行的新式游戏。给定一个数字N,要求选手把一个棋子从左上角(1,1)移到右下角(M,M),移动时只能往右或往下。要求移动后经过的数字和为N,且拐弯的次...
分类:
其他好文 时间:
2014-10-20 23:19:55
阅读次数:
244