紫书第11章图论模型与算法-习题解题总结

《算法竞赛入门经典》中第11章的题目

题目目前还没看完,先留坑,慢慢填

做题情况
题目1234567891011
状态+++1-1000++2   
题目12131415161718192021 
状态+  +++     

 

一、题目概览

  1. 很平常的一道Floyd..直接暴力算就好了
  2. 很平常的一道Dijkstra或SPFA
  3. 最大流的模板题...但是书上的数据给错了,1到2容量是20...
  4. 无向图的点连通度,用的是拆点法.这道题比较有意思,后面会有总结。
  5. 表达式树的大模拟。。
  6. 又是一个大模拟。。
  7. Dijkstra,和例题11类似,要考虑当前状态,但并不难写
  8. 最重要的是星号只能出现一次,只能代替一个字符。因此我们可以把原来的模板拆开,产生至多2000个串,可以用星号代替的串之间连一条边,可以证明我们生成的是二分图(按照奇偶性易于证明没有奇环),然后题目就变成了二分图匹配,跑一个最大流就好了。这是我难得完全自主做出来+对拍的3000+Byte的题。。这道题花了我好长时间调试。。
  9. 未做
  10. 未做
  11. 未做
  12. 都提示到某个数据结构了,那当然是并查集了!把询问逆序处理,相当于不断向并查集加入元素,模拟记录,逆序输出答案即可
  13. 未做
  14. 未做
  15. 非常清新的构造题,思路类似于贪心,先把所有的边权值和相加,再不断合并。对于每个点,统计出与它相连的边权值总和为sum,最大权值的边权为mx,显然最好的情况就是合并后减少min(sum/2, sum-mx),而可以玄学证明这是可以达到的。(实际要归纳什么的,并不好证)
  16. 与15题类似,这次是统计对于每个点,包含它的子树的大小。设某个点子树大小为k,则它与父亲相连的边最多被经过2\times min(k,n-k)次,可以玄学证明这是可以达到的,然后统计答案就可以了。
  17. 也是一道神构造。设叶子节点数量是m,则至少连(m+1)/2(下取整)条边。构造方法是设half=m\div 2,然后连接(1,1+half),(2,2+half),...
  18. 未做
  19. 未做
  20. 未做
  21. 一道很有意思的题,本来看到行列,以及对行列的操作,以为说不定是二分图匹配(受矩阵解压例题影响),结果完全不是!居然是差分约束这个新概念!根据题目列出一系列一次的不等式组,然后建图,用SPFA找最短路/最长路,顺便判断负环,有负环则无解。有空一定要写一写代码。

下面就是对于遇到的新的知识点和方法的总结了

 

二、点连通度与边连通度

推荐文章点连通度与边连通度的求解。连通度的定义就很容易让人想到最小割,那么怎么把这两者结合呢?总结一下就是下面的方法:

  1. 边连通度看起来就是裸的最小割模型了,但是源点和汇点是需要注意的,它们是可以任选的。可以$O(n^2)$暴力枚举源点汇点,但是实际只需固定源点枚举汇点就行了,具体见推荐的文章。
  2. 点连通度。其实只需要考虑有向图,无向图每条边可以拆成两个。核心的思想是把每个点拆成两个,分别接受从这个点出发的边和到达这个点的边。如下图,带一撇的保存入边,带两撇的保存出边,入边需要和出边连一条边。如果把某个点(如点$O$ )去掉了,我们就把 $O{}'O{}''$ 的边去掉,这样从 $ABC$ 到达 $O$ 的边只能进入 $O$ 却出不去,从 $O$ 到 $EF$ 的边变成凭空冒出来的了,因此相当于与 $O$ 有关的边都没有用了,例如$AE$就被隔离了。我们只要统计最少删掉几个这样的 $O{}'O{}''$边就行了,但是会不会误删题中给定的边呢?我们只要规定图中给定的边边权无限,而$O{}'O{}''$这类的边边权为1就可以完美解决。
    但是这样做源点汇点该怎样处理呢?和上面类似,但是一定要注意源点不能选类似$O{}'$的,汇点一定不能选类似$O{}''$的,因为这样做会导致最小割永远是 1.

    404

     

 三、差分约束系统

待更新。。推荐文章差分约束系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值