自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 CF1845E Boxes and Balls

可以发现移动前后所有 1 的相对位置不变,所以转移时可以直接钦定第。然后发现,要将 &x& 个 1 挪出前 &i& 格,至少需要。格在操作过后 1 的个数与原来相差的值最大为。在这个范围里转移即可,时间复杂度。​ 表示:用 l 步使得前。暴力转移加滚动数组即可。

2025-04-05 16:28:03 542

原创 【无标题】

先证必要性,发现如果有一个合法排列,那么我们一定可以使它的第一项变为。位二进制表示,意为它等于线性基中这些数的异或和,于是使用格雷码即可。再证明充分性,如果线性基满足了条件,那么线性基里肯定恰有。,于是显而易见整个排列都可以被线性基表示。的数加入线性基中,我们有结论,都可以被线性基表示出。

2025-02-10 10:12:04 382

原创 CF468C Hack it!

设∑01018−1​≡pmoda则∑a−p1018a−p−1​≡0moda所以答案为 la−pr1018a−p−1易得 p81∗1018。

2025-01-23 16:38:28 429

原创 CF1368E

将 C 中顶点全部删除,就可以得到一个满足题意的解。:入度为 0,或所有入边都来自。暗示我们可以把顶点分成三组。组的元素个数一定小于。那么,如何划分这三组呢?:至少有一条入边来自。:至少有一条入边来自。

2024-12-26 20:45:24 447

原创 CF1725K

考虑使用并查集维护答案。对于目前每种数建立一个虚点,每个点初始父亲就是其权值对应的虚点。在所有操作时维护一个 set 表示现在存在哪些权值。的父亲改成新的虚点即可。在并查集的根对应的权值。内所有权值,将其合并到。,然后更新 set 即可。

2024-12-17 20:09:53 405

原创 CF1734F

​ 表示选到二进制表示下的第 i 位(最低位为第 0 位),前面连续的 1 的个数的奇偶性为 j,前面的变化位数的奇偶性为 k 的选法数。那么看着如此大的数据范围,你想到了数位 dp。于是,原询问的答案等价于有多少个整数。在二进制下不同位的数量是奇数。

2024-12-17 18:09:26 947

原创 CF1771F

在查询的时候,能往左子树走就尽量往左子树走,如果不能往左子树走(即左子树权值异或和为 0),再往右子树走。(也就是在主席树上二分)因为它是出现次数奇数,而对一个数异或上奇数次有一个美好的性质:它不为。看了luogu里的题解才做出来。开一棵值域主席树,维护值域区间内权值的异或和。rand()有值域上限。

2024-12-16 20:25:18 90

原创 CF1767E

如果此时将后一半颜色的选择与否看成二进制位,那么此时可用的 T 集合的方案构成后缀 ⁡min 形式。只需要提前对 T 做预处理即可。对于每一半,枚举每个颜色的选择与否,判断是否与合法条件矛盾。得到两个合法选择集合 S 与 T。枚举 S 中每个方案,再枚举后一半中的颜色。可以根据前一半的选择与否,判断出该颜色此时是否必须被选择。而想到 meet in the middle。首先发现,合法条件即为 ∀i∈[2,n],将颜色拆成前一半和后一半各。​ 中至少有一个被选择。

2024-12-16 20:21:27 145

原创 CF1051F The Shortest Statement

CF1051F The Shortest Statement

2024-11-07 23:03:19 739

原创 P5670 秘籍-反复异或

个线段树对应的区间节点后把对应的每一位直接按位异或起来即可,单次合并一个区间节点的时间复杂度也是。之内,那么现在一个区间的 bitset 左移后后面的 x 位需要和前面的。考虑一个区间加法该怎么维护,我们发现我们可以对于区间加的值取模后控制在。单次下传和单次修改都是。的长度作为限制自然溢出即可,就相当取模。所以最后修改和下传的总时间复杂度就是。位即可,超过的部分我们直接用。位进行一个整体交换,这个就。最后查询总的时间复杂度就是。然后区间查询就直接找到。最后总的时间复杂度是。的样子可以通过此题。

2024-11-05 23:23:32 475

原创 CF2022E2 CF2022E1 Billetes MX

CF2022E2 CF2022E1 Billetes MX

2024-11-03 23:29:20 913

原创 CF1634E Fair Share

对于每一种数,肯定一半个数放在 L 中,另一半放在 R 中。所以我们把这种数第一次出现位置与第二次出现位置连线,把第三次出现位置与第四次出现位置连线,等等。考虑哪些点不能放在同一集合中,在它们之间连一条边,最后二分图染色判求出两个集合。对于每个数组,因为有一半放入 L,一半放入 R。所以也把数组相邻两个数相连边。当然直接存m个数组会炸掉 所以数据要先离散化。其实这是一道图论题。

2024-09-30 22:42:28 169

原创 CF1667E Half Queen Cover

考虑构造,考虑从 (k+1,k+1) 出发每次纵坐标增加 1 横坐标增加 2 让两个坐标之差相互错开,横坐标超过 n 时回到 k+2,不过在 n=3 会造成出现两个点在同一个对角线上的情况,不过在 n=3 的特例下这种方案仍然合法。将剩下的格子平移可以拼成 (n−k)×(n−k) 的正方形,该正方形的 2×(n−k)−1 条对角线都要由棋子的对角线覆盖。因此可以列出不等式 k≥2×(n−k)−1,化简得 k≥(2n−1)/3。因此棋子数量 k 的理论下界是 ⌈(2n−1)/3⌉。

2024-09-23 23:15:35 168

原创 CF1713E Cross Swapping

交换,那么我应该不操作 i 并不操作 j,或操作 i 并操作 j(转两次转回来了),即 i 与 j 操作情况相同。交换,那么我应该操作 i 并不操作 j,或操作 j 并不操作 i,即 i 与 j 操作情况相反。给定一个 n×n 的矩阵。一次操作可以给定一个 k 然后交换所有的 A。交换,其做法有两种:进行操作 i,或进行操作 j。我选择使用带权并查集维护操作情况相同或相反的关系。要求字典序最小,所以我们从上往下从左往右贪心。操作 i,就是把第 i 行和第 i 列交换。主对角线上的东西永远不变。

2024-09-21 23:51:08 216

原创 CF691F Couple Cover

CF691F Couple Cover

2024-09-11 22:04:52 222

原创 CF1743E FTL

CF1743E FTL

2024-09-07 18:59:14 248

原创 CF1795F Blocking Chips

CF1795F Blocking Chips

2024-09-04 21:45:53 220

原创 CF1817C Similar Polynomials

CF1817C Similar Polynomials

2024-08-31 15:42:15 455

原创 CF1860E Fast Travel Text Editor

CF1860E Fast Travel Text Editor

2024-08-29 21:01:23 553

原创 CF723F st-Spanning Tree

CF723F st-Spanning Tree

2024-08-27 22:20:56 421

原创 CF731E Funny Game

CF731E Funny Game

2024-08-26 22:00:23 206

原创 CF786B Legacy

CF786B Legacy

2024-08-20 22:52:26 196

原创 洛谷 P4616 [COCI2017-2018#5] Pictionary

考试时主要是在条件gcd(a,b)=m−i+1上被迷惑了,没有想到建树,以为是一道图论题。

2024-07-16 23:06:43 230

原创 CF1132E Knapsack

CF1132E Knapsack

2024-07-09 22:48:05 189 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除