![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文竹balala
听见麒麟臂了吗
展开
-
Zoj3201 Tree of Tree 树形DP
题目大意:从一棵树上选取k个节点的子树使节点权值之和最大思路: 想到是树形DP了但是一直推不出来状态状态转移方程,首先是自己状态如何表示都没想好刚开始时用状态f[u][k][0]和f[u][k][1]表示以节点u父亲节点选k个节点0表示不选u,1表示选u,如果选u的话u的儿子至少要选一个,不选的话儿子可选可不选,然后想想这样下边计算时就会越来越乱~~~然后看了别人的思路:f[u][原创 2015-08-21 19:05:11 · 563 阅读 · 0 评论 -
POJ1094(简单拓扑排序)
题目大意:给你的m种大小情况对n个字母进行拓扑排序,严格的说是能不能给出特定的顺序,这题主要是判断的先后顺序,先判断有没有环,如果有环的话先输出存在环,如果有确定结果的话输出结果,如果都没有的话输出不确定。原创 2015-07-29 11:55:47 · 585 阅读 · 0 评论 -
POJ2387(最短路基础)
题目大意:n个点,m条边,求从第一个点到第n个点的最短路径,最基础的最短路问题,图论由于刚开始训练,还是把Dijkstra算法和SPFA算法对着书上的思路模拟了一边加深印象。原创 2015-07-30 15:57:40 · 544 阅读 · 0 评论 -
poj2226 二分图匹配
题意:给一张图“*”表示可以放木板“.”表示不可以放木板,木板1米宽,可以是可以是任意长度。分析:如果不是二分专题上的题自己很难想到用二分来做,然而知道之后建图有很困难,对于这道题就是把每一行对应每一列,只要两者交点上是“*”,就把它们连起来,就可以建立起一张图 ,就变成求最小点覆盖的问题,就是求最大匹配。#include #include #include #include原创 2015-08-29 07:39:43 · 415 阅读 · 0 评论 -
poj1236 Network of Schools Tarjian算法
终于把Tarjian算法看懂了。但是遇到某个贴别题目时还是没有思路,看完题解后自己敲有有了好几处BUG,WA的我泪流满面啊,原来就是把某处的一个变量写错了题意: 一些学校连成了网络, 在学校之间存在某个协议:每个学校都维护一张传送表,表明他们要负责将收到的软件传送到表中的所有学校。如果A在B的表中,那么B不一定在A的表中。 现在的任务就是,给出所有学校及他们维护的表,原创 2015-09-07 23:09:49 · 428 阅读 · 0 评论 -
poj1797 最短路变形
题目大意:求第1个点到第n个点的路径中所有的边所能承受最小重力的最大值思路: 刚开始一想没有思路然后想到用Floyd不断更新到每个点的最大值得最小值,TLE一发后想到这样做可能是错的,不仅仅是时间复杂度太高,更新过程中还要记录所有边的最小值,所以就想到了Dijkstra算法,不断更新距离已知集合的最大值不断把最大值得点加进去,中间记录答案网上见有的人说最大生成树,确实有道理,prim算法和原创 2015-08-21 11:16:08 · 563 阅读 · 0 评论 -
poj2186 强连通分量+缩点
终于把Kosaraju算法看懂了,附上链接:点击打开链接题意:如果A仰慕B,B仰慕C那么A仰慕C,1~n同牛中求有多少头牛被所有的牛仰慕。分析:若存在多个牛同时被所有的牛仰慕,那么这些牛可以构成一个强连通分量,那么就可以把所有的强连通分量压缩成一个点,这样这些点中只有处于叶子节点的强连通分量才有可能被所有的店点经过,而且是只有一个叶子节点,这样在求强连通分量的过程中可以对这些点进行标记,最原创 2015-09-05 23:43:06 · 423 阅读 · 0 评论