搜索
soundwave_
Talk is cheap. Show me the code.
展开
-
[记忆化搜索]vijos 1599 货币
背景又是一道水题描述在某个神秘的星球上有一种货币,它有一种奇怪的兑换规则你有且仅有一枚面值为n的金币,你可以去银行进行兑换,也可以不兑换如果去银行兑换,兑换的规则是这样的:用面值为a的金币去兑换可以换到a/2,a/3,a/4这三枚硬币(如果是小数则截尾取整),你可以兑换多次读入n输出你最后最多能拥有的钱数w每个测试点中有T组数据原创 2016-07-22 14:21:57 · 472 阅读 · 0 评论 -
[模板]广度优先搜索BFS
BFS(广度优先搜索)适用于节点多,搜索树不深的情况;学习博客:http://blog.csdn.net/raphealguo/article/details/7523411DFS(深度优先搜索)适用于节点少,搜索树深的情况;学习博客:http://rapheal.iteye.com/blog/1526863具体情况具体分析,贴一个BFS模板:#include #in原创 2016-08-06 18:50:30 · 373 阅读 · 0 评论 -
[DP+记忆化搜索]poj1191 棋盘分割
题意:把棋盘切割成n份,但是要按照规则,不管横切竖切要一刀贯穿,所以并不是普通的切割,求切割后各矩形棋盘总分的最小均方差思路:肯定要把看着繁复的均方差公式简化,由于根号、除以n、x平均值(也就是8*8总矩阵和/n)的都不会妨碍均方差求最小值,所以我们只需要让xi^2的总分的平方和最小即可公式证明(设sum为总矩阵和):σ= (∑(xi-x)^2/n)^(1/2)= ([原创 2016-10-23 13:33:49 · 339 阅读 · 0 评论 -
[BFS]poj 2251 Dungeon Master
poj 2251 Dungeon Master题意:3D的迷宫,就是普通的迷宫又加了一维,相当于一个变成一个迷宫楼啦给出起点和终点,如果可以从起点到终点,输出最小时间,过一个格或上楼下楼都是需要1min思路:一看到迷宫,还有最小值,没错啦BFS没有难点,就是二维变三维了,照葫芦画瓢咯代码:#include #include #include #include原创 2017-03-21 00:45:45 · 334 阅读 · 0 评论 -
[DFS]poj 1321 棋盘问题
poj 1321 棋盘问题题意:规定n*n大小的棋盘,给定棋子数目,求规定棋子数目的摆放方案思路:求方案数,dfs更合适吧1、因为求方案数,注意回溯2、题目一个坑……,“#”表示才棋盘区域,“.”才相当于墙壁代码:#include #include #include #include #include #include #include //notic原创 2017-03-21 00:39:03 · 305 阅读 · 0 评论 -
[BFS]poj 1915 Knight Moves
poj 1915 Knight Moves题意:如文中图所示,在国际象棋中骑士有这八种移动方式,给出起点和终点,求从起点到终点的最小步数思路:bfs,只要到了终点就输出终点步数,根据bfs特性,此时即为最小值代码:#include #include #include #include #include using namespace std;const i原创 2017-03-21 00:07:51 · 305 阅读 · 0 评论 -
[记忆化搜索]poj 1088 滑雪
思路:记忆化搜索代码:#include using namespace std;typedef map mii;typedef vector vi;typedef pair pii;//状态转移方程 d[i][j] = max(d[i-1][j],d[i+1][j],d[i][j-1],d[i][j+1]) + 1;const int dx[4] = {-1,1,0,0}原创 2016-07-22 14:23:17 · 308 阅读 · 0 评论 -
[搜索+剪枝/]poj1054 The Troublesome Frog
poj1054 The Troublesome Frog题意:一块矩形农田,每只蛤会以不同的方式(横/竖/斜)不同的步距跳跃,如果被蛤踩到庄稼就会受损,请问个体蛤损坏庄稼的最大值思路:两种思路:搜索+剪枝/dp+hash枚举前两步,确定青蛙的步距(确定斜率),然后搜索,比较慢听别人说还有一种思路是dp,应该更高效,但是没想出来……代码1(搜索+剪枝):#incl原创 2016-10-23 13:58:19 · 359 阅读 · 0 评论 -
[模板]康拓展开和他的逆运算
康托展开 康托展开的公式是 X = an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始),n指的是数组的长度。举个例子,有一个数组 s = ["A", "B", "C", "D"],它的一个排列 s1 = ["D", "B", "A", "C"],则X(s1) = a4*3!原创 2016-11-08 21:04:20 · 518 阅读 · 0 评论 -
[记忆化搜索]vijos 1547 逆转,然后再见
描述上届的高三在这个暑假终于要到各个城市奔向他们的大学生活了。奇怪的是学校这次异常阔气,说要用三台车子去载他们上学。上届高三的师兄们异常兴奋……可惜的是临行的时候,学校终于露出它“狰狞”的面孔:一、油费要学生自己给二、去第k 个城市的条件是,前k-1 个城市都要被去过三、同时只能有一部车子在动师兄们也只能不断地锤胸口……但是改乘飞机已经来不及了……他们只好利原创 2016-07-22 13:42:51 · 430 阅读 · 0 评论 -
[DFS]poj 2488 A Knight's Journey
poj 2488 A Knight's Journey题意:有一个单身的骑士非常的寂寞,打算去旅行咯,但是强迫症的骑士希望能走过棋盘的任意一格,可以从任意一格开始,判断骑士能不能实现这个愿望,如果可以i请输出路线思路:既然要走遍所有格子,那路程一样啦,不需要求最短路什么的,用dfs即可1、因为所有的格子都要走,我们可以选择一个固定坐标;2、注意题目要求输出路径字典序最小,所原创 2017-03-21 00:22:11 · 296 阅读 · 0 评论