bzoj5213: [Zjoi2018]迷宫】的更多相关文章

好题!话说省选的都开始构造了吗 由于有K的倍数的限制所以不妨取模,先建K个点表示0~K-1这些数,第i个点向[i*m,i*m+m]建边.不难发现这是合法的但不一定是最优的 考虑合并等价的点,首先从直观上考虑,当两个点能够转移到的点相同时,它们一定可以合并,但是能够合并的点远远不止这些 考虑一般化,对于两个节点x,y,假设x*m^q=y*m^q (mod K) 那么只要在q步中x和y没有到达0节点的方案,那么x和y就可以合并 具体的,首先0一定不能被删掉,现在考虑q=1时,1~K-1中等价点 把所…
[BZOJ5213][ZJOI2018]迷宫(神仙题) 题面 BZOJ 洛谷 题解 首先可以很容易的得到一个\(K\)个点的答案. 构建\(K\)个点分别表示\(mod\ K\)的余数.那么点\(i\)的出边\(j\)指向\(i*m+j\ mod\ K\).容易证明这样子一定是可行的. 但是我们显然还有一部分点是可以丢掉的,即出现点等价的时候,直接合并两个点即可. 那么什么情况下两个点等价呢?显然是两个点可以到达的点集相同的时候是可以直接把这两个点给合并的. 考虑一下\(i*m\)在模\(K\)…
该比赛链接 T5 题意: 给你一个\(n\times n\)的网格,开始有\(m\)个被涂成黑色的格子,如果存在三个格子\((x,y)\),\((y,z)\),\((z,x)\)满足\((x,y)\),\((y,z)\)均为黑格子且\((z,x)\)为白格子,那么就将\((z,x)\)涂黑,问最后会有多少个被涂黑的格子. 题解 关键词:构造 染色(hint: 不是原矩阵的染色) T2 给定一个塔状结构,从上往下的第i层有2i−1个位置. 在最底层有一个(2n−1)的排列,然后往上的每一个格子都等…
突然意识到有一些题目的计划,才可以减少大量查水表或者找题目的时间. 所以我决定这样子处理. 按照这个链接慢慢做. 当然不可能只做省选题了. 需要适时候夹杂一些其他的题目. 比如\(agc/arc/cf\)的题目,以及\(loj\)上的一些省的集训题目,还有\(uoj\)的各种\(round\)的题目. 大块大块的做题记录就在这里记录一下,省选后再来看结果,至少努力过就不曾后悔了不是吗? 首先先是省选题的记录,然后有比赛的记录,做到每周至少完成一整场\(CF\)或者\(AtCoder\)比赛的题解…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ375.html 题解 首先,我们可以建出一个 k 个点的自动机,第 i 个点表示当前数对 k 取模为 i-1.显然每一个点有 m-1 条出边. 然后,稍加观察,我们就可以发现,如果一些节点的出边集合是相同的,我们就可以将他们合并. 具体是怎样的节点呢? 对于每一个 $t$ ,满足 $$im \equiv t\pmod k $$ 的所有 $i$ 都可以合并(节点 0 除外). 然后你就发现你几乎过了大样例…
曾经用C语言做过的动态走迷宫程序,先分享代码如下: 代码如下: //头文件 #include<stdio.h> #include<windows.h>//Sleep(500)函数调用此头文件 #include<conio.h>//getch()函数调用此头文件 #include<stdlib.h>//system("cls")函数调用此头文件 //函数状态码定义 /******************************/ #defi…
传送门 Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28416   Accepted: 11109 Description You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be f…
/* 10 10 #.######.# ......#..# .#.##.##.# .#........ ##.##.#### ....#....# .#######.# ....#..... .####.###. ....#....# 0 1 9 8 */ #define _CRT_SECURE_NO_WARNINGS /* 10 10 #.######.# ......#..# .#.##.##.# .#........ ##.##.#### ....#....# .#######.# ..…
题目描述 : 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思: '#': 任何时候玩家都不能移动到此方格: '+': 当玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非'#'方格移动一格: '-': 当玩家到达这一方格后,下一步可以向左右两个方向相邻的一个非'#'方格移动一格: '|': 当玩家到达这一方格后,下一步可以向上下两个方向相邻的一个非'#'方格移动一格: '.': 当玩…
这个系列分为两部分,第一部分为迷宫的生成及操作,第二部分为自动寻路算法. 我们先看效果: See the Pen QGKBjm by fanyipin (@fanyipin) on CodePen. 我们直入正题,先说一说生成迷宫的思路. 整个思路十分简单: 首先我们将迷宫视为一个m行n列的单元格组合,每一个单元格便可以表示为maze[i][j].接下来迷宫与m*n单元格的区别是什么呢?对,迷宫就是相当于不同单元格以某种规律相互连通,也就相当于我们把相邻的两个单元格之间的重合线给去掉,然后按照某…