题面 由树的结构我们可以知道,最终要么是连一条(最长的)链都没走完,要么是走了一些点最后走了最长的链。为什么总是说最长的链呢,因为在树上这样走的过程中(最后不要求返回的话)除了一条链都会被走两次,显然我们贪心地把最长链走一次即可。 1 #include<cstdio> 2 #include<cstr ...
分类:
其他好文 时间:
2018-10-11 10:23:08
阅读次数:
146
我说这是我们的noip互测题你信吗... 首先介绍一下仙人掌(略,参见题面) 然后我们思考一下怎么做: 首先,如果原图是一棵树,那么做法是很显然的(树上最长链嘛) 但是,图是一个仙人掌,所以树上最长链的做法有bug 所以我们考虑:是否能将树上的做法移接到仙人掌上即可 怎么移接? 我们看到,根据仙人掌 ...
分类:
其他好文 时间:
2018-10-08 20:34:40
阅读次数:
194
传送门 题目简单来说就是给一个有向图,将图转化为DAG图后,求图中最长链及最长链的个数。 思路 用 tarjan 缩点重构将原图转换为一个有向无环图,让后在新图上跑 topo 求出最长链。 最长链的个数可以用动态规划,设 e[ i ] 表示新图中以 i 为终点的方案数,那么 e[ i ] 就等于连到 ...
分类:
其他好文 时间:
2018-09-26 20:44:35
阅读次数:
181
最大半联通子图对应缩点后的$DAG$上的最长链 复杂度$O(n + m)$ ...
分类:
移动开发 时间:
2018-09-14 23:59:04
阅读次数:
429
今天在改题,只改了2题,后面比较分心 题目: 9 8a: 搞了这么久的题,终于过了,原来是变量重复了(哎。。。),以后每次都要检查一遍代码。 Tree: 1.这题还算简单,考试时却没想出来,树一定要记住最长链的形态 2.对于这种细节繁杂的题,以后先想,先写思路再打 状态:有点太容易分心了,打代码累了 ...
分类:
其他好文 时间:
2018-09-12 01:25:12
阅读次数:
188
Description Building and maintaining roads among communities in the far North is an expensive business. With this in mind, the roads are build such th ...
分类:
其他好文 时间:
2018-09-09 11:35:44
阅读次数:
266
题意:一个无向图(不一定联通) 求最长链长 n≤20,m≤50 1、dfs 2、状压DP(注意数组大小,MLE QAQ) ...
分类:
其他好文 时间:
2018-09-02 18:45:05
阅读次数:
165
题目性质比较显然,相同颜色联通块可以合并成一个点,重新建树后,发现相邻两个点的颜色一定是不一样的。 然后发现,对于一条链来说,每次把一个点反色,实际上使点数少了2个。如下图 而如果一条链上面有分支,也是一样: 所以我们实际上只需要把最长链上的变成一种颜色就可以了。最长链就是直径,需要改动的点就是$\ ...
分类:
其他好文 时间:
2018-08-26 20:46:55
阅读次数:
171
先tarjan缩成DAG,然后答案就变成了最长链,dp的同时计数即可 就是题面太唬人了,没反应过来 ...
分类:
编程语言 时间:
2018-07-31 21:37:45
阅读次数:
129
T1 受欢迎的牛 bzoj 1051 题解链接 T2 最大半连通子图 bzoj 1093 题目大意: 一个半连通的图定义为对任意点对u v 存在路径u->v或v->u 求给定图的最大半连通子图 思路: 可以知道 半连通子图一定为强连通分量缩点之后的链 所以只需要求一个最长链然后记一下方案数 需要注意 ...
分类:
其他好文 时间:
2018-07-26 18:41:04
阅读次数:
154