随笔分类 - A——算法学习笔记
摘要:优先队列 priority_queue<TypeName> q; priority_queue<TypeName, Container> q; priority_queue<TypeName, Container, Compare> q;// 分别为数据类型, 底层容器, 比较类型 //优先队列默认
阅读全文
摘要:线段树合并,从名字上就可以看出,它是合并两颗线段树的算法,其核心就是动态开点和 merge 函数,而 merge 函数主要有两种写法,两种写法都对应这不同的清况: 首先我们假设有两棵要合并的线段树1和2,相应的结点分别为a和b 把b合并到a上 void merge(int &a,int &b,int
阅读全文
摘要:做题的时候看到一种写多重背包二进制优化的好方法,特地记录一下 之前写的方法既难理解又难记,而且这个还跑得快( 把 件物品,价值 ,花费 的物品拆分为 \((v,w),(v\times2^1,w\times 2^1),(v\times2^2,w\tim
阅读全文
摘要:前言 本篇博客只是对于 思路和代码的简单介绍,主要是讲解代码 id bool id(int x){return ch[fa[x]][1]==x;}//返回x是它父亲的哪个儿子 connect void connect(int x,int y,bool son){fa[x]=y,c
阅读全文
摘要:前言 之前确实是写过一篇,但是现在看了看,写的真的不太行而且也不全面,所以重写一篇,然后把之前的隐掉了(话说这篇竟然是迄今为止,我博客中阅读数最多的 无向图的割点和桥(割边) 基础概念 时间戳 中的 数组在图的深度优先搜索中,按照每个节点第一次被访问的时间排序,
阅读全文
摘要:网络流最大流 基础概念和性质 设表示到的流量(流函数),表示到的流量限制,表示源点,表示汇点 残量网络:每条边表示每条边剩余的容量 流函数具有一下性质: ,也就是管道中实际运输的水量不能超过它运输的
阅读全文
摘要:概念 匹配:即一个边的集合,在这个边的集合中,任意两条边都没有公共顶点 最大就不用多说了吧( 算了还是简单说一下:一个点最多只能有与其有关系的一条边被选中,问最多能选择多少条边 匹配点,匹配边,非匹配点,非匹配边,这四个概念也很好理解吧( 交替路:从一个未匹配点出发,依次经过非匹配边、匹配边、非匹配
阅读全文
摘要:P2858 [USACO06FEB]Treats for the Cows G/S 这道题加深了我对区间DP阶段划分的理解(原来 是可以更新的!) 我们可以先想状态设 表示 到 天的最
阅读全文
摘要:负环 定义:给定一张有向图(无向图可以看作有向图),每条边有一个权值。若一条边的权值为负数,则称它为负边权。若图中存在一个环,环上的各边权之和为负数,则称这个环为“负环”。 ——《算法竞赛进阶指南》 而处理负边权我们就可以使用了 设表示从1到x的最短路径包
阅读全文