09 2020 档案
摘要:思路 没想到思路真的可以这么暴力…… 可以想到,这题其实就是找一个点满足这个点到题目要求的三个点的最短路之和最小(剔除重复部分),所以直接用 \(Dijkstra\) 求出三个点到每个点的最短路,然后 \(O(N^2)\) 扫描每个点找出满足上述条件的点即可。 注意输入的矩阵第一行是 \(n\) 然
阅读全文
摘要:瞎扯 好久没写线段树了,找了一道线段树题 然后…… 写了半个上午,调了半个上午+下午的半个小时…… 没 谁 了 思路 这道题难就难在标记的下放,如果标记下放正确了,A这道题就不是问题了。(然而我不想讲下放= =) 如果没有 \(4\) 操作和 \(2\) 操作,需要维护的东西就很少了,只需要维护区间
阅读全文
摘要:挂分小技巧 \(m\) 写成 \(n\)。 思路 显然如果找到了最后一个排序操作那么之前的操作可以忽略。 找到最后一个排序操作,如果是 \(1\) 操作就将数组正向赋值,如果是 \(2\) 操作就反向赋值。 用一个标记记录现在的数组是翻转了还是未翻转,如果未翻转则三操作直接翻转 \(x\) 和 \(
阅读全文
摘要:扯 被一篇我自认为写的挺好的题解给搞蒙了。 然后急中生智发现他写的很多状态都很冗余,改简洁之后就理解了 思路 挺神的一道线性 \(\text{DP}\) 题。 发现最后的序列也是 \(-1,0,1\) 序列,因为改为别的值花费一定会变得更多。 设 \(f_{i,j}\) 表示前 \(i\) 个数字已
阅读全文
摘要:思路 这个题主要的难度在 \(DP\) 的状态设计上,如果 \(DP\) 状态设计好了,转移也就不难想了。 用 \(f[i][j][k][0/1]\) 表示A串中前 \(i\) 个字符,用了 \(k\) 个子串,匹配了B串前 \(j\) 个字符,用没用当前第 \(i\) 个字符的方案数,那么有 \(
阅读全文
摘要:前言 本文是对2013国家集训队论文中罗剑桥的论文——「浅谈分块思想在一类数据处理问题中的应用」的一些摘抄和整理。 引言 分块的核心思想 分块思想和传统的数据结构一样将数据有序化和层次化,但是方式有所不同。 核心思想:将一个集合划分成若干个规模较小的子集。 分块的良好性质 若子集规模很小,对每个子集
阅读全文
摘要:P1514 引水入城 #include <cmath> #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const
阅读全文
摘要:思路 题意有点坑。。 只有一个地方用了米的描述,其他地方全都是步,所以导致无法透彻理解题意。 看了题解才明白不能走最外侧的格子,因为机器人有宽度(大雾,你也没说格子的边长啥的啊,题意太不准确了吧…… 一个坑点就是机器人走的是格点,而障碍是格子,格子的四个点都不能走。 还有就是第一次访问这个点并不一定
阅读全文
摘要:广搜好难/kk P1162 填涂颜色 link 在原矩阵外再围一层 \(2\),方便能够从边界搜索。 把输入数据中的 \(0\) 全都换成 \(2\),然后再处理在封闭圈外的 \(2\),将其变成 \(0\)。 #include <queue> #include <cmath> #include <
阅读全文
摘要:写这篇文章的目的是复习一下搜索,以至于不会的题也不至于爆零。 可能并不会有什么解析,因为搜索大多都是瞎搞。 深度优先搜索(DFS),即按照深度优先的顺序搜索的算法,通常用递归的方式实现。 P1219 [USACO1.5]八皇后 Checker Challenge link 一年半之前做的,现在全忘了
阅读全文
摘要:扯 不学博弈了,怕了怕了 思路 很显然的一个nim游戏板子。 直接求出每一堆火柴数量的异或和,如果异或和为 \(0\) 则先手必败,否则先手必胜。 nim游戏的结束条件很简单,当所有火柴的数量都为 \(0\) 时,下一个拿火柴的人就失败了,此时的局面是 \(0\bigoplus0\bigoplus0
阅读全文
摘要:写在前面 菜鸡乱学 被 D 了,不学了 参考资料 Attack佬的博弈总结 扶咕咕的【博弈论】Nim游戏 YYB佬的博弈论总结 巴什博奕 巴什博奕是最简单的一种博弈。 问题模型 两个绝顶聪明的人在玩取石子游戏,一共有 \(n\) 颗石子,游戏规则如下: 两个人轮流取石子. 每次可以取 \(1\sim
阅读全文
摘要:思路 可以用手算的方法得出规律。 不难发现只要面对的是 \(3\) 的倍数,先手必败。 原因不难理解,因为 \(3\) 是一个必败点,两个人都会努力让对手面对到 \(3\) 的倍数的情况,使自己获得胜利。 代码 /* Author: Loceaner 知识点: 巴什博奕 */ #include <c
阅读全文
摘要:题目分析 经典的巴什博奕题,具体讲解可以看这里 代码 /* Author: Loceaner 知识点: 巴什博奕 */ #include <cmath> #include <cstdio> #include <vector> #include <cstring> #include <iostream
阅读全文
摘要:思路 可以将题目转化为 \(n-1\) 颗石子每次可取 \(1\sim k\) 颗的巴什博奕问题,也可以手算找规律。 当 \(n=1\) 时,后手胜。 当 \(n=2\sim k+1\) 时,先手胜。 当 \(n=k+2\) 时,后手胜。 当 \(n=k+3\sim2k+2\) 时,先手胜。 ……
阅读全文
摘要:扯 菜狗 \(\text{sjp}\),真是太菜了 连前缀和都不会,甚至连 \(\text{while}\) 循环都不会用。 思路 前缀和 暴力 \(O(n^3)\) 必然不行。 直接前缀和然后 \(O(n^2)\) 也不行。 所以转枚举长度为枚举取模之后的值 \(0\sim 6\)。 一个小 \(
阅读全文
摘要:洛谷 P3599 Koishi Loves Construction 思路 一道构造好题。 Task1 能够看出两点: 第一个数必须是 \(n\)。 因为有 \(x+n\equiv x(\bmod n)\),如果第一个数不是 \(n\),必然会有两个相邻的前缀和模 \(n\) 的值相等。 除了 \(
阅读全文
摘要:题意 一个长度为 \(n\) 的数组,\(4\) 种操作 : C l r d:区间 \([l,r]\) 中的数都加 \(d\),同时当前的时间戳加 \(1\)。 Q l r:查询当前时间戳区间 $[l,r]$中所有数的和 。 H l r t:查询时间戳 \(t\) 区间 \([l,r]\) 的和 。
阅读全文
摘要:题意 给出一个 \(n\) 个节点的有根树(编号为 \(0\) 到 \(n-1\),根节点为 \(0\))。 一个点的深度定义为这个节点到根的距离 \(+1\),记为 \(dep[i]\) 用 \(LCA(i,j)\) 表示 \(i\) 与 \(j\) 的最近公共祖先。 有 \(q\) 次询问,每次
阅读全文
摘要:MV Lyrics Selena Gomez: Come a little closer 再靠近一些吧 Cause you looking thirsty 只因你看起来口渴难耐 Imma make it better sip it like a Slurpee 我会缓解你的渴意 小啜一口仿佛品味思乐
阅读全文
摘要:总结 预计得分:\(50+10+0\) 实际得分:\(40+10+0\) \(T1\) 显然是个找规律题,我想到了要先摆成最大的正六边形,然后再围起来,但是不知道围的时候该怎么围,于是就只写了 \(50\) 分的做法,不过因为数数不好又丢分了。 \(T2\) 大家都在想图,我啥也没想出来,就一直模拟
阅读全文
摘要:Look so good yeah look so sweet Looking good enough to eat
阅读全文
摘要:思路 暴力 每次当前层由上一层可以得到的数转化过来,用滚动数组实现 实际上就是一个背包 正解 暴力的瓶颈就在于在由上一层转化到当前层时需要暴力转化 考虑用一个 \(\text{bitset}\),每次加一个数 \(x\) 就相当于直接左移 \(x\) 位,最后输出 \(\text{bitset}\)
阅读全文
摘要:思路 感谢 liuzibujian 的思路 错误做法 感觉和国王游戏很像,所以像国王游戏一样,试着用相邻比较法试一下可不可以做。 设现在要比较的两个大臣为 \(i, j\),\(j\) 在 \(i\) 后,\(i\) 前面所有大臣左手的值的和为 \(x\),\(i\) 的前一个大臣的奖金数为 \(y
阅读全文
摘要:之前做的时候感觉看不明白,现在做感觉好简单= = 思路 假设现在只有三个人:国王$k$、\(x\)、\(y\) 那么有两种排列顺序: 第一种 \(k_a\) \(k_b\) \(y_a\) \(y_b\) \(x_a\) \(x_b\) \(val_x=\dfrac{k_ay_a}{x_b}\) \
阅读全文
摘要:颓多了,学一会儿 思路 贪心 小涵一定可以做到比计算机聪明,所以小涵不会输,一定有答案。 小涵首先选择的一定是默契值最大的两位武将中的其中一个,而计算机之后一定会选择与这个配对的另一个数(即默契值最大的两位武将中的另一个),所以小涵在每一行都选择不到最大值,只能选择到次大值,所以对每一行的数据进行排
阅读全文

浙公网安备 33010602011771号