搜索
德鸭
时间并不会因为你的迷茫和迟疑而停留,就在你看这篇文章的同时,不知道有多少人在冥思苦想,在为算法废寝忘食,不知道有多少人在狂热地拍着代码,不知道又有多少提交一遍又一遍地刷新着OJ的status页面……
没有谁生来就是神牛,而千里之行,始于足下!
展开
-
状态压缩BFS poj1753 hdu5025 hdu1885
第一次接触 状态压缩类的题刚开始的话,完全没有思路也没有想到位运算,然后就各种gg, 废话不说了 直接上代码吧。 POJ 1753; 题意就是翻棋子,求使棋盘上的棋子都是白棋或者黑棋,因为只有16个格子int的范围还能容下1 补充一下位运算 如果要获得第i位的数据,判断((data&(0X1<<i))==0),若真,为0,假,为1; 如果要设置第i位为1,data=(data|(0原创 2017-03-09 22:57:48 · 185 阅读 · 0 评论 -
POJ 1753一道状态压缩题。
这道题让我知道了算法的美丽之处。 感谢:http://blog.csdn.net/ccDLlyy/article/details/55677065?locationNum=4&fps=1位运算啊。。。总之说就是用一个 数表示一个棋盘的状态。 黑色为1白色为0; 然后进行BFS,别忘了讨论界限的情况,取反然后用book数组记录下来。就可以了 #include #include #includ原创 2017-03-06 23:23:18 · 258 阅读 · 0 评论 -
poj 3984 bfs加递归记录路径题解
刚看到这一道题,我个人是狂喜的。没错就是狂喜,哈哈哈。 后来才明白每一道中文题目都不是从天下掉下里的。哎,根本不会输出路径的问题,于是在网上找呀找 找到外婆桥,终于找到了一种我比较好理解的方法。就是用vis数组保持前缀进行回溯,我们平时在处理vis标记时大多用的波尔数组只存在0,1;而这次我们把他开成int类型,每次都记录上一次走的方向就可以了,那么问题来了如果这一步走的是方向数组的dir[0]原创 2017-02-02 22:01:04 · 510 阅读 · 0 评论 -
poj 1111 dfs求面积问题
题目链接 https://vjudge.net/contest/146654#problem/K; http://poj.org/problem?id=1111; 首先,来说说我的思路吧,最近在做dfs但只会一些简单题,就以这道题为例子来帮助自己回忆一下dfs的套路吧。嘿嘿 题目大意就是给你一个图和一个点 你用算出这个点X区域组成的 面积。刚开始也是不知道这咋整,因为这个图像并不是规则的。但原创 2017-02-02 21:49:36 · 294 阅读 · 0 评论 -
hdu1428记忆化搜索加最短路
http://acm.hdu.edu.cn/showproblem.php?pid=1428 题目 这道题把我做的都想死,首先看了一个小时的题,不明白题在说什么,题意有点太抽象只能凭借大牛的题解才了解了题意,然后开始求最短路和搜索 自己写完后t了 然后就是疯狂的t 完全懵逼了,再次祭出大牛的题解。最短路还可以,t在了dfs上,大牛用的记忆化搜索,这也是我第二次接触到这个吧,所以就写博客记录下来原创 2017-02-16 14:21:09 · 202 阅读 · 0 评论 -
HDU 3533 BFS
HDU 3533 题意: 一个人从(0,0)跑到(n,m),只有k点能量,一秒消耗一点,在图中有k个炮塔,给出炮塔的射击方向c,射击间隔t,子弹速度v,坐标x,y 问这个人能不能安全到达终点 要求: 1.人不能到达炮塔所在的坐标 2.炮塔会挡住子弹 3.途中遇到子弹是安全的,但是人如果停在这个坐标,而子弹也刚好到这个坐标,人就被射死 4.人可以选择停止不动 思路:其实不难,原创 2017-07-10 23:10:59 · 200 阅读 · 0 评论 -
A* 讲解
http://blog.csdn.net/zgwangbo/article/details/52078338转载 2017-07-07 21:26:34 · 183 阅读 · 0 评论 -
2017暑假集训 div1 简单搜索
POJ 3279 Fliptile 题意:给定一个m*n的矩阵,只有0和1,如果翻转一个数,那么它的本身和上下左右5个数都会翻转,翻转即从0变成1,1变成0,问能不能把所有的数都翻转成0,若有多种翻转方法,就输出字典序最小的那个 做法:按每一行算的话,当考虑到第i行时候必须要满足i-1行已经反转好了,那么第i-1行为黑色的地方一定要在第i行相原创 2017-07-07 23:53:01 · 206 阅读 · 0 评论