" 10028. 「一本通 1.4 例 3」Knight Moves" 【题目描述】 编写一个程序,计算一个骑士从棋盘上的一个格子到另一个格子所需的最小步数。骑士一步可以移动到的位置由下图给出。 【算法】 双向bfs。 【代码】 cpp include define P pair define ff ...
分类:
其他好文 时间:
2018-09-03 22:59:26
阅读次数:
221
题目:给定一个大小为N*M的迷宫,迷宫由通道('.')和墙壁('#')组成,其中通道S表示起点,通道G表示终点,每一步移动可以达到上下左右中不是墙壁的位置。试求出起点到终点的最小步数。(本题假定迷宫是有解的)(N,M<=100) 输入: 10 10#S######.#......#..#.#.##. ...
分类:
其他好文 时间:
2018-07-13 10:19:44
阅读次数:
207
【题意】:一个人要逃离迷宫,迷宫中有多处起火了。问能否逃出迷宫,能输出最小步数,不能输出"IMPOSSIBLE"。迷宫的 边缘 都是出口。 【分析】:双点BFS,火和人同时进行BFS即可。注意首先火源不只一处,可以有多处,那么我们就要把每处火都数组记录下来,然后bfs搜索前让火源全部入队,还有就是不 ...
分类:
其他好文 时间:
2018-07-12 20:01:54
阅读次数:
154
https://vjudge.net/problem/POJ-3009 做完这道题,感觉自己对dfs的理解应该又深刻了。 1.一般来说最小步数都用bfs求,但是这题因为状态记录很麻烦,所以可以用dfs。 2.在用dfs的时候,mp时一个全局变量,对于平等的走法,每一个走法结束后一定要状态复原!!!( ...
分类:
Web程序 时间:
2018-05-04 01:49:11
阅读次数:
244
【题意】:通过4种操作n最少几步可以达到m。 【出处】:poj 3278 ...
分类:
其他好文 时间:
2018-04-30 22:47:59
阅读次数:
219
做水题好爽... 展开式子 就是最大化$2 a_i b_i$ 显然令大的乘大的能最大化上式 相当于用最小步数把1序列转化为2序列 映射后求逆序对. c++ include include include inline int read() { int x = 0,f = 1; char c = ge ...
分类:
其他好文 时间:
2018-04-28 22:21:14
阅读次数:
160
发现如果给定两个数(a,b),可以用类似辗转相除法在logn的时间内计算出(反向)变到(1,1)的最小步数。 然而并不知道另一个数是多少? 暴力嘛,枚举一下另一个数,反正1000000的nlogn不虚啊 ...
分类:
其他好文 时间:
2018-03-22 10:49:17
阅读次数:
148
题目链接 "LOJ 2145" 题解 一道画风正常的……期望DP? 首先考虑如何以最小步数熄灭所有灯:贪心地从大到小枚举灯,如果它亮着则修改它。可以求出总的最小步数,设为$cnt$。 然后开始期望DP。设$dp[i]$为当前最小步数是$i$,总最小步数是$i$,要达到最小步数是$i 1$的状态,期望 ...
分类:
其他好文 时间:
2018-02-13 17:49:26
阅读次数:
206
回文自动机上dp f[x]表示形成x代表的回文串所需的最小步数, 若len[x]为奇数,f[x]=len[x],因为即使有更优的,也是直接添加,没有复制操作,那样就不用从x转移了。 若len[x]为偶数,f[x]=min(f[fa[x]]+1,len[x]/2-len[fro[x]]+f[fro[x ...
分类:
其他好文 时间:
2018-01-03 17:28:17
阅读次数:
93
【题目】E - Papple Sort 【题意】给定长度为n的小写字母串,只能交换相邻字母,求形成回文串的最小步数。n<=2*10^5。 【算法】数学 【题解】官方题解 本题题解中有以下重要的思想: ①分析多复杂因素相互干扰的问题时,先排除无关因素,然后转化关联因素为独立因素后逐个分析。 ②位置移动 ...
分类:
移动开发 时间:
2017-12-25 11:42:12
阅读次数:
201