随笔分类 -  搜索

摘要:/* 最少步数问题 妥妥的Bfs 很显然队列里存的是串(可能存个数也可以 就像8数码那样) 然后每次队首元素弄出来 能换的都换一遍 最后每次换完的新串入队前先判断到头了没 最后说一句 String大法好0.0 */ #include #include #include #include using namespace std; int ans,n=1,head,tail,t[2000050];... 阅读全文
posted @ 2016-04-23 11:00 一入OI深似海 阅读(255) 评论(0) 推荐(0)
摘要:/* 数据范围太小 暴力暴力 Dfs直接 终止条件嘛 就是4中目标棋局 挨着枚举一遍就好了 搜索的起点一定是空格 当然 空格周围有黑有白 黑先走或者白先走答案可能不一样 所以 维护一个b 表示这一步走那种颜色 b=1先走白棋 b=2先走黑棋 */ #include #include #include using namespace std; int xx[5]={0,0,0,1,-1}... 阅读全文
posted @ 2016-04-23 10:50 一入OI深似海 阅读(260) 评论(0) 推荐(0)
摘要:/* 首先建立模型 可以看成是三个水杯 第三个无穷大 (这里看成是201足够了) 最少步数 想到Bfs 维护队列里的状态:要有个步数 还要有v :此时刻三个杯子有多少水 然后倒水:因为没有刻度 所以有两种情况:要么出水的为空 要么接水的满了 然后每次取队首时判断有没有某一个杯子装的水恰好为答案 注意判重时可以弄一个f [a][b] 表示第一个杯子有a升水 第二个杯子有b升水的状态存在了没... 阅读全文
posted @ 2016-04-23 10:42 一入OI深似海 阅读(585) 评论(1) 推荐(1)
摘要:/* Problem 画家问题 假设一个ans数组存的是对每一个点的操作 0表示不图 1表示图 那么 对于原图 g 操作第三行时对第一行没有影响 同样往下类似的 所以 假设我们知道了ans的第一行就是最后答案的第一行 那么对于ans的第二行 就必须是的第一行全变成黄色 以此类推 最后检验第n行 是不是全部黄色就好了 所以只需要枚举第一行的所有情况 共2的n次方种情况 */ #include #... 阅读全文
posted @ 2016-04-18 19:51 一入OI深似海 阅读(577) 评论(0) 推荐(0)