随笔分类 -  Codeforces题解

昱星神川龙王殿,未存冥海夜神宫
摘要:### A - Destroy the Colony 首先发现,英文字母一共只有 26 个,算上大小写,|Σ|=52。那么我们就相当于是挑选一个字母子集,使得其总和为 n/2,然后分别全排列。 但是我们发现,最后的全排列是和前面的子集没有关系的,因为根据多重集,答案等于 $\d 阅读全文
posted @ 2023-09-07 07:52 jucason_xu 阅读(16) 评论(0) 推荐(0) 编辑
摘要:首先我们考虑第一种做法,我们搜索 dpx,y,l,r 判断 s[x,y]t[l,r] 是否等价,同时记忆化搜索。 但是这样是很明显不行的。如果长度是 2 的整次幂,我们仅分析最底层长度为 1 的区间,我们发现,任何的 [x,x][y,y](xn/2),都会 阅读全文
posted @ 2023-07-09 23:35 jucason_xu 阅读(21) 评论(0) 推荐(0) 编辑
摘要:首先,如果 (x,x+d) 可以实现,那么任意的 (y,y+d) 都可以被实现。 也就是,差相等的所有数对等价。 如果 yx,显然可以仅通过 (x+1,y+1) 达成目的。所以问题等价于证明 (x,x+d)(1,d+1) 等价。 我们找到一个 N 使得 $2 阅读全文
posted @ 2023-06-21 00:14 jucason_xu 阅读(8) 评论(0) 推荐(0) 编辑
摘要:### 56E - Domino Principle 我们发现,倒下的多米诺骨牌一定是一个区间,否则如果中间空了一段,前面就一定不能影响到后面。所以可以设 ri 表示第 i 块牌倒下,倒下的最右的牌。然后每块牌影响的范围就是 [i,ri]。我们计算它能直接使得倒下的牌是哪些区间,$r 阅读全文
posted @ 2023-06-09 12:01 jucason_xu 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题意:构造一个 n 大小的锦标赛图,即每两点之间恰有一条有向边,满足任意点对 (u,v),都存在一条从 uv,长度不超过 2 的路径。 #### 方法一 考虑奇数情况,假设我们的点是在环上排列的,那么我们对任意的跨越不超过半个环的边都连上,也就是说,我们把点看成圆上的若干个 阅读全文
posted @ 2023-06-08 16:29 jucason_xu 阅读(9) 评论(0) 推荐(0) 编辑
摘要:大模拟。 首先的难度在于理解题意: 打电话的地点分为镇、地区、超级地区三级。其中,一些地区是被网络连接的。 电话号码的前缀由 地区号+镇号 组成。它们可以是不等长的,但是整个电话号码的长度是 d。一个镇可能有多个镇号,不同地区的镇可以拥有相同的镇号,但地区号是唯一的。 同时,电话分为四种来源: 阅读全文
posted @ 2023-06-05 23:31 jucason_xu 阅读(11) 评论(0) 推荐(0) 编辑
摘要:先考虑正着做,我们只考虑整个 b 序列中出现的第一个子序列 a。 这样,我们就是要往 a 中插入 mn 个数,其中 ai1ai 之间不能有 ai(否则就会有更靠前的子序列)。a1 前面不能有 a1an 后面什么都可以有。 我们发现, 阅读全文
posted @ 2023-06-05 18:02 jucason_xu 阅读(38) 评论(0) 推荐(0) 编辑
摘要:考虑 dpi,j 表示用 i 条船载走前 j 个人的最小贡献,wi,j 表示区间 [i,j] 里的人同乘一条船的代价。则 dpi,j=min1k<j(dpi1,k+wk+1,j)。 我们发现,wi,j 可以通过 阅读全文
posted @ 2023-06-02 23:23 jucason_xu 阅读(17) 评论(0) 推荐(0) 编辑
摘要:本质不同的算法主要有两种:对子图大小根号分治和类启发式均摊。此外还有很多实现上的差别。 #### 对子图大小根号分治 在线做法: 我们发现,把每个颜色的边和它们的顶点取出为一个子图,所有子图大小的和是 O(n) 级别的。那么我们就可以根号分治。 首先,要预处理每个颜色子图下的连通块。可以用并查集 阅读全文
posted @ 2023-05-30 14:42 jucason_xu 阅读(48) 评论(0) 推荐(0) 编辑
摘要:尝试使用哈希。首先,我们可以发现,我们去枚举最终答案矩形的长和宽。然后我们会发现宽是关于长单调减少的。那么我们就可以写一个双指针,每次检查对当前的 x,y,是否存在长为 x,宽为 y 的相同子阵。因为是双指针,所以枚举的复杂度是 O(n+m) 的。 然后考虑匹配。我们发现,我们可以使 阅读全文
posted @ 2023-05-27 17:13 jucason_xu 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题意:给出一个无向网络,求其最大费用流(不是最大费用最大流) 首先考虑无向图怎么解决。 先尝试对每个边构造一个子结构,具体方法是对每个边 (x,y) 新增两个点 a,b,然后从 (x,y) 分别向 a 连有向边,b(x,y) 连有向边。ab 之间连流量为 阅读全文
posted @ 2023-05-27 16:10 jucason_xu 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给定一个不降整数序列 1x1x2xnq,请构造一个实数序列 y 满足 yi[1,q]yiyi1[a,b],且最小化 (yixi)2,保证有解。 #### 利用凸函数性质维护导 阅读全文
posted @ 2023-05-24 21:44 jucason_xu 阅读(87) 评论(0) 推荐(1) 编辑
摘要:有点厉害。 首先给一个 SAM 的做法。我们先对所有串建立 SAM,然后对于每个 T,我们先预处理对于每个节点对应的 endpos 集合,多长的子串可以满足条件。 然后,我们把 S 串往当前的自动机输入,每次会来到一个 endpos 集合。同时再输 阅读全文
posted @ 2023-05-16 21:53 jucason_xu 阅读(16) 评论(0) 推荐(0) 编辑
摘要:我们首先考虑建图。我们把每个点向它的所有变换连边,把每个变换往它产出的所有点连边,同时点到变换的边有边权,就是变换中 1 的个数。 我们首先处理最小值。我们发现,没有出度的点和变换可以一开始就有结果。只要一个点有一个变换是可以有结果的,这个点就可以有结果。变换则不然,必须所有点都有结果,变换才 阅读全文
posted @ 2023-05-16 17:12 jucason_xu 阅读(26) 评论(0) 推荐(0) 编辑
摘要:首先考虑 dpi,msk 表示当前连通了 msk 中所有关键点,并且当前连通的非关键点包含 i 的最小代价。 然后考虑如何转移。我们先用 Floyd 预处理所有点对之间的最短路 disti,j。同时,每次选取的两个用于合并的关键点集合一定没有交集,所以我们可以直接枚举 阅读全文
posted @ 2023-05-16 16:21 jucason_xu 阅读(12) 评论(0) 推荐(0) 编辑
摘要:首先我们考虑先把区间处理掉,也就是对于每个 y 轴区间,只保留在这个区间上最早出现的进行贡献,使得每个区间只有一段城墙会贡献到。这个可以离散化然后线段树来处理。 其次,我们发现,对于在时间 ti 上出现的 [li,ri] 区间(这里我们说的都是指离散后 [a,a+1) 的区间, 阅读全文
posted @ 2023-05-16 14:42 jucason_xu 阅读(9) 评论(0) 推荐(0) 编辑
摘要:比较迷糊,比较乱搞。 我们考虑从上往下进行 dpdpi 表示从顶上水槽 i 最多的流量。然后我们发现,每个高度,能用来进行转移的区间一定没有被完全覆盖。也就是,只有在遮挡关系中被覆盖的区间可能被用来转移。 同时,每个区间还是有要求的,比如 [1,3][2,3] 部分后来 阅读全文
posted @ 2023-05-15 21:47 jucason_xu 阅读(14) 评论(0) 推荐(0) 编辑
摘要:首先我们通过翻转坐标系强制要求光的方向是正方向。翻转坐标系就翻转矩阵的对应维度就可以了。 然后我们发现,如果不考虑遮挡关系,只考虑平面,对于每个位置的方块而言,能照到它的光是一段区间。就是能照到 (i1,j) 和能找到 (i,j1) 的光。 我们考虑把光映射到光所在直线在 y 轴上的 阅读全文
posted @ 2023-05-15 21:23 jucason_xu 阅读(18) 评论(0) 推荐(0) 编辑
摘要:比较毒瘤的一道模拟。 首先,我们考虑如何处理 define,我们发现,其中不会出现环,并且所有冲突的定义以第一个为准,那么就想到并查集,将 x 的父亲定成 y。只不过我们平时的并查集是无向的,这里是有向的,也就是谁是根是重要的。 我们先给所有的定义和被定义的变量映射到一个值,然后用并查集维护 阅读全文
posted @ 2023-05-15 20:58 jucason_xu 阅读(19) 评论(0) 推荐(0) 编辑
摘要:我们发现,这其实就是一个完全图合并的问题。如果一个子图不是完全图,就一定要把它们合并起来。 我们考虑 dpmsk 表示只对当前集合 msk 的点进行操作,使得 msk 集合是完全图的最小步数。初始状态是枚举所有的 msk 检测是否是完全图。然后我们每次枚举和当前集合的加入集合 阅读全文
posted @ 2023-05-07 19:29 jucason_xu 阅读(17) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示