11 2025 档案

摘要:没打。 阅读全文
posted @ 2025-11-05 21:22 CharlieCai2024 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-05 21:13 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
摘要:T1 大约开考 40 min 后做出,有点慢了。 反悔贪心,按照每个人最大的满意度与次大值的差为第一关键字,次大值与最小值的差为第二关键字从大到小排序,然后挨个取就行了。 期望得分:\(100\) 点击查看代码 #include<bits/stdc++.h> #define int long lon 阅读全文
posted @ 2025-11-05 19:20 CharlieCai2024 阅读(13) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2025-11-05 14:44 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 19:19 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 11:41 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 11:08 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 10:08 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 09:31 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 09:12 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 09:01 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-04 08:32 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-03 22:13 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-03 21:54 CharlieCai2024 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-03 21:08 CharlieCai2024 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-11-03 20:35 CharlieCai2024 阅读(1) 评论(0) 推荐(0)
摘要:基本思想 哈希的核心思想在于,将输入映射到一个值域较小、可以方便比较的范围。 性质 两个相同的元素哈希值相同。 两个不同的元素哈希值不同(若相同则称为冲突)。 一维哈希(字符串哈希) 对于字符串 \(s\),其哈希值为 \(f(s) = \sum\limits_{i=1}^ls[i] \times 阅读全文
posted @ 2025-11-03 18:56 CharlieCai2024 阅读(4) 评论(0) 推荐(0)
摘要:大致题意:给定一些字符串,字符串中的字母开始时均为小写,你可以将其中若干种字母全部改为大写,问能否使得操作后给定的字符串满足按字典序升序(可以等于)排列。如果能,则输出方案。 这里提供一个拓扑排序的解法。 首先,由于影响两个字符串的字典序大小关系的只有两个字符串的第一个不同的字母,所以我们只需要让所 阅读全文
posted @ 2025-11-02 22:16 CharlieCai2024 阅读(5) 评论(0) 推荐(0)
摘要:题意 一共有 \(n\) 个人,他们开始互不认识,而每天早上不认识的两个人会变成朋友。一共有 \(m\) 天,每天晚上有的人要去旅行,去旅行的人必须满足有至少 \(k\) 个朋友也去旅行。求每天去旅行的最大人数。 思路 读题后发现,想要判断一个人能否去旅行,就要知道他的朋友能否旅行。这是一个“套娃” 阅读全文
posted @ 2025-11-02 22:16 CharlieCai2024 阅读(6) 评论(0) 推荐(0)
摘要:题意 给定一棵 \(n\) 个结点的树,第 \(i\) 个点有颜色 \(c_i\),其中 \(c_i=0\) 为白色,\(c_i=1\) 为黑色。有 \(q\) 次询问,每次询问给定一个正整数 \(u\),要求将结点 \(u\) 的颜色反转,并判断修改后的树上的所有黑点是否构成一条链。询问不独立。 阅读全文
posted @ 2025-11-02 22:16 CharlieCai2024 阅读(6) 评论(0) 推荐(0)
摘要:题意 给定一棵无根树,求其中本质不同的独立集的个数。 思路 首先,由于要求统计独立集的个数,所以我们选定的点不能相邻。考虑 dp,设 \(f_{i,0}\) 表示 \(i\) 的子树内不选 \(i\) 的独立集个数,\(f_{i,1}\) 表示 \(i\) 的子树内选 \(i\) 的独立集个数。 接 阅读全文
posted @ 2025-11-02 22:16 CharlieCai2024 阅读(8) 评论(0) 推荐(0)
摘要:题意 简化版题意:给定一个森林,所有节点初始为白色,可以花费 \(D_i\) 将第 \(i\) 个节点染成黑色。定义一个节点如果是黑色节点,且与它直接相连的点中有黑色节点,则这个点是“好的”。有 \(Q\) 个询问,每次询问在花费的总代价不超过 \(S_i\) 的情况下最多能将几个点变为"好的“点。 阅读全文
posted @ 2025-11-02 22:15 CharlieCai2024 阅读(8) 评论(0) 推荐(0)
摘要:题意 给定一棵树,树的边上有字符串,字符串可以按照由父亲到儿子的方向拼接,求模式串 \(t\) 出现的次数。 思路 直接使用哈希。提前预处理出模式串 \(t\) 对应的哈希值,在搜索时计算当前点到儿子之间的边上的字符串对应的哈希值,并将其加入数组中,这样我们就得到了根节点到当前节点之间所有边上字符串 阅读全文
posted @ 2025-11-02 22:14 CharlieCai2024 阅读(4) 评论(0) 推荐(0)
摘要:首先,显然不得分的题目不做,因为这样不仅增加时间,还可能导致一些原来符合限制的题目不符合限制,不能使答案更优。 于是,我们发现最终的答案 \(ans\) 不会超过所选题目中最小的 \(t_i\),所以我们选题时应该尽量选 \(t_i\) 较大的题目。考虑将所有题目按 \(t_i\) 从大到小排序,依 阅读全文
posted @ 2025-11-02 22:14 CharlieCai2024 阅读(4) 评论(0) 推荐(0)
摘要:首先思路是很清晰的,该删的数从小到大开始删,这样在删到当前数的时候,比当前数小的数可以尽量少,能选的区间自然就更大了。 考虑如何实现,维护一个 set,从小到大遍历每个数,若当前数不需要被删除,就将其下标加入 set 中;若需要删除就在 set 中二分出恰好比当前数位置后的数,也就是区间的 \(r+ 阅读全文
posted @ 2025-11-02 22:13 CharlieCai2024 阅读(3) 评论(0) 推荐(0)
摘要:题意 有两个整数 \(a,b\),进行 \(t\) 轮操作,每轮操作先在 \([-k,k]\) 范围内取一个整数加到 \(a\) 中,再在 \([-k,k]\) 范围内取一个整数加到 \(b\) 中,求最终使 \(a > b\) 的方案数。 思路 记 \(a\) 增加的总和为 \(pa\),\(b\ 阅读全文
posted @ 2025-11-02 22:12 CharlieCai2024 阅读(4) 评论(0) 推荐(0)
摘要:题意 给定一个字符串 \(s\),求它有多少个不同的子串 \(t\) 满足可以把 \(s\) 分割成若干个子串,使得每个子串要么等于 \(t\),要么等于 \(\texttt{"a"}\)。 思路 首先如果字符串全部由 a 组成那就直接输出 \(|s|-1\) 即可。 接下来考虑正常情况,由于分割完 阅读全文
posted @ 2025-11-02 22:12 CharlieCai2024 阅读(3) 评论(0) 推荐(0)
摘要:思路 考虑模拟传染过程,对于每一个已经被感染的点(下文称为当前点),遍历其能到达的点(下文称为新点),记这条边的边权为 \(w\),分为以下两步: 判断新点能否和当前点在同一天内被感染; 若不能,则从当前点被感染的天数(记为 \(t\))向后找,找到最小的 \(i\) 使得 \(i > t\) 且 阅读全文
posted @ 2025-11-02 22:12 CharlieCai2024 阅读(3) 评论(0) 推荐(0)
摘要:思路 首先,很容易想到枚举合法的循环节长度,然后遍历整个字符串,对必须要干活的天数进行标记,最后记循环节长度为 \(l\),标记天数为 \(cnt\),则这个循环节长度就有 \(2^{l-cnt}\) 个合法方案。 但是这样计算会导致部分部分方案重复计算,比如所有天数都干活的方案在所有循环节长度都被 阅读全文
posted @ 2025-11-02 00:20 CharlieCai2024 阅读(3) 评论(0) 推荐(0)
摘要:考虑如何建图,首先对于 \(n\) 个人的 \(m\) 个属性我们都建一个点,表示目前第 \(j\) 个属性达到了 \(a_{i,j}\) 的代价。为了计算每个人的出场费用,我们再新建 \(n\) 个点(记其编号为 \(b_i\)),分别表示现在场上是第 \(i\) 个人的代价。显然对于表示第 \( 阅读全文
posted @ 2025-11-02 00:20 CharlieCai2024 阅读(2) 评论(0) 推荐(0)
摘要:首先思考线路只有从祖先到子孙的链的情况,对于询问的两个点 \(x\) 和 \(y\),我们肯定要先从 \(x\) 跳到它们的 LCA,再从 LCA 跳到 \(y\)。由于从 LCA 到 \(y\) 的过程和从 \(y\) 到 LCA 的过程是等价的,所以我们可以先算出每个点在经过一定数量的线路时最远 阅读全文
posted @ 2025-11-02 00:19 CharlieCai2024 阅读(3) 评论(0) 推荐(0)
摘要:为了方便,我在接下来的题解和代码中会将选手和比赛的编号全部加 \(1\)。 首先可以发现,当一个人击败另一个人之后,败者此时拥有的奖牌接下来的移动都是一样的了。 考虑如何应用这个性质,我们可以对所有的对局建边,边由胜者指向败者,边权为这场对局的编号(表示胜者除了获得败者的所有奖牌外,还有一个编号为当 阅读全文
posted @ 2025-11-02 00:19 CharlieCai2024 阅读(2) 评论(0) 推荐(0)
摘要:首先发现第 \(2\) 到 \(n\) 花色的卡牌都是等价的,不受他们花色的影响,能决定其分配方案数的是第一名玩家有多少张多余的 \(1\) 花色卡牌来换掉 \(2\) 到 \(n\) 花色的卡牌。 因此,我们可以先预处理出在得到在确定给某种花色分配 \(x\) 张 \(1\) 花色卡牌时该花色的分 阅读全文
posted @ 2025-11-02 00:19 CharlieCai2024 阅读(3) 评论(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 阅读(1) 评论(0) 推荐(0)