拓扑排序
是的,这个名字很怪.我们可以找一个直观的名字去描述拓扑排序,这个名字叫做不包含强连通子图.类似于不能出现1是2的父亲,2是1的父亲(这是一个很奇葩的例子)那么这种含有强连通子图,那么就倒霉了,他就不叫拓扑图,那么就无法用来dp了(这个后面会说)
那么如果没有类似于强连通子图(连通图),那么就恭喜你,这道题就可以使用dp来进行解决了,如果你的dp不熟悉,那么也可以另找退路,类似于记忆化搜索解决(这个后面会说到).
拓扑作用
如果你想使用dp解决在图中的题目,你必须保证此图是拓扑图.
如果无法保证该图是拓扑图,那么也要恭喜你,你排除了一个无法使用的算法.
大概,以上就是拓扑了.
下面就是一座崭新的世界
逻辑开关
首先,我先上一段代码:
if(x>5) { ans=ans+x; }
很简洁但是实际上看起来一点都不高大上,在下面,我提供一种简单的算法:
ans=ans+(x>5)*x;
是的,我相信你已经看懂了.
以上是我归来的第一篇内容,也是一篇纪念,以后可以回来再复习,也希望给大家带来参考.
blog by smallfang
原文地址:https://www.cnblogs.com/codingplus/p/2019-03-17-03.html
时间: 2024-11-05 22:47:19