[HAOI2010]软件安装 开始没有看懂题,以为就是个树形依赖背包,打完之后W40,然后才发现它会有还,要用tarjan缩完点后跑背包,要建立一个虚拟节点0连接所有的子图(注意连接的位置)。 但是有个细节卡了我好长时间: 错误示范: 正确代码: 在缩点是记录每个scc的入度,0直接和入度为0的sc ...
分类:
其他好文 时间:
2019-07-12 09:19:03
阅读次数:
122
题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一 些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况 ...
分类:
其他好文 时间:
2019-07-11 20:16:52
阅读次数:
111
题面。。(我好困啊。。。) 这题的想法确实很巧妙,由于只有除自身外所有奶牛都爱慕奶牛a时,a才是明星奶牛,那么很显然,这说明不可能存在两个不同的强连通分量里都是出度为0,即为明星奶牛的情况,那样就不可能使除自己外所有奶牛爱慕同一强连通分量中的奶牛,so,tarjan+缩点+倒叙查找 代码实现: 嗯我 ...
分类:
其他好文 时间:
2019-07-10 09:16:37
阅读次数:
119
题面 本题tj区一片大佬各种玄学算法,以至于我根本就没有办法去找代码对拍并让其不超时。。。 那么我的做法是先tarjan求强连通分量并缩点,同时记录此点中共包含了原图的多少点,及多少个点构成了强连通分量并缩成了该点,然后便利缩点后的图,运用记忆化记录该点是否被访问过,可以略微减少一点时间,但是仍有一 ...
分类:
Web程序 时间:
2019-07-10 09:15:18
阅读次数:
133
[Time Gate] https://www.luogu.org/problemnew/show/P2941 【解题思路】 Tarjan缩点,再在所有强连通分量中找一条最小的边作为强连通分量的边,因为还要回来,所以Ans最后要乘二 【code】 1 #include<bits/stdc++.h> ...
分类:
其他好文 时间:
2019-07-10 01:17:53
阅读次数:
130
[Time Gate] https://www.luogu.org/problemnew/show/P2746 【解题思路】 Tarjan缩点第一问就过于水了,缩完点后,输出入度为0的点的个数即可。第二问略微麻烦,考虑出度为零的点是一定不合法的,想让它合法,最有效率的一种方法就是让他连到一个入度为零 ...
分类:
Web程序 时间:
2019-07-10 01:12:27
阅读次数:
202
题面 这题确实是一个近乎(就是)tarjan板子的一道题,也是少有不用缩点的题目 把题目翻译一下吧,就是说若一头奶牛身上的绳子以顺时针方向出去,一直遍历下去可以回来,就说明能够完成圆舞,及若一群奶牛在同一强连通分量中,则可以完成圆舞,而又因为只能顺时针访问,故有向(我之前当成无向图做居然能拿90分? ...
分类:
其他好文 时间:
2019-07-09 12:09:24
阅读次数:
132
https://www.luogu.org/problemnew/show/P2515 分析 沙雕题*2 这题就是随便做个树形背包,Tarjan缩点把价值和体积加起来而已 注意必须保留当前节点的价值和体积 #include <iostream> #include <cstdio> #include ...
分类:
其他好文 时间:
2019-07-09 09:24:46
阅读次数:
89
P2746 [USACO5.3]校园网Network of Schools 任务a:找有多少个入度为0的点 任务b:找出出度为0的个数和入度为0点个数中的较大数 在一个出度为0和另一入度为0的点间连一条边 就可以同时解决两个点 故找出其中较大数 要注意最终缩为一个强连通时要特判 ...
分类:
Web程序 时间:
2019-07-09 09:17:53
阅读次数:
143