摘要: [题解]CF1907G Lights CF1907G Lights 我们可以把灯抽象成节点,而开关抽象成无向边(重边算作\(1\)条)。 显然每个连通块要么是一棵树,要么是一棵基环树。 对于基环树,我们把它看做若干棵树处理,最后我们再考虑如何处理环。 如下图,这是一棵树,黄色的点表示亮灯。 我们选定任意一条边,可以改变子节点和父节点的状 阅读全文
posted @ 2024-05-08 23:06 Sinktank 阅读(19) 评论(0) 推荐(1) 编辑
摘要: [笔记]分组背包 于 2024/11/25 修改分类 题解 \(\Longrightarrow\) 笔记。 P1757 通天之分组背包 分组背包模板题。 总共\(s\)组,每组最多取一个物品,实际上就是一个物品总数为\(s\)的背包。 for(int i=1;i<=s;i++){//枚举组 for(int j=1;j 阅读全文
posted @ 2024-05-06 21:55 Sinktank 阅读(76) 评论(0) 推荐(1) 编辑
摘要: [笔记]树形dp - 1/4(节点选择类) 树形dp,是一种建立在树形结构上的dp,因此dfs一般是实现它的通用手段。 是一种很美的动态规划呢。 P1352 没有上司的舞会 P1352 没有上司的舞会。 在一棵树中,找到若干个互相独立(即互相没有边直接相连)的点,使它们的权值和最大。 我们发现,间隔选择的方法(只选深度为奇数/偶数的点)是不可 阅读全文
posted @ 2024-05-04 10:59 Sinktank 阅读(36) 评论(0) 推荐(1) 编辑
摘要: [题解]ABC337E Bad Juice ABC337E Bad Juice 一开始的想法如下: 就是利用二分法,对于一个区间\([l,r]\),分成\([l,mid-1],[mid,r-1]\)两部分,各找两个朋友喝,右边还空出一个\(r\),如果前面两个朋友都没中毒,那说明\(r\)这瓶有毒。 但仔细一想,我们发现\([1,n)\)的瓶 阅读全文
posted @ 2024-05-03 11:19 Sinktank 阅读(13) 评论(0) 推荐(1) 编辑
摘要: [题解]P4597 序列 sequence P4597 序列 sequence 是CF13C Sequence的加强版,\(N\leq 5*10^5\)。 如果想了解\(O(N^2)\)的DP解法请看此文。 给定\(N\)个数,每次操作可以选其中一个数\(+1\)或\(-1\)。请问要让这个数列不降,最少需要多少次操作? 看到数据范围发现不能 阅读全文
posted @ 2024-05-01 17:32 Sinktank 阅读(30) 评论(0) 推荐(1) 编辑
摘要: [题解]CF13C Sequence CF13C Sequence 给定\(N\)个数,每次操作可以选其中一个数\(+1\)或\(-1\)。请问要让这个数列不降,最少需要多少次操作? 我们用DP解决。 对\(a\)从小到大排序,存在\(c\)中。 我们用\(f[i][j]\)表示让前\(i\)个元素满足条件,而且这些元素最大值不超过\( 阅读全文
posted @ 2024-05-01 17:22 Sinktank 阅读(11) 评论(0) 推荐(1) 编辑
摘要: [题解]ABC351 D~F D - Grid and Magnet 终于找到为什么WA 4个点了。今天回来又交了几遍发现WA的数量不稳定,除了4个还有5个。所以猜测是没有初始化的问题,一番检查发现是存地图的\(s\)数组,第\(0\)行没有初始化。之前做题没有遇到过特别访问第\(0\)行的,所以写代码时就粗枝大叶、一笔略过了。 阅读全文
posted @ 2024-04-28 23:00 Sinktank 阅读(54) 评论(0) 推荐(0) 编辑
摘要: [题解]P2015 二叉苹果树 P2015 二叉苹果树 树形dp,一般用dfs辅助解决。 当我们搜索到\(u\),此时剩下\(cnt\)条边可以用,也就是说\(u\)为根节点的子树最多可以保留\(cnt\)条边。 由于上一层的需求,我们显然需要枚举剩余边数\(i\)(\(1\leq i\leq cnt\))。接下来对于每个\(i\ 阅读全文
posted @ 2024-04-27 17:01 Sinktank 阅读(32) 评论(0) 推荐(0) 编辑
摘要: [题解]P5656 【模板】二元一次不定方程 (exgcd) P5656 【模板】二元一次不定方程 (exgcd) 若存在\(ax+by=c\),则可以根据特解\(x,y\)求出任意通解\(x',y'\): \(\begin{cases} x'=x+k*\frac{b}{\gcd(a,b)}\\ y'=y-k*\frac{a}{\gcd(a,b)} \end{ 阅读全文
posted @ 2024-04-25 22:08 Sinktank 阅读(50) 评论(0) 推荐(1) 编辑
摘要: [题解]CF61E Enemy is weak CF61E Enemy is weak 如下图,第\(i\)行\(j\)列表示第\(j\)个数结尾,向前长度为\(i\)的逆序子序列个数。 递推方式见下图。 第一行全为\(1\)。 要填第\(2\)行的值,就往前找所有\(>\)当前元素的位置,把它们第\(1\)行的值加起来。 要填第\(3\)行的值 阅读全文
posted @ 2024-04-25 19:26 Sinktank 阅读(12) 评论(0) 推荐(0) 编辑
摘要: [题解]P5431 【模板】模意义下的乘法逆元 2 可恶,卡常好难受。 P5431 【模板】模意义下的乘法逆元 2 将分数通分,第\(i\)个分数是\(\frac{k^i*fac\div a[i]}{fac}\),\(fac\)表示所有元素的积。 我们可以用\(lr,rl\)记录\(a\)的前缀后缀积,第\(i\)个分数就是\(\frac{k^i*l 阅读全文
posted @ 2024-04-24 21:35 Sinktank 阅读(40) 评论(0) 推荐(1) 编辑
摘要: [题解]ARC176 A~B 赛时心态崩了,0pts遗憾离场……今天在学校冷静思考了下。发现B题思路其实很简单,不过A题怎么也没有想到,回来看了题解,其实思路也很简单,不过是自己思考方向错了。看来打比赛心态很重要,如果能冷静下来思考结果会好很多。 果然算法竞赛不能被常理所束缚(笑) A - 01 Matrix Again 行列从 阅读全文
posted @ 2024-04-23 23:28 Sinktank 阅读(84) 评论(0) 推荐(1) 编辑
摘要: [笔记]模意义下的乘法逆元 一些题目在涉及到超大整数运算时,往往会要求我们把答案取模一个值,比如\(998244353\)、\(10^9+7\)等等。如果我们的计算只有\(+,-,*\),直接现算现取模即可: (a + b) % mod = (a % mod + b % mod) % mod (a - b) % mod = ( 阅读全文
posted @ 2024-04-22 22:21 Sinktank 阅读(351) 评论(2) 推荐(2) 编辑
摘要: [题解]ABC209F Deforestation ABC209F Deforestation 首先我们可以思考\(a_i\)和\(a_{i+1}\)先砍哪棵花费少。 可以看出,当\(a[i]<a[i+1]\)时,先砍\(a[i+1]\),反之亦然。 所以这个题转化成了:给定\(n-1\)个关系,分别表示\(n\)个值中相邻两个的大小关系,问满足这些 阅读全文
posted @ 2024-04-19 23:22 Sinktank 阅读(10) 评论(0) 推荐(1) 编辑
摘要: [题解]ABC282E Choose Two and Eat One ABC282E Choose Two and Eat One 又一个图论的回顾——Kruskal最小(最大)生成树算法。 看到\(n\)的范围只有\(500\),应该没有什么特别的算法。那么我们考虑建一个*\(n\)个顶点的完全图,节点\(x\)到节点\(y\)的边权值就是\(x^y+y^x\)。然 阅读全文
posted @ 2024-04-18 22:33 Sinktank 阅读(13) 评论(0) 推荐(1) 编辑
摘要: [题解]CF33C Wonderful Randomized Sum CF33C Wonderful Randomized Sum 我们可以发现,如果两区间不交叉也不会影响到结果,所以我们只需要考虑不交叉的情况即可。 我们所选择的前缀\(1\sim i\)应满足区间和最小,后缀也一样。所以用两个数组\(lr,rl\)分别记录下\(1\sim i\)(前缀)最小和、\( 阅读全文
posted @ 2024-04-18 21:50 Sinktank 阅读(12) 评论(0) 推荐(1) 编辑
摘要: [题解]CF457A Golden System CF457A Golden System 十分精妙的一道题,斐波那契数列和黄金比例\(\Phi\)的内在有着奇妙的联系。 我们设\(x=\frac{\sqrt{5}+1}{2}\),则根据题目给出的规律,有\(x^2=x+1\)。 下面我们通过列举,试图找出规律: \(x^0=1\) \(x^1=x 阅读全文
posted @ 2024-04-17 22:53 Sinktank 阅读(14) 评论(0) 推荐(1) 编辑
摘要: [题解](更新中)(A-G)Atcoder Educational DP Contest Atcoder Educational DP Contest \(\textbf{A. Frog 1}\) 对于一块石头\(i(3 \le i \le N)\),\(i-1\)和\(i-2\)均能到达。 用\(f[i]\)表示跳到第\(i\)个石头用的最小体力消耗: \[f[i]=min(abs(h 阅读全文
posted @ 2024-04-14 21:37 Sinktank 阅读(26) 评论(0) 推荐(0) 编辑
摘要: [题解]P1629 邮递员送信 好久不写图论题了,Dijkstra都花了好长时间捡起来……之前也没有接触过反图的概念。这个题算是我重拾图论知识以来的第一题了。__φ(..) P1629 邮递员送信 Dijkstra是单源最短路的算法。但这个题除了要求节点\(1\)到其他节点的距离,还要知道其他节点回到节点\(1\)的距离。如果我们 阅读全文
posted @ 2024-04-14 17:58 Sinktank 阅读(27) 评论(0) 推荐(0) 编辑
摘要: [题解]P3413 萌数 P3413 萌数 先打出暴搜代码,参数有\(pos,limit,hui\),其中bool类型的\(hui\)表示到当前是否有回文。 暴搜代码中加入了一个剪枝:if(!limit&&hui) return pow10[pos];,这个!limit很重要,我就是因为这个没加,暴搜代码都调了半天。然后就是 阅读全文
posted @ 2024-04-14 11:51 Sinktank 阅读(10) 评论(0) 推荐(0) 编辑
★CLICK FOR MORE INFO★ TOP-BOTTOM-THEME
Enable/Disable Transition
Copyright © 2023 ~ 2024 Sinktank - 1328312655@qq.com
Illustration from 稲葉曇『リレイアウター/Relayouter/中继输出者』,by ぬくぬくにぎりめし.