ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022/2/24 思考。

2022-02-24 21:32:20  阅读:162  来源: 互联网

标签:24 连通 2022 路径 儿子 父亲 思考 dp 同一个


今天的题目质量很高,至少我想写了!真是太好了。

CF1146F Leaf Partition

开始有个 \(dp_{i,0/1}\) 表示点 \(i\) 是否加入了某个连通块……但是好像不太能做(实际上可以)就丢了。

还是考虑儿子和父亲之间的关系。定义 \(dp_{i,0/1}\) 表示 \(i\) 跟父亲不在或在同一个连通块的方案数。考虑由儿子更新父亲。

如果 \(u\) 没有儿子表示要和父亲在同一连通块,那么 \(u\) 一定不会和父亲在同一个连通块;
如果 \(u\) 有一个儿子表示要和父亲在同一连通块,那么 \(u\) 一定会和父亲在同一个连通块,否则父亲会脱离那个唯一的儿子的连通块(此时在 \(u\) 的祖先有另一个子树内有一个点与 \(u\) 在同一个连通块);
否则,\(u\) 首先可以自成方圆,\(u\) 所在的连通块的所有点确定;或者是 \(u\) 把父亲并入同一个连通块,跟第二种情况无本质区别。

那么,记上面三种情况的方案数 \(g_0,g_1,g_2\),那么 \(dp_{u,0}=g_0+g_2,dp_{u,1}=g_0+g_2\)。

算 \(g\) 是幼儿园 DP。

CF1140G Double Tree

首先显然看成一棵树然后两个状态,在某个点状态转变有代价。

注意到求树上的一条最短路径,首先在有状态转变的情况下我们不好搞,因为最短路径不一定是简单路径。我们需要松弛 \(u \to u'\) 的权值。这个可以用两次 dfs 解决(因为 \(u \to u'\) 的路径上状态最多转换一次。处理 \(i\) 时,你先通过以以 \(i\) 为根的子树内的某一点为转换点的权值松弛 \(i \to i'\),然后再通过上面的点松弛下面的点,正确性显然),不在话下。

然后就是大傻逼倍增题,写写就过了。

HNOI2014 世界树

写你妈,

标签:24,连通,2022,路径,儿子,父亲,思考,dp,同一个
来源: https://www.cnblogs.com/amagaisite/p/15933644.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有