摘要:
传送门 "Luogu" 解题思路 预支一点东西: 这题其实有着更为思维的图模型,还十分考验码力,不简单啊 ~~这居然是联赛题~~ 讲正解: 显然我们对于一种合法方案,空格子肯定是一直围绕着特定棋子反复横跳的。 所以说我们可以先预处理一下:对于任何一种合法的情况,求出空格在指定棋子的四个方向横跳的最小 阅读全文
摘要:
传送门 "POJ" "Vjudge" 解题思路 可以首先预处理一下可能成为一条线路的所有方案,然后把这些可能的方案按照长度降序排序,即按照路线上的时间节点从多到少排序。 因为这样我们就可以先确定更多的时刻的状态,减少搜索深度。 然后加一个最优化剪枝: 如果当前花费加上未来的最少的花费不会优,就直接r 阅读全文
摘要:
传送门 "Luogu团队题链接" 解题思路 考虑以图中的建筑为点建一张图,那么我们就只要求出这个图的 $\text{Kruskal}$ 重构树然后按套路搞就行了。 重点是优化连边,因为直接连边边数就会太多~~贼JB多~~。 考虑 $\text{BFS}$,我们把所有建筑都作为源点跑 $\text{B 阅读全文
该文被密码保护。 阅读全文
摘要:
传送门 "Luogu" 解题思路 爆搜,并考虑几个剪枝。 + 不交换颜色相同的方块(有争议,但是可以过联赛数据 $Q \omega Q$) + 左边为空才往左换 + 右边不为空才往右换 因为对于两个相邻方块,右边往左换和左边往右换是等价的,同时还可以保证字典序最小。 细节注意事项 + 爆搜题,你们懂 阅读全文
摘要:
传送门 "Luogu" 解题思路 这里着重介绍 $O(n^3)$ 的做法,毕竟考场上只有 $N\le300$ $Q \omega Q$ 首先我们要知道,对任意一条直径算偏心距都是一样的。 证明 首先任意两条直径都必定会相交,否则把这两条直径相连就会得到更长的路径来充当直径。 其次相交的直径在不相交的 阅读全文
摘要:
传送门 "Luogu" 解题思路 第一问很好做,只要总第一行的每一个点都跑一边dfs,判断最后一行是否有点标记不了即可。 考虑处理第二问。 其实这一问就是: 把第一行的点都看做是对最后一行一些点的覆盖,求最后一行那段区间的最小覆盖数。 我们可以发现这样一个事情: 每一个第一行的点在最后一行覆盖的都是 阅读全文
摘要:
传送门 "Luogu" 解题思路 给你们一张搜索顺序图,然后就大力模拟就好。 细节注意事项 + 爆搜题,你们懂的。。。 参考代码 写的有点丑了,洛谷上只能过加强版的88分,会T六个点 cpp include include include include include include includ 阅读全文
摘要:
传送门 "Luogu" 解题思路 这题其实挺简单的。 首先要熟悉数独,我们应该要优先搜索限制条件多的行,也就是可能方案少的行,显然这样可以剪枝,然后再发挥一下dfs的基本功就可以了。 细节注意事项 + 爆搜题,你们都懂。。。 参考代码 cpp include include include incl 阅读全文
摘要:
传送门 "Luogu" 解题思路 当只有第三类操作时,我们显然先进行val较大的操作,这是显然的。 那么就考虑把所有的操作都转变为第三类操作。 第一类操作,显然很容易变为第二类操作:单点维护最大的最终结果,然后改为加法就好了。 问题在于第二类操作如何转换。 其实也是贪心,我们对于同一个位置的第二类操 阅读全文