POJ
cy41
celery cabbage
展开
-
POJ-3414
这只是一道记录状态的步骤多一点的bfs罢了。 每一步都最多有六种下一步: 1.清空A, 2.清空B 3.装满A 4.装满B 5.将A中液体倒入B 6.将B中液体倒入A; //step[][]数组用来记录步数 //Node gogo[][]用来记载每一步具体是干什么的; 比如:父状态是: a: 0 b: 0 将设子状态是装满B则子状态为na: 0 nb: B n...原创 2018-11-03 13:37:06 · 745 阅读 · 1 评论 -
POJ - 3009 dfs
初看此题直接上手bfs,但是却忽略了一个严重的问题,比如地图的改变,因为每一次出发都可能有四种状态,如果四种状态都能走,那么可能会造成直接改变四处地图样貌,那么再进行下一步走的时候地图就会变成走了四个状态的样子,这样解就肯定错误的。 由此想到可不可以走这一步只改变这一步的地图样子,然后走完这种的所有情况,再将地图复原,由此想到递归回溯,代码如下: #include<cstdio>...原创 2018-11-06 17:33:31 · 117 阅读 · 0 评论 -
POJ - 1017 贪心模拟
因为4*4,5*5,6*6的必须单独放,所以先开辟这三个的盒子,然后往里面添加1*1和2*2的; 对于5*5的只能填1*1的,一个已经塞了5*5的盒子可以填11个1*1的格子; 对于4*4的,先填2*2的,再填1*1的; 然后再为3*3的开辟新盒子,每四个可以放一个盒子,不足四个的再新开辟一个,然后往里面塞1*1和2*2的,同理也是先塞2*2的; 如果新开辟了一个盒子里面只有一个3*3的...原创 2018-11-15 21:31:01 · 333 阅读 · 0 评论 -
POJ1011 dfs剪枝
B站上老师已经讲的很清楚了,我挂个代码; B站:https://www.bilibili.com/video/av10046345/?p=18 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> us...原创 2018-11-19 15:08:29 · 159 阅读 · 0 评论 -
POJ - 2010 优先队列
参考自:https://blog.csdn.net/jhgkjhg_ugtdk77/article/details/38323509 因为是找中位数嘛,所以不必关心这个值的左右到底是谁,只需要知道他可以满足条件即可; 先按照小牛的分数从小到大排个序; 然后我们需要维护这个小牛的左边和右边(n/2)个小牛的最小资助金额; 根据分析,就有了结构体: struct Cow{ long ...原创 2018-11-17 11:14:39 · 177 阅读 · 0 评论