T1 电灯 (light) Description ? 有 n 个灯泡排成一列。每个灯泡可能是点亮或熄灭的。有一台操控灯泡的机器,每一次可以选择一段区间,让这段区间中熄灭的灯泡全部点亮,亮着的灯泡全部熄灭。但由于机器已经老化,仅能再使用一次了。 ? 你可以认为点亮的灯泡与熄灭的灯泡交替排列的样子(下 ...
分类:
其他好文 时间:
2018-10-03 22:15:10
阅读次数:
155
题目链接:http://codeforces.com/contest/1006/problem/F %%%dalao dalao们都说这是道模板题,呵呵,确实,但双向广搜(此题深搜也可以)写过的人比较少。 这道题可以考虑直接暴力,显然并不能A掉,因为每次向右下扩展一层,状态数增长不超过2倍,复杂度是 ...
分类:
其他好文 时间:
2018-10-02 13:56:45
阅读次数:
166
bfs广搜 什么是广搜? 百度百科:个人觉得解释地并不好 个人理解:跟dfs一样暴力穷举每种状态,只不过不是“一搜到底”,而是一层一层的搜索 它有什么好处? 1. 容易理解 2. 骗分利器 3. 好写 它有什么弊端? 慢。毕竟是穷举每一种状态 如何实现? 算法流程图如下: c++ include i ...
分类:
其他好文 时间:
2018-10-02 00:21:03
阅读次数:
223
#include using namespace std; const int maxN = 107; const int inf = 1e9 + 7; char G[maxN][maxN], snake[maxN][maxN]; int times[maxN][maxN][15]; int n, ... ...
分类:
其他好文 时间:
2018-09-23 18:13:44
阅读次数:
161
#include using namespace std; const int maxN = 123; const int inf = 1e9 + 7; char G[maxN][maxN]; int times[maxN][maxN][6]; int n, m, sx, sy, ex, ey, a... ...
分类:
其他好文 时间:
2018-09-22 23:49:57
阅读次数:
369
题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次 ...
分类:
其他好文 时间:
2018-09-15 10:09:14
阅读次数:
149
现在来了解A*算法是什么 现在来解决A*求K短路问题 在一个有权图中,从起点到终点最短的路径成为最短路,第2短的路成为次短路,第3短的路成为第3短路,依此类推,第k短的路成为第k短路。那么,第k短路怎么求呢? 对于第k短路,可以想到的一个比较朴素的算法就是广度优先搜索,使用优先队列从源点s进行广搜, ...
分类:
编程语言 时间:
2018-09-11 01:10:28
阅读次数:
228
什么是双端队列BFS? 如果你不了解双端队列 的话,请先去学习。 双端队列 又称 适用范围 边权值为可能有,也可能没有(由于 适用于权值为 $1$ 的图,所以一般是 $0$ $or$ $1$),或者能够转化为这种边权值的最短路问题。 例如在走迷宫问题中,你可以花 $1$ 个金币走 $5$ 步,也可以 ...
分类:
其他好文 时间:
2018-09-09 11:41:19
阅读次数:
903
用途: 解决单源最短路径问题(已固定一个起点,求它到其他所有点的最短路问题) 算法核心(广搜): (1)确定的与起点相邻的点的最短距离,再根据已确定最短距离的点更新其他与之相邻的点的最短距离。 (2)之后的更新不需要再关心最短距离已确定的点 三种实现模板: 一、矩阵朴素版 二、vector简单版 三 ...
分类:
编程语言 时间:
2018-08-24 20:47:10
阅读次数:
178
广度优先搜索的策略是: 从起始点开始遍历其邻接的节点,由此向外不断扩散。 从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点, 然后分别从这些邻接点出发依次访问它们的邻接点, 并使得“先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问, 直至图中所有已被访问的顶点的邻接点都被访 ...
分类:
其他好文 时间:
2018-08-24 17:20:44
阅读次数:
126