摘要: 给你一个无向图 求最小割 输出割边 跑一遍最大流 关键在于如何输出割边 最小割实际上是将一个图删去一些边 使其分成两个集合 源点在一个集合 汇点在一个集合 所有的割边就是从这个集合到那个集合 所有的集合之间相连的边 用从源点开始BFS一遍 找到所有与源点在一个集合的点(就是BFS能经过的点) BFS 阅读全文
posted @ 2018-04-29 17:25 码农CHQ 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 对城市拆点 城市之间的容量就是 在这个城市设立关卡需要的费用 求最小割 跑一遍最大流 阅读全文
posted @ 2018-04-28 21:51 码农CHQ 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Dinic 模板题 对人拆点 阅读全文
posted @ 2018-04-28 20:26 码农CHQ 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 对于每一个H 每一个m编号 然后遍历每一个m 使用BFS求出该m到每一个H的最短距离 然后把边加进图里 超级源点 超级汇点 容量为1 费用为0 跑一遍最小费用流 阅读全文
posted @ 2018-04-27 17:21 码农CHQ 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一开始用的方法比较复杂 把 适配器 设备 插座 都建点了 甚至还把 适配器 拆点了 最后 跑DINIC 超时 然后向别人学习了一下 特殊的建图方式 适配器 不需要单独建点 适配器可以转换的两个点直接把插座的两点之间用 一个INF的边连上即可 因为 适配器是可以无限使用的 但是 因为 其他边都用的IN 阅读全文
posted @ 2018-04-27 17:07 码农CHQ 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目:有一个人准备开始爬楼梯,假设楼梯有n个,这个人只允许一次爬一个楼梯或者一次爬两个楼梯,请问有多少种爬法? 这个人爬N阶楼梯的方法数=爬N-1阶的方法数+爬N-2阶的方法数 明显是一个递归的形式 中止条件是 爬一阶的楼梯只要一种方法 若阶数小于0 就不算一种方法 返回 0; 阅读全文
posted @ 2017-04-04 12:14 码农CHQ 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 编写一个程序求正常表达式的值 例:5+6*9 (中间没有空格) 下面是表达式的定义 显然这是一个间接的递归 cin.peek() 从流输入中复制到一个对象中 并不是取走 此时流输入没有变化 cin.get() 从流输入中取走一个字符 isdigit() 检验char型对象中的值是否为阿拉伯数字 若是 阅读全文
posted @ 2017-04-03 22:31 码农CHQ 阅读(187) 评论(0) 推荐(0) 编辑
摘要: * 8 5 == 8 * 5 + 9 9 == 9 + 9 逆波兰表达式的定义 1.一个数是逆波兰表达式,值为该数。 2.”运算符 逆波兰表达式 逆波兰表达式“ 是逆波兰表示式 值是两个逆波兰表达式运算的结果。 逆波兰表示式是一种把运算符放在前面的表达式 要求你用编写一个程序来计算逆波兰表达式 显然 阅读全文
posted @ 2017-04-03 20:51 码农CHQ 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目 In Berland each high school student is characterized by academic performance — integer value between 1 and 5. In high school 0xFF there are two gro 阅读全文
posted @ 2017-03-06 21:03 码农CHQ 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目 A-Curious Robin Hood Robin Hood likes to loot rich people since he helps the poor people with this money. Instead of keeping all the money together 阅读全文
posted @ 2017-03-05 16:12 码农CHQ 阅读(158) 评论(0) 推荐(0) 编辑