
图论
zhhx2001
这个作者很懒,什么都没留下…
展开
-
邻接表拓扑排序,保证从小到大输出(未测试)
#include #include #include #include #include #include using namespace std; const int N=100009; int head[N],tot,pre[N],edge[N],n,m,b[N],cnt[N],a[N]; void add(int x,int y) { edge[++tot]=y;pre[tot]=head原创 2016-06-27 16:53:03 · 795 阅读 · 0 评论 -
bzoj1040(图论+树形dp
刚开始以为是SB题,后来发现我是SB。。。。 最开始问题:1.没有考虑会有森林的情况 2:没有考虑到只有在环中断开两个点才能保证出现的是一棵树 网上说的都太专业了,作为业余水平的选手感觉,其实这题就是,求多个(森林)树上的最大权独立集,但是这里的树上有且仅有一个环,直观来看,就是从u,v断开环,分两种情况,一种是选u,不选v,一种是选v,不选u。再就是那个简单的树形dp,我们想连边就原创 2016-08-18 13:32:05 · 459 阅读 · 0 评论 -
noip2014寻找道路
先用原图建反向边,其中j%2==1的是原图,==2的是反向图 先从结束点开始反向bfs找所有可以到达结束点的点 在处理出所有出边都是可达终点的点,b【i】=true 再正向bfs,直到找到终点,然后结束函数,返回输出ans【t】即可 #include #include #include #include #include #include #include #include #includ原创 2016-04-24 14:49:22 · 479 阅读 · 0 评论