Loading

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 33 下一页
摘要: 学到了一些东西。 首先考虑到 \(b_i\) 的二进制位一定包含了 \(a_{i - 1} | a_i\) 的二进制位,我们不妨求一个 \(p_i\) 表示将 \(b_i\) 最少加多少可以满足这个条件的数。 但是我们发现可能存在一些的与的数比 \(a_i\) 大,我们还需要通过一些操作将 \(b_ 阅读全文
posted @ 2025-11-10 17:24 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 我相信如果我 NOIP 被创寺了就是被这种题创寺了。 首先将异或变成 \(d_x \oplus d_y \oplus a_{lca} = 0\),然后显然如果有多个 \(lca\) 满足这个条件我们只需要更改这个 \(lca\) 即可。 我们发现我们一定是从下往上改的,因为从上往下改不会使得答案更优 阅读全文
posted @ 2025-11-10 16:50 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 唐诗题,我开始还以为是位运算大神,结果发现答案 tm 是唯一的。 首先你要发现这么复杂的题目我们很难搞(主要是又有位运算又有加),我们尝试将 \(b, c\) 加在一起,你会发现一些神奇的事情: \(b_i + c_i = a_i \times n + \sum a_j\) 通过两个数的与加两个数的 阅读全文
posted @ 2025-11-10 15:24 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: https://xinyoudui.com/ac/contest/74700BC520008E907259A3/problem/42353 妈妈我被二进制题区分了。 首先考虑为啥它要给你前缀,不难发现最值只会由 \(a_n\) 贡献,利用一定的计数技巧可以在 \(O(k)\) 的复杂度内求出第一问的 阅读全文
posted @ 2025-11-10 15:02 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 发现可以设一个线段树合并来维护树链剖分,瓶颈在于将多位合并。 那么通过二进制并行计算可以优化这个过程,复杂度可以做到小常数两只 \(\log\)。 阅读全文
posted @ 2025-11-09 20:21 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 遇到这种题还是太吃操作了。 首先看如果没有必须为非降序列的限制怎么办,那么就是求出一种长度种类的方案,然后删除的时候剩下的随便删即可。 然后考虑容斥,每次减去上一次操作不合法的位置即可,还是比较套路的。 阅读全文
posted @ 2025-11-09 16:45 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 差点场切了,必须写个题解啊。 官方题解写什么屎,反正我是看不懂的。 首先考虑一段区间合并成 \(0/1\) 的充要条件: 合成 \(0\),\(0\) 的数量最多比 \(1\) 多 \(1\) 个,并且必须要有 \(0\)。 合成 \(1\),\(1\) 的数量必须比 \(0\) 多。 有个升级版结 阅读全文
posted @ 2025-11-09 16:19 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 容斥个蛋,不如直接 DP。 考虑从大到小排序线段消掉一维限制,用连续段 DP 做,设 \(f_{i, j, k}\) 为前 \(i\) 条线段,分成了 \(j\) 个连续段,占了 \(k\) 个位置的方案数,考虑转移: 单独成一段。 扩展一段。 连接两段。 被包含。 转移发现状态乘上转移是 \(O( 阅读全文
posted @ 2025-11-08 22:06 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 首先把肯定不合法的 \(S\) 和 \(T\) 都给删掉。 最后发现就是要求 \(T - S\) 的部分要有 \(0\) 和 \(1\),其它部分都已经固定好了。 考虑容斥,容斥 \(i\) 个地方只有 \(0\) 或只有 \(1\),求个组合数即可。 阅读全文
posted @ 2025-11-08 18:47 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 首先考虑初始状态合法的充要条件,每两行对应位置差相等。 发现每个连通块有一些代表元,用带权并查集做即可。 阅读全文
posted @ 2025-11-07 20:26 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 手伤了不是很能打代码,写短一点。 相邻限制缩一起,\(a_i \to i\) 连边跑拓扑序即可。 阅读全文
posted @ 2025-11-07 19:56 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 刚开始想 DP,不过后面看了题解发现贪心更简单也更具思考价值。 然后贪心每选 \(k\) 个填一个,我们记录两种东西各剩下多少个。 每次显然让多的填尽可能多的段后填一个小的,如果多的合法那么小的必然合法。 然后做即可。 阅读全文
posted @ 2025-11-07 15:43 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: https://xinyoudui.com/ac/contest/74700BA640008E90722647/problem/42337 首先考虑一个事情,就是每次从待选集合里选择的数的数量不确定,这不是很好计数,有一个很好的转化是转化操作排列,然后探寻发生贡献的充要条件是什么。 假设我们最后得到 阅读全文
posted @ 2025-11-07 15:06 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 注意到时间级别是 \(O(n)\) 的,暴力 DP 即可。 阅读全文
posted @ 2025-11-06 20:55 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 设 \(f_{i, j}\) 为大小为 \(i\) 的子树,最大深度为 \(j\) 的方案数,不难发现题目中生成的充要条件是父亲结点编号小于儿子结点,只需要保证这个就可以奇数了。 转移过程中,我们不妨枚举子树大小和深度,有: \[f_{j, k} \times f_{i - j, l} \times 阅读全文
posted @ 2025-11-06 19:52 Alexande 阅读(6) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 33 下一页