随笔分类 - 题解
摘要:前言 这场 CF 是我赛后打的,vp 赛时没做出来,后来发现是有个地方理解错了,有一些细节没有考虑到。现在换了一种思路来写,感觉更清晰了。 做法 首先需要动态维护三个变量,\(cnt\) 和 \(finishsort\) 和 \(unfinishsort\)。这三个变量分别表示当前数字的个数,已经排
阅读全文
摘要:前言 看了这道题的几篇题解,感觉讲的方法都比较麻烦,这里讲一个感觉比较简单的方法。 思路 首先判断是否有解。计算一下每一行和每一列的牌的数量,只要有一个是奇数就无解,否则有解。证明显然,偶数一定可以分成两组,在纸上模拟一下也可以得出。 其次看如何构造。对于竖着的牌,显然只对每行有影响,因为列上的颜色
阅读全文
摘要:前言 赛时只做到了 E 题,赛后才来补的 F 题,还没做出来,看来还是我太菜了。看了题解过后感觉这道题的思路特别巧妙,于是就来写了这篇题解。 题意 简述一下题意。 有 \(n\) 个宝藏位置分别在 \(a_{i}\),另外有一只章鱼有 \(n\) 条触手,每条触手的长度为 \(b_{i}\)。 求有
阅读全文
摘要:原题链接:ABC318G 显然是圆方树。 点双缩点过后建立一颗以点 \(c\) 为根节点的圆方树,考虑什么情况是合法的。 从点 \(a\) 开始往上跳直到跳到点 \(c\),如果中间走过了某一个方点并且这个方点与 \(b\) 点有直接连边,那么就是合法的;否则不合法。 证明:如果路径中所经过的方点和
阅读全文
摘要:今天学习了圆方树,并且做了一道和这道题很像的题,于是就又来做了一下这道题。 题意 给定一张不保证连通的无向图。求有多少个点对 \((a,b,c)\) 满足 \(a\) 到 \(c\) 的简单路径上经过了点 \(b\)。 思路 显然圆方树。点双缩点过后构造一颗圆方树,然后考虑如何计算答案。圆方树有一个
阅读全文
摘要:原题链接:ABC315G 前置知识:扩展欧几里得算法。如果还不会扩欧的话,建议先去做这道题。 题意 给定 \(n,a,b,c,k\)。求有多少个 \(x,y,z(x,y,z \le n)\) 满足 \(ax+by+cz=k\)。 思路 首先看到题目给出的方程式:\(ax+by+cz=k\)。我们会发
阅读全文
摘要:原题链接:切蛋糕。 题意 给定一个 \(n\) 行 \(m\) 列的蛋糕,问横着切 \(i\) 刀,竖着切 \(j\) 刀后美味度最小的蛋糕的美味度尽可能大。一块蛋糕的美味度为它所含有的小块的美味度之和。 数据范围:\(1 \le n,m \le 14\)。 思路 看到数据范围,我们可以考虑一种类似
阅读全文
摘要:前言 看这道题有好多巨佬都是用 Tarjan 来做的,在这里讲一个自认为比较简单的做法,(不到 \(30\) 行)。 题意 题意比较难讲,建议自己去看一下翻译,在这里不多赘述。 思路 首先看到题目中间给的一个每一次操作的式子:\(a_{l_{i}}=l_{(i\mod k)+1}\)。仔细观察这个式
阅读全文
摘要:原题链接:CF1868B2, 简单版:CF1868B1。 题意 有 \(n\) 个人,第 \(i\) 个人手上最初有 \(a_{i}\) 颗糖。现在每个人可以把自己手中的糖选一些给不多于一个人,同时每个人也只能接受不多于一个人的糖,选出的糖的数量必须是二的次幂。问能否能让每个人最终手上的糖的数量相等
阅读全文
摘要:题意 给定一个长度为 \(n\) 的序列 \(ans\),初始值全部为 \(0\)。你一共有 \(k\) 个硬币,你可以选择花 \(a_{i}\) 个硬币来使 \(ans_{1}\) 到 \(ans_{i}\) 中的所有数加一。求最终能得到的 \(ans\) 序列中字典序最大的一个。 思路 首先我们
阅读全文
摘要:题意 给定一个数 \(n\) 和一个包含 \(n\) 个数的序列 \(a\),求出以下式子模 \(998244353\) 的值: \(\sum_{i=1}^{n}\sum_{j=i}^{n} f(i,j)\times (j-i+1)\)。 其中 \(f(i,j)\) 的值为 \(a_{i}\oplu
阅读全文
摘要:原题链接:ABC239Ex。 题意不多赘述。 看到求期望值,我们想到可以用期望 DP。 设 \(dp_{i}\) 表示最终结果大于等于 \(i\) 时的操作次数的期望值。 那么我们可以得到一个基本的状态转移方程:\(dp_{i}=\frac{1}{n} \times \sum_{j=1}^{n}dp
阅读全文
摘要:显然是一道计数 dp。 dp 状态应该是最难的一部分了,个人认为这种状态设计得比较巧妙。如果像我刚开始一样设 \(dp_{i,j}\) 表示序列中一共有 \(i\) 个数,序列最后一个数为 \(j\) 的合法方案数的话,那么方程就会变得很不好转移,因为我们不知道当前的 \(j\) 和之前的某些数能不
阅读全文
摘要:原题链接:斜率。 题意 在一个平面直角坐标系中,给定 \(n\) 个点的横纵坐标,求出哪两个点所构成的连线的斜率最接近 \(\frac{P}{Q}\)。 数据范围:\(n \le 1000000\)。 思路 显然这是一道数学题,不能直接暴力去找答案。 首先我们可以弱化一下题目,求出斜率最接近 \(y
阅读全文
摘要:题意 给定一个长度为 \(n\) 的字符串 \(s\),有 \(m\) 个询问,每次询问最少需要删掉多少个字符才能使 \(l\) 到 \(r\) 组成的字符串当中的每一个前缀和后缀都满足 C 的数量不小于 T 的数量。 思路 因为要满足 C 的数量不小于 T 的数量,我们不妨设字符 C 的位置的值为
阅读全文
摘要:原题链接:P6370 思路 题意不多赘述。 首先这道题的 \(60\) 分暴力很好打,直接按题目中的操作做即可,时间复杂度 \(O(nr)\)。 考虑优化暴力。我们会发现很多次石头的起始点为同一列的情况,其实每一次下落的轨迹是差不多的。具体来讲应该是第一次下落的轨迹一定包含了后面每一次的轨迹。所以我
阅读全文
摘要:题意不多赘述。 注:全文所用的“点 \(u\) 的出度”均指的是点 \(u\) 在原图上的出度。 首先我们考虑 \(r_{i} = 0\) 的情况怎么写,这时我们会发现要么答案是 \(0\) 要么无解。当当前点 \(u\) 无论怎么走都走不到一个环上,即无论怎么走最终都会走到一个出度为 \(0\)
阅读全文
摘要:NOIP 模拟赛原题,赛时没切。 我们可以先考虑 \(30\) 分的部分分怎么打,\(n \le 50\)。对于每一个点去维护两个信息 \(pos\) 和 \(depth\) 分别表示当前这个点所在位置的编号是多少以及它在第几层,我们从两个点最后的状态往回考虑。然后用一个贪心的思想,深度大的点一定会
阅读全文
摘要:NOIP 模拟赛原题,赛时还是没切。 正解奇偶性。 考虑最终不能走的时候是什么情况,当且仅当图中只剩下两个联通块了。设其中一个联通块的点数为 \(k\),那么另一个的点数为 \(n - k\)。所以两人一共的操作次数为 \(sum = \frac{n \times (n-1)}{2}-m-k \ti
阅读全文
摘要:复习了一下边带权并查集板子。 设 \(d_{x}\) 表示当前点到它所在连通块根节点的距离。 合并点 \(x\) 和点 \(y\) 所在两个连通块时需要更新 \(d\)。因为将 \(x\) 点所在连通块的根节点的父亲节点设为了 \(y\) 点所在连通块的根节点,所以有 \(x \to y \to F
阅读全文

浙公网安备 33010602011771号