摘要:
思路 首先,很容易想到枚举合法的循环节长度,然后遍历整个字符串,对必须要干活的天数进行标记,最后记循环节长度为 \(l\),标记天数为 \(cnt\),则这个循环节长度就有 \(2^{l-cnt}\) 个合法方案。 但是这样计算会导致部分部分方案重复计算,比如所有天数都干活的方案在所有循环节长度都被 阅读全文
posted @ 2025-11-02 00:20
CharlieCai2024
阅读(23)
评论(0)
推荐(0)
摘要:
考虑如何建图,首先对于 \(n\) 个人的 \(m\) 个属性我们都建一个点,表示目前第 \(j\) 个属性达到了 \(a_{i,j}\) 的代价。为了计算每个人的出场费用,我们再新建 \(n\) 个点(记其编号为 \(b_i\)),分别表示现在场上是第 \(i\) 个人的代价。显然对于表示第 \( 阅读全文
posted @ 2025-11-02 00:20
CharlieCai2024
阅读(52)
评论(0)
推荐(0)
摘要:
首先思考线路只有从祖先到子孙的链的情况,对于询问的两个点 \(x\) 和 \(y\),我们肯定要先从 \(x\) 跳到它们的 LCA,再从 LCA 跳到 \(y\)。由于从 LCA 到 \(y\) 的过程和从 \(y\) 到 LCA 的过程是等价的,所以我们可以先算出每个点在经过一定数量的线路时最远 阅读全文
posted @ 2025-11-02 00:19
CharlieCai2024
阅读(56)
评论(0)
推荐(0)
摘要:
为了方便,我在接下来的题解和代码中会将选手和比赛的编号全部加 \(1\)。 首先可以发现,当一个人击败另一个人之后,败者此时拥有的奖牌接下来的移动都是一样的了。 考虑如何应用这个性质,我们可以对所有的对局建边,边由胜者指向败者,边权为这场对局的编号(表示胜者除了获得败者的所有奖牌外,还有一个编号为当 阅读全文
posted @ 2025-11-02 00:19
CharlieCai2024
阅读(29)
评论(0)
推荐(0)
摘要:
首先发现第 \(2\) 到 \(n\) 花色的卡牌都是等价的,不受他们花色的影响,能决定其分配方案数的是第一名玩家有多少张多余的 \(1\) 花色卡牌来换掉 \(2\) 到 \(n\) 花色的卡牌。 因此,我们可以先预处理出在得到在确定给某种花色分配 \(x\) 张 \(1\) 花色卡牌时该花色的分 阅读全文
posted @ 2025-11-02 00:19
CharlieCai2024
阅读(28)
评论(0)
推荐(0)
摘要:
设 \(f_i\) 为匹配到第 \(i\) 为的序列个数,令 \(last_{x,i}\) 表示从第 \(i\) 为往前第一个出现 \(x\) 的位置,可以得到转移 \(f_i=\sum_{j=last_{a_i,i}}^{i-1}{f_j}\)。最后答案即为 \(\sum{f}\)。 由于本题 \ 阅读全文
posted @ 2025-11-01 23:54
CharlieCai2024
阅读(21)
评论(0)
推荐(0)
浙公网安备 33010602011771号