随笔分类 - 拓扑排序
摘要:###思路 这个题一看和入度扯上关系就是明显的topo了。 对于最优情况,直接维护小根堆,贪心即可。 对于最劣情况,显然直接维护大根堆然后贪心是错误的(反例见Luogu题解),所以每次要取出所有能拓展的节点,依次加入队列topo即可。这里注意当连到的点比当前最大值大时,压入大根堆, 否则加入队列。
阅读全文
摘要:###思路 这个题一看到什么从入度为零的点到出度为零的点,很容易想到toposort。这个题就是最基本的toposort+DAG DP,没啥好说的…… 主要注意一定是遇到出度为0的点,一条食物链才能算是结束,才能够累加答案。 Code #include<iostream> #include<cstd
阅读全文
摘要:###思路 这个题不难,就是先Trajan缩点减小点数和边数的规模,然后在缩完点的图上跑DP即可。注意要用toposort解决DP后效性(或者是使用记忆化搜索)。 Code #include<iostream> #include<cstdio> #include<algorithm> #includ
阅读全文
摘要:###思路 看到有关入度出度的问题很容易想到用$toposort$来做,这个题想起来非常的简单,但是坑点不少。 读入时的阈值$u$其实如果$c > 0$(可以传递信息时)直接减去就行,不会有影响,这取决于那个$sigma$的写法,$u$没有和任何一个数相乘,只是简单的累加,所以一开始直接减去就好。
阅读全文

浙公网安备 33010602011771号