不知道记哪的小tips

Tips

  1. 对于ain,可以连边(i,ai),然后就变成一棵内向基环树森林

  2. 一种图论题目可以把边挂在点上(可以挂一半,也可以挂全部),当然也可以把点权挂在边上

  3. 要求图的度都为奇数,等价于要求图的连通块大小都为偶数

    证明:

    必要性:反证,考虑若有一个连通块大小奇数,那么图的总度数为奇数,不成立,证毕

    充分性:若有把一个偶数大小连通块变成树,一个点若有奇数个儿子,就断父亲的边,否则就上传,可以发现上传的子树大小为奇数,独立的子树大小为偶数,所以到根节点的度一定为奇数,证毕

  4. 动态判断图是否为二分图,把每个点拆成两个x1,x2,然后用可撤回并查集交叉连边,若x1,x2联通,则不是二分图

  5. 全局+整数,可以离线下来,变成全局+非负数

  6. a[++cnt]=b[cnt]=x要慎用,linux下好像等价于b[cnt]=x,a[++cnt]=x,但在windows下是a[++cnt]=x,b[cnt]=x

    • 补充:a[x]=a[++x]或者a[x]=a[--x]也要慎用(其实是不能用,2024.1.25又因为它调了1h)
  7. 如链覆盖的网络流模型,如果有类似但无法处理的问题,可以考虑转化为费用流(如k条互不相交的链最多覆盖几个点)

  8. dp中出现了偏序关系可以考虑分治,先处理左半边,然后把左半边贡献在右半边,在处理右半边

  9. 当dp出现枚举子集O(3n)时,用sosdp优化成n2n,巧妙利用高维前缀和、差分

  10. 最大流转最小割:ABC332G,芙蓉王(源)

  11. max(ai,ai+1,ai+2)min(ai,ai+1,ai+2)可以转化为bi=aiai+1,max(|bi|,|bi+1|,|bi+bi+1|)

  12. 树上有很多问题,如背包...,跟子树大小(或叶子节点个数)有关,而且子树大小相等时贡献一样时,可以发现最多只有 n

  13. 排列的容斥:

    (|S|=n)(|S|=n1)+(|S|=n2)...

  14. i=1n1i=lnn+Ci=1n1i2=π26

  15. 如同统计答案和,方案数的dp,我们常把它相乘进行转移,计算期望和概率也是这个原理

  16. 有向强连通图中最小平均权值回路:一种简单做法,01分数规划+SPFA判负环

posted @   zhy_learn  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示