随笔分类 - 题解
所有OI题解
摘要:思路:搜索+剪枝。 本人在撰写这篇题解之前,在网络上搜索过别的题解,发现仅此一篇题解。在学习理解该题解的基础上编写了此题的代码,因此思路上很相像。以下为自己理解的内容,请放心食用。 首先,审题之后,我们可以发现山羊的移动就是从 \((x,y,z)\) 到 \((x\pm1,y,z)\) \((x,y
阅读全文
摘要:思路:暴力模拟。 看到题解大多是从大到小分析位置输出答案,这里特别提供一种简洁易懂的暴力模拟涂色方法。 根据题目上的涂色方式,我们可以想到一种模拟:对于原图每一个白块,我们可以在新图上把它替换成单位正方形;对于原图每一个黑块,我们可以在新图上把它替换成 \(n \times n\) 的全黑正方形。
阅读全文
摘要:总体概述 难度 C 东方绯想天 入门 E 东方鬼形兽 入门 D 东方辉针城 入门 A 东方红魔乡 普及- B 东方永夜抄 普及- G 东方茨歌仙 普及 F 东方幻想麻雀 普及 H 东方铃奈庵 普及+ 是不是很水?没到300pts的非 20 级在役选手面壁思过! 下面按题目顺序进行讲解。 A 东方红魔
阅读全文
摘要:思路:搜索 首先我们知道,最多只需要删两个点,即可满足要求。 我们所要做的就是看看能不能少删一个点。 那怎么判断呢? 就是先把这个点标为已访问过,然后另找一个涂了色的点开始搜索,如果能搜过一遍后,还有没有访问过的点,那原先这个点肯定就是所谓的 solo 之王单一解答案了。 那么我们读入数据,同时标注
阅读全文
摘要:思路:暴力搜索 就和大多数迷宫类问题相似,只不过这个是三维的。 众所周知,迷宫问题的基本搜索形式就是标记当前点已走过,然后从当前点向能够扩展到的点递归。二维迷宫就是$dfs(x\pm1,y),dfs(x,y\pm1)$,三维就在原来基础上加上$z$,也就是$dfs(x\pm1,y,z),dfs(x,
阅读全文
摘要:思路:推理 首先我们知道,如果一个数列长度 \(len\le 2\),那么这个数列肯定不是无序的,证明显然。 题目中要求求最短的序列,那么只要题目有解,我们肯定能找到一个 \(len=3\) 的无序序列。 对于这个题,有一种简便方法,就是只枚举 i ,如果这个序列是有解的,那么肯定能找到 \(a[1
阅读全文
摘要:思路:并查集 读入数据,题目中要求对字符串 A 中字母进行变换,使其与字符串 B 相同。 首先我们可以知道,如果字母 a 可以转换成字母 b,字母 b 可以转换成字母 c ,那么字母 a 可以转换成字母 c 。 啊,并查集 的气息。 那么我们只需要遍历一遍两个字符串,如果两个字符串当前位置的字符不在
阅读全文
摘要:思路:并查集 首先我们知道,假如 a 可以变换成 b,b 可以变换成 c,那么 a 可以变换成 c ,这个也是并查集 操作的主打功能。 题目要求其实就是把数列 变换成题目所给序列,并且给了每个位置能变换到哪个位置。 那么我们把每个位置和这个位置能够变换到的位置 起来,最后查看目标位置和原位置是否在一
阅读全文
摘要:咋一看是个图论,仔细一看其实是个 并查集 。 我们用并查集可以表示每个连通块,方法就是用并查集 操作来加边,同时如果加边不成功,即两个端点已经在同一连通块内,那么把这个边加进~~回收站~~ 数组,等到后面输出答案时,这个有着半壁江山。 数组的大小就是最好的方案数。 然后我们扫描一遍并查集的 数组,统
阅读全文
摘要:~~NOIO2 要来了,考前要练练暴力,要不挂了怎么办呢~~。 因为$1\le n,m \le 25$ 的数据范围,我们可以写一个暴力。枚举矩形的左上端点和右下端点,然后判断 边框 是否有 ,如果合法就取$\max$,否则就 。 Tips: 1. 注意是判断边框即可。 2. 在判断边框的时,可以用
阅读全文
摘要:思路:字符串处理 + 排序。 首先如果两个数长度不一样,又不准有前导零,这种情况直接 退出。 根据题意,我们把第一个数字按照每一位数的大小排序,因为不能 0 不能作为首位,所以我们找到最小的一个数字替换过来,如果和第二个数一样那肯定莫得问题。 当然要是两个数本来就是 0 ,那么肯定是可以的。
阅读全文
摘要:题意简述: 求 1 号点到其他点的最短路和其他点到 1 号点的最短路。 思路: 第一眼想到 floyd 但是一看 $1\le P,Q \le 1e6$ 直接暴毙。 再仔细观察题目,发现只需要求 1到其他点的最短路 和 其他点到1的最短路 。 ~~你品,你细品。~~ 举个栗子:样例第二组数据: 如果我
阅读全文
摘要:题意简述: 求 1 号点到其他点的最短路和其他点到 1 号点的最短路。 思路: 第一眼想到 floyd 但是一看 $1\le P,Q \le 1e6$ 直接暴毙。 再仔细观察题目,发现只需要求 1到其他点的最短路 和 其他点到1的最短路 。 ~~你品,你细品。~~ 举个栗子:样例第二组数据: 如果我
阅读全文
摘要:~~没错这道 C 题是橙难度~~ 我们可以统计前缀和与后缀和,在找后缀和的同时标记哪块糖果是有争议的(说白了就是 最后一个被吃的糖 ),然后比较 吃到 这块糖 a,b 两人所用的时间,根据题目要求决定这个糖谁来吃。
阅读全文
摘要:本题需掌握知识:~~一次函数相关知识、分支结构~~。 要想考虑全面确实起码绿的难度,再加上 if 不写乱,蓝题也是差不多的罢(个人向)。 考虑各种情况,我们一 一分析: 1. 有一个式子三个系数都是0:很显然无论 x,y 取何值,0=0 这个恒等式绝对成立,那么这个式子是覆盖整个坐标系的,肯定有无限
阅读全文
摘要:用堆来实现贪心 读入字符串序列 s1,为了操作方便,我们把这个序列备份至 s2 。 扫描字符串序列 s1 ,统计左括号和右括号的个数,如果遇到 , 先统一化成右括号,并保存在 s2 。 贪 心 开 始。重新扫描 s2,统计左括号右括号的个数,如果当前情况下右括号数比左括号数大,说明没有匹配好,那么我
阅读全文
摘要:这道题大可看成贪心来做。 根据题目所说,物品重量无非两种,要么重量是 1 ,要么重量是 2 ,那么按物品重量把它们分成两类,用一个 $pair$ 来存物品的价值和序号(因为输出要用),按价值对两个物品序列降序排序。 然后枚举用 $i$ 个重量为 1 的物品(理论上 2 也可以),那么就用了 $\fr
阅读全文
摘要:典型的背包问题 本题当中,每样武器只能选一次,即要么选,要么不选。典型的 01 背包,状态转移: $dp[j]=\min{dp[j b[i]]+a[i],dp[j]}$ 因为有两个限制条件(质量和体积),所以在 01 背包基础上再加一维,空间复杂度$O(n^2)$,时间复杂度$O(n^3)$,数据在
阅读全文
摘要:~~线段树解区间求值最好了!~~ 简介: 线段树是一种用于区间求值的数据结构,基于二叉树,下面我简单介绍一下在本题中用于求最值的线段树: 线段树主要是承担$\Theta(n\log n)$区间(单点)修改和区间(单点)查询。 线段树示意图: 操作: $update$ 更新操作,是建树($build$
阅读全文
浙公网安备 33010602011771号