上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 74 下一页
摘要: 来源:USACO 2005 February Gold 思路: 二分牛棚相距长度,判断是否合法。 阅读全文
posted @ 2017-08-10 08:30 skylee03 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 思路: 随便定一个点为根,遍历整棵树,对于每个结点的每棵子树,若它的值为正,则加入到该结点中。特别地,叶子结点的值等于其权值。 阅读全文
posted @ 2017-08-09 12:42 skylee03 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 思路: 求网格图的最小割。然而网格图的边数比较多,直接用EdmondsKarp算法会TLE(据说用Dinic或ISAP可以过),解决的方法是将网格图的最小割转化成其对偶图的最短路,设图的左下端为起点,右上端为重点,然后跑一遍Dijkstra即可。注意要特判$n=1$或$m=1$的情况,另外因为每个方 阅读全文
posted @ 2017-08-09 08:24 skylee03 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 思路: 对于每一趟车,将区间内所有经停的站和所有未经停的站连一条边,表示前者优先级一定高于后者,然后用Kahn跑一遍拓扑排序即可。然而这样会创造大量多余的边,会TLE1个点。考虑一种优化:因为每趟车本身也有一个优先级,因此可以将这趟车也看作一个点,每次先所有将经停的站连一条边到这两车上,表示这些站的 阅读全文
posted @ 2017-08-08 12:27 skylee03 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 思路: 考虑一个暴力:枚举最大的边权和最小的边权,然后将边权在这之间的边全拿出来构成一张无向图,剩下的就是判断是否存在一条从$S$到$T$的路径。相当于判$S$和$T$是否连通,用并查集连一下即可。时间复杂度:O(m³α(n))考虑优化,枚举了最小边权之后,从小到大枚举最大边权,每次能新添加一条边。 阅读全文
posted @ 2017-08-07 22:35 skylee03 阅读(109) 评论(0) 推荐(0) 编辑
摘要: OJ题号: BZOJ4195、洛谷1955 思路: 首先将信息的下标离散化,首先处理$e=1$时的情况,直接用并查集合并。 对于$e=0$时的情况,判断两个是否在统一集合。 阅读全文
posted @ 2017-07-31 08:15 skylee03 阅读(99) 评论(0) 推荐(0) 编辑
摘要: OJ题号: 洛谷2922 思路: 字典树,每个结点记录经过该节点的字符串数cnt和以该结点结尾的字符串数量val。 每次询问时累加经过节点的val值和结尾结点的cnt值。 阅读全文
posted @ 2017-07-30 16:21 skylee03 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 思路: KMP模板。 阅读全文
posted @ 2017-07-30 15:25 skylee03 阅读(109) 评论(0) 推荐(0) 编辑
摘要: OJ题号: BZOJ1834、洛谷2604 思路: 对于第一问,直接跑一遍最大流即可。 对于第二问,将每条边分成两种情况,即将每条边拆成两个: 不需扩容,即残量大于零时,相当于这条边费用为$0$; 需要扩容,即残量等于零时,可以扩容很多次,将残量设为$inf$或者$k$(实际上最多扩容$k$次)。 阅读全文
posted @ 2017-07-30 14:46 skylee03 阅读(120) 评论(0) 推荐(0) 编辑
摘要: OJ题号: BZOJ1070、洛谷2053 思路: 最初的爆零解法: 每个工人向$S$连一条容量为$inf$、费用为$0$的边,(每个工人可以修很多车) 每个工人向每辆车连一条容量为$1$,费用等于题目描述的边,(一个工人只能修一次同一辆车) 每辆车向$T$连一条容量为$1$,费用为$0$的边。(每 阅读全文
posted @ 2017-07-30 13:02 skylee03 阅读(127) 评论(0) 推荐(0) 编辑
上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 74 下一页