Loading

上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页
摘要: 比较偏套路。 首先你要知道,给我们这些信息的组合其实有用的很少,我们利用相邻两位的信息就足以规约出所有限制了。 就是分类讨论相邻位的 P/S 关系,那么就会得出一系列关于 \(a_i, a_{i - 1}\) 的限制了(与总和也有关系)。 但是我们目前还不知道总和,怎么办呢?我们枚举相邻位,如果其是 阅读全文
posted @ 2025-11-12 19:11 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 按照和 P2619 一样的方法,将连有 \(1\) 的边看作白边,其他边为黑边,随便 WQS 二分一下即可。 阅读全文
posted @ 2025-11-12 17:01 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 考虑到不同的长度类型最多只有 \(O(\sqrt n)\) 种,那么我们对于每种长度开个 set 存储一下哈希值即可做到 \(O(n \sqrt n \log n)\)。 有大受子二进制分组 + AC 自动机做法可以把 \(\sqrt n\) 干掉,不过能过就是了。 阅读全文
posted @ 2025-11-12 16:48 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 这个题无论是 D1 还是 D2 都很具有思维含量。 首先考虑 \(a_i \le 200\) 怎么做。 考虑异或有性质 \(|a - b| \le a \oplus b \le a + b\),那么推一下就会知道目前 \(j\) 一定 \(\ge i - 400\),暴力枚举即可。 然后思考 \(a 阅读全文
posted @ 2025-11-12 15:15 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: Ad-hoc 题真不是很想写代码。 首先选子集根据经验一定是假的,不然 std 真依赖这个就成 SZY 最短路了。所以考虑强化限制成子段。 根据这种题型来说,值域 \([1, n]\) 是一个关键性质,它能能够保证一定有解。 考虑最终选择第一个区间的 \((l1, r1]\),第二个区间的 \((l 阅读全文
posted @ 2025-11-12 11:11 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 首先发现一个事情,一个点会被修改当且仅当它处在一个回文极长子串的边缘,否则答案一定不会增加。 那么枚举这些位置修改成了哪些字符,在求最长回文半径的时候打个标记即可,难写的依托。 阅读全文
posted @ 2025-11-12 10:16 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 比较好的计数题。 首先你想枚举每一行有几个 \(1\),每一列有几个 \(1\)。 那么问题可以变成,将一行为 \(1\) 的变成一个元素,为 \(2\) 的变成两个元素,然后列需要在这些元素中选取,需要有一些大小为 \(2\) 和大小为 \(1\) 的集合,且不能有相同的数。 我们考虑容斥有相同数 阅读全文
posted @ 2025-11-12 09:31 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 不知道为什么今天的题目都不是很想写代码。 首先感受一下,你会发现 \(c_i\) 在高桥优势大的时候肯定取 \(r_i\),否则取 \(l_i\)。 然后你发现仍然不是很好做,考虑二分一下操作数。 到了这个时候开始初现端倪了,你发现如果有两个位置既没有达到下界那么怼着一个一直加或者一直减一定比分配到 阅读全文
posted @ 2025-11-11 21:07 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 典题我懂得欣赏。 首先题目就是要将 \(s\) 中没有重复位置的两个子序列拎出来,第一个放前面第二个放后面看能不能得到 \(t\)。 那么你去枚举分界点,然后设计一个 \(f_{i, j, k}\) 表示到了第 \(i\) 位 \(t\),第 \(j\) 位 \(t\),第 \(k\) 位 \(s\ 阅读全文
posted @ 2025-11-11 20:42 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 反悔贪心困难题。 首先显然按照 \(a\) 和 \(w\) 排序,如果一个物品用不了优惠肯定用折扣。 那么问题就变成了,我维护一个堆将所有优惠力度扔进去,如果最大的优惠力度都不如取折扣,那么肯定取折扣,否则我们一定取优惠。 但是我们要反悔,所以我们还需要往里面丢一个东西表示后面的东西选了这个东西就可 阅读全文
posted @ 2025-11-11 20:03 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 典,做过一遍就会了。 考虑设 \(f_{i, j}\) 表示从小到大到了\(i\),目前能够有 \(j\) 个数为 \(i\) 的不同集合方案数,转移写个前缀和可以简单做到 \(O(n^2)\)。 优化的契机就在于,这个合并的过程是指数级增长的,·每一层能够向后转移的点其实是很少的,因此用 vect 阅读全文
posted @ 2025-11-11 19:30 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 经典问题。 首先拆位,那么限制变成强制一段全为 \(1\),或者强制一段存在 \(0\),先把第一个限制填完,再考虑第二个限制。 然后对于第二个条件,将包含关系给干掉,那么按照 \(l\) 排序后 \(r\) 也是递增的,考虑容斥其中 \(j\) 个区间全放 \(1\),然后剩下随便填的方案数,我们 阅读全文
posted @ 2025-11-11 18:30 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 首先发现就是让你组合成一些环使得其满足条件。 看目前如果有长度为 \(len\) 的环,能够最少花费 \(p\) 个这样的环组合成一个大环,那么 \(p\) 的倍数同样合法,且这是充要条件。 然后考虑一些链拼接成环的计数,设 \(f_{i, j, k}\) 表示所有 \(len \le i\) 的环 阅读全文
posted @ 2025-11-11 16:54 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 练习一下计数技巧。 考虑容斥 \(i\) 个人与原来的糖相同,我们对于同一种糖一起考虑,注意要除掉剩下不一样的糖相同的置换,这部分用一个 DP 即可。 然后容斥系数就是 \(-1\) 的集合大小次方,剩下的位置随便放乘一个阶乘即可。 阅读全文
posted @ 2025-11-11 14:52 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 传奇脑力王。 结论是,答案只会在前 \(31\) 小的数中产生。 然后你问我如果没看出这个结论怎么办。 考虑全局怎么做,就是在 trie 树上贪心。 那么我们区间加个可持久化 trie 即可。 阅读全文
posted @ 2025-11-10 20:43 Alexande 阅读(5) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页