随笔分类 - 题解
摘要:赛时一秒出思路,半小时调代码,把我给干红温了。 Solution P11380 Idea 对于一条限制关系 (ai,bi)(a_i,b_i)(ai,bi),我们将其看作 aia_iai 向 bib_ibi 连边。 那么我们可以发现以下的情况是不合法的: 图上有环。这是一个序列,哪里来的环。
阅读全文
摘要:Solution P7479 Idea 作为学过围棋的 OIer,我的第一反应是找眼。众所周知在围棋中双眼就是活棋。然后如果只有一个眼就要判断,具体你们上网搜。但是你会发现这个题不一样。 因为:这个题中白棋可以连续走! 所以我们不能找眼。众所周知白棋只要把黑棋的气全堵住就可以让黑棋死了。我们需要把黑
阅读全文
摘要:一道 dp 题。 Solution P9102 Idea 我们对 aaa 数组升序排序。 设 dpi,jdp_{i,j}dpi,j 为前 iii 个数,保证 111 到 jjj 区间内所有的数能够全部被包含的方案数。 那么转移就是 dpi,j=dpi−1,j+dpi−1,j−aidp_{i,j}=
阅读全文
摘要:CSP-S 时的我 be like:101010 分钟切 T1,111 小时写完 T2T3 暴力,后面两个半点死磕 T2,喜提 606060 分。 Soluiton P11231 Idea 拿到题目就发现这是一道贪心题。 不难发现一只怪兽要对答案有贡献,就必须要杀一个比它小的怪兽,除非已经没有比它小
阅读全文
摘要:dp。 本篇题解将从 dp 的状态设计、转移设计、初值设计、答案统计和优化五方面进行说明,旨在讲明白这道题和复习 dp。 注意这道题的 dp 是一些个人理解的积累,如果与真正的定义不同还请见谅。 Solution UVA12034 状态设计 设 dpi,jdp_{i,j}dpi,j 为前 iii
阅读全文
摘要:蓝有点过于虚高了。 Solution SP6285 Idea 因为 kkk 只有 151515,考虑状压。 正难则反,我们考虑求 [1,n][1,n][1,n] 中可以被任意一个 aia_iai 整除的数的数量。 显然我们可以处理出每一个集合的每个数的 lcm\operatorname{lcm}
阅读全文
摘要:水,不知道怎么评的绿。 Solution UVA10036 Idea 设 dpi,jdp_{i,j}dpi,j 表示前 iii 个数,和对 kkk 取模的值为 jjj 的状态是否可行。 则显然有:dpi,j=max(dpi−1,(j−ai) mod k,dpi−1,(j+ai) mod k)dp
阅读全文
摘要:双倍经验:P10956。 Solution UVA1362 Problem 给定一棵树的 dfs 遍历顺序,求其可能对应的树的个数。 Idea 不难发现每一次我们到达一个点,都会立即开始遍历它的子树,经过若干次遍历再回到这个点,然后进行遍历它的下一个子树(如果没有子树了就返回父亲)。 因此,一个树的
阅读全文
摘要:Solution P10954 Idea 我们设 dpi,jdp_{i,j}dpi,j 为 aaa 序列考虑了前 iii 个数,以 bjb_jbj 结尾的最长 LCIS 长度。注意并不一定以 aia_iai 结尾。 不设dpi,jdp_{i,j}dpi,j 为 aaa 序列以 aia_iai
阅读全文
摘要:交了 333333 发才过,喜提新纪录。 Solution P9314 Idea 显然是可以离线做的。我们预处理出两列车相遇的地点,判断是否在隧道里即可。 然后就是已知两列车出发时间 ccc 与 ddd,求两列车相遇地点的公式: c≤dc\le dc≤d:dis=d−c+s−(d−c)2dis=d-
阅读全文
摘要:虽然做不了 P11111,但是 P11112 还是可以做的。 Solution P11112 Idea 首先,窗户对机器人的个数是没有影响的。也就是说,我们在前面选的窗户不会影响到下一个窗户需要的机器人数量。 其次:克隆的先后顺序也没有影响。 然后我们就可以预处理出每个窗户需要克隆的机器人数量。 不
阅读全文
摘要:区间 dp,还有点板。 Solution AT_tdpc_iwi Idea 设 dpi,jdp_{i,j}dpi,j 表示 [i,j][i,j][i,j] 最多能删多少字符。 则有:dpi,j=max{dpi,k+dpk+1,j}dp_{i,j}=\max\{dp_{i,k}+dp_{k+1,j
阅读全文
摘要:除了搬题人之外的首 A,来纪念一下。 Solution P11201 Idea 我们先对 bbb 数组排序,然后枚举 aaa 数组。 不难发现:对于 aia_iai,假如最后写出的数有 kkk 位,则一定有 10k−1−ai≤bj<10k−ai10^{k-1}-a_i\le b_j < 10^k-
阅读全文
摘要:双倍经验:ABC363D。 思路 打表 nnn 对应的答案 111 000 222 111 333 222 444 333 555 444 666 555 777 666 888 777 999 888 101010 999 111111 111111 121212 222222 131313 33
阅读全文
摘要:现存的题解似乎没有用 dp 做的,来补一发。 Solution P2409 Idea 我们设 dpi,jdp_{i,j}dpi,j 为现在考虑到了第 iii 盒积木,总重量为 jjj 的方案数。 那么很显然有 dpi,j=dpi−1,j−ai,k+ai,kdp_{i,j}=dp_{i-1,j-a_
阅读全文
摘要:大家好,我非常喜欢线段树优化 dp,于是我使用线段树优化 dp 通过了这道题目。 前排提醒:本题解做法时间复杂度带一只 log\loglog,如果想要学习 O(n)\operatorname{O}(n)O(n) 做法请自行略过。 Solution P11187 Idea 不难发现配对序列就是形如
阅读全文
摘要:Solution P4925 Idea 先考虑没有限制。 这里我们用一种颜色代表一种字符。 第三个字符应该填什么?显然不能是红或者是蓝。有剩余 k−2k-2k−2 种选择。 接下来第四个肯定不能填蓝或者绿,但是可以填红。 可能会有人问:如果填和前面相同的颜色不会出现更长的回文串吗? 不会。因为我们在
阅读全文
摘要:很好的一道题,使我的背包旋转, Solution P2967 Idea 如果我们直接背包,第一不方便考虑限制,第二可能会 TLE。 但是不难发现每一个游戏机之间是不冲突的。这意味着第 iii 个游戏机如何选取不会影响第 i+1i+1i+1 个游戏机的选取。 我们考虑每个游戏机当做一个子任务。然后对这
阅读全文
摘要:一道逆序对题目。 Solution P8613 Idea 逆序对模板:P1908。 这道题不难想到的就是冒泡排序。 只要两个数不符合要求,就交换,这样一定可以做到以最少的次数完成。 但是冒泡排序的时间复杂度是 O(n2)\operatorname{O}(n^2)O(n2) 的,在 n≤105n\l
阅读全文
摘要:一道很经典的并查集离线题。 Solution Idea 我们发现每一次都对于一个询问单独加边,时间复杂度肯定会爆炸。 于是我们思考:如何才能让加边的次数变少呢? 不难发现,我们的每一条边都有一个修建年份,并且修建在 xxx 年的一定会被排斥 yyy 年以前的使用,当且仅当 y<xy<xy<x 时。
阅读全文