摘要: 传送门 每个类别和它所有的试题连一条权值为1的边。 增加一个超级源点s,s和每个类别连一条权值为选当前类别数量的边。 增加一个超级汇点t,每个试题和t连一条权值为1的边。 求最大流即可。 ——代码 1 #include <queue> 2 #include <cstdio> 3 #include < 阅读全文
posted @ 2017-06-02 16:32 zht467 阅读(151) 评论(0) 推荐(0)
摘要: 传送门 题解来自网络流24题: 【问题分析】 第一问时LIS,动态规划求解,第二问和第三问用网络最大流解决。 【建模方法】 首先动态规划求出F[i],表示以第i位为开头的最长上升序列的长度,求出最长上升序列长度K。 1、把序列每位i拆成两个点<i.a>和<i.b>,从<i.a>到<i.b>连接一条容 阅读全文
posted @ 2017-06-02 15:03 zht467 阅读(196) 评论(0) 推荐(0)
摘要: 传送门 枚举球的个数 num 如果 i < j && (i + j) 是完全平方数,那么 i -> j' 连一条边 再加一个超级源点 s,s -> i 再加一个超级汇点 t,i' -> t 那么当前可以放的柱子的最小数量就是最小不相交路径数 如果当前的最小不相交路径数 > num,break 求最大 阅读全文
posted @ 2017-06-02 09:58 zht467 阅读(244) 评论(0) 推荐(0)