随笔分类 -  题解

摘要:题意简述 给定一颗 \(n\) 个点的树,边有边权。有 \(m\) 个独立的乘客和 \(m\) 个独立的司机,每个人选一个节点。将乘客与司机匹配,使得距离之和最大。 求所有 \(n^{2m}\) 种可能情况的距离之和 \(\bmod 10^9+7\)。 \(1\le n,m\le 2500\)。 题 阅读全文
posted @ 2025-11-06 21:13 zifanwang 阅读(4) 评论(0) 推荐(0)
摘要:题意简述 给定一个 \(n\) 层,每层 \(k\) 个点的分层图,每一层向下一层连有一些边。记 \(f(l,r)\) 表示最多能选的路径条数,满足这些路径起点为 \(l\) 层,终点为 \(r\) 层,且互不相交(不包含相同的点)。求 \(\sum_{i=1}^n\sum_{j=i+1}^n f( 阅读全文
posted @ 2025-10-30 14:59 zifanwang 阅读(2) 评论(0) 推荐(0)
摘要:题意简述 给定一颗 \(n\) 个点的树,和它的两个大小为 \(k\) 的独立集 \(A, B\)。 在一次操作中,可以选择一条树边 \((u, v)\),满足 \(u\in A\land v\notin A\),并使 \(A\leftarrow (A − \{u\})\cup\{v\}\)。同时, 阅读全文
posted @ 2025-10-17 23:36 zifanwang 阅读(12) 评论(0) 推荐(0)
摘要:题意简述 有一个无限长的序列,初始第 \(i\) 个数为 \(i\)。执行 \(d\) 次删除操作,每次同时将第 \(a_i(\forall 1\le i\le n)\) 个数删除。 接下来有 \(q\) 次查询,每次询问删除 \(d\) 次后第 \(x\) 个数是什么。 \(1\le n,q\le 阅读全文
posted @ 2025-10-17 15:37 zifanwang 阅读(9) 评论(0) 推荐(0)
摘要:题意 给定一棵仙人掌, 你需要用 \(k\) 种颜色给每个结点染色, 且保证有边相连的结点的颜色不相同, 求染色的方案数对 \(10^9+7\) 取模的结果。仙人掌定义为一张特殊的无向图, 其中每条边至多在一个简单环上。 题解 因为是仙人掌,考虑广义串并联图方法。 对每条广义串并联图上的边,记 \( 阅读全文
posted @ 2025-10-08 21:49 zifanwang 阅读(22) 评论(0) 推荐(0)
摘要:显然可以看作竞赛图上的最大流,考虑转化为最小割。 令 \(S\) 为包含 \(s_1,s_2,\dots,s_k\) 但不包含 \(t_i\) 的点集,\(T=\{1,2,\dots,n\}\backslash S\),则代价为 \(\sum_{x\in S}\sum_{y\in T}v_{x,y} 阅读全文
posted @ 2025-09-25 11:04 zifanwang 阅读(8) 评论(0) 推荐(0)
摘要:考虑对于每个 \(i\) 求出使 \([1,i]\) 全部排到 \([i+1,n]\) 之前的最小操作次数。将 \(\le i\) 的数视为 \(0\),\(>i\) 的数视为 \(1\),根据操作的顺序,位置差较大的 \((1,0)\) 有序对会优先被交换。 也就是说,每次只可能将最左边的 \(1 阅读全文
posted @ 2025-09-24 13:50 zifanwang 阅读(13) 评论(0) 推荐(0)
摘要:很好的贪心题。 考虑从左到右枚举每个位置,每次在右边添加一个数时更行答案。 容易想到记录当前前缀可以继续向右延伸的 \(1,2,3\) 操作的个数。记当前需要添加的数为 \(i\),用 \(c,x,y\) 分别表示可以继续向右延伸(从 \(\le i-1\) 的位置)的三种操作的个数:连续区间、奇偶 阅读全文
posted @ 2025-09-18 19:31 zifanwang 阅读(6) 评论(0) 推荐(0)
摘要:先考虑如果所有的 T 已被排除,剩下的位置怎么判断是 R 还是 S。 注意到每种细菌可以在样本中放入任意多个,容易想到经典的套路:将 \(8\) 个位置一起处理,第 \(i\) 个在样本中出现 \(2^{i-1}\) 次,再加入一个 T。若结果 \(\land 2^{i-1}=2^{i-1}\),则 阅读全文
posted @ 2025-09-16 14:24 zifanwang 阅读(12) 评论(0) 推荐(0)
摘要:题意,即给定 \(F(1,i),F(i,1)\),定义 \(F(i,j)=aF(i,j-1)+bF(i-1,j)+c\ (i,j\in [2,n])\),求 \(F(n,n)\)。 考虑将其转化为网格图计数问题,定义向下走的权值为 \(b\),向右走的权值为 \(a\),一条路径的权值为各步权值之积 阅读全文
posted @ 2025-09-07 22:11 zifanwang 阅读(10) 评论(0) 推荐(0)
摘要:考虑将连续相同的段删除等价于什么,即对所有相邻的两列选择一个公共子序列,对应位置合并一起删除。答案即为 \(n^2\) 减去所有相邻两列 LCS 长度之和。 注意到数据是随机生成的,即同一列中每种颜色的出现次数都是 \(\mathcal O(1)\) 的,直接枚举匹配的位置树状数组维护转移即可。 时 阅读全文
posted @ 2025-07-11 21:08 zifanwang 阅读(19) 评论(0) 推荐(0)
摘要:大分讨题。 期望 \(\times {n\choose 2}^k\),即求每种情况的逆序对数之和。 考虑枚举所有 \(i<j\) 计算最终 \(a_i>a_j\) 的方案数。记 \(A=a_i,B=a_j\),\(C\) 表示除了 \(a_i,a_j\) 以外的任意一个数,发现最终 \((a_i,a 阅读全文
posted @ 2025-07-11 21:08 zifanwang 阅读(10) 评论(0) 推荐(0)
摘要:考虑二分答案然后 dp,钦定 \(mid\) 为重新开始的期望时间。若求出的期望时间 \(<mid\) 小,则答案 \(<mid\)。 记 \(f_{i,j}\) 表示当前到了第 \(i\) 关,用了 \(j\) 单位时间通关需要花费的的期望总时间。考虑怎么转移: 若 \(j>R\),则必须重启,\ 阅读全文
posted @ 2025-07-11 21:07 zifanwang 阅读(7) 评论(0) 推荐(0)
摘要:考虑容斥,枚举哪些矩阵中的数 \(<v\)(个数为 \(c\)),哪些 \(\le v\),则系数为 \((-1)^c\)。 考虑将矩阵离散化为 \(\mathcal O(n^2)\) 个块,对于每个子矩阵枚举覆盖的块,更新最大值,最后答案便是 \(\sum_{T\sub S}(-1)^{|T|}\ 阅读全文
posted @ 2025-07-06 19:36 zifanwang 阅读(19) 评论(0) 推荐(0)
摘要:最大值最小,容易想到二分。 考虑贪心,尽量选深度小的点,判断最少点数是否 \(\le k\)。对每个点记录子树内距离最近的公园和最远的未被覆盖的点。若两距离和 \(>mid\),则选择当前点,时间复杂度 \(\mathcal O(n\log V)\)。 参考代码: #include<bits/std 阅读全文
posted @ 2025-07-05 17:39 zifanwang 阅读(12) 评论(0) 推荐(0)
摘要:k-nim 博弈板子题。 注意到白子只能向右移,黑子只能向左,那么可以将每对相邻的 白-黑 子看作一堆石子,石子个数为中间的空格数。每次可以从 \(1\sim d\) 个堆中取出若干石子。 考虑先手必胜的条件。将所有石子个数用二进制表示,那么一定存在一个 \(i\) 满足所有石子个数二进制表示下的第 阅读全文
posted @ 2025-07-05 17:08 zifanwang 阅读(17) 评论(0) 推荐(0)
摘要:题意,即求有多少区间存在绝对众数。考虑分治,每次求经过 \(mid\) 的好区间的个数。 注意到若 \([l,r]\) 存在绝对众数,则 \([l,mid]\) 或 \([mid+1,r]\) 必有一个存在绝对众数。固定一个端点,绝对众数的个数是 \(\mathcal O(\log n)\) 的。 阅读全文
posted @ 2025-07-05 17:08 zifanwang 阅读(9) 评论(0) 推荐(0)
摘要:首先容易想到记 \(f_i\) 表示前 \(i\) 个位置能得到的最大价值,枚举以 \(i\) 结尾的段直接 dp。 发现最后一个段选的颜色必定为 \(s_i\),不然可以令 \([i,i]\) 为单独一段。且以 \(i\) 结尾的段开头颜色也一定是 \(s_i\)。记 \(c_i\) 表示 \([ 阅读全文
posted @ 2025-07-05 17:07 zifanwang 阅读(12) 评论(0) 推荐(0)
摘要:考虑 dp,记 \(f_i\) 表示第 \(i\sim n\) 个 a 和 b 得到的字典序最大的字符串。记 \(a_i,b_i\) 表示第 \(i\) 个 a 或 b 的位置。不取直接从 \(f_{i+1}\) 转移即可,接下来考虑取的情况: 若 \(a_i<b_i\),则 \((a_i,b_i) 阅读全文
posted @ 2025-05-13 23:47 zifanwang 阅读(11) 评论(0) 推荐(0)
摘要:https://www.zhihu.com/question/581556221/answer/97377273573 [ICPC 2020 WF] What’s Our Vector, Victor? 题目理解 题目要求在 \(d\) 维空间中确定一个未知点 \(x\)(你的位置),已知空间中 \ 阅读全文
posted @ 2025-03-20 22:38 zifanwang 阅读(24) 评论(0) 推荐(0)