会的东西好少好少.....还好多好多都不记得...0.0
每天瞅(预)下(习)以前做的题目叭><
10.10
网络流
最大流
cf 628 f Bear and Fair Set
有 n 个数,mod 5 == 0 = mod %5 == 1 = mod % 5 == 2 = mod % 5 == 3 = mod % 4
每个数的大小不超过 b
然后 有 q 个限制,在 [1,r] 的范围内选择了 x 个数
问可不可能
因为 一个数 mod 5 只有 1 种可能,所以 源点向 每个余数 连边,容量 为 n/5
每个余数向 每个区间连边,容量 为 这个区间 为这个余数的个数
每个区间向汇点连边,容量 为这个区间的大小,看是否满流
10.11
cf 653 d Delivery Bears
n 个点,m 条边,每条边有一个容量 ci ,有 x 只熊,每只熊 背的货物的重量相同,问最多能够运多少货物
二分 每只熊 能够背的货物,然后每条边的容量就是有几只熊,再check 下 是否满流
拆点
poj 3281 Dining
有 f 种食物,d 种饮料,每种食物,饮料只能分给一头牛,问最后有多少头牛能够吃到自己喜欢的食物和饮料
加 一个 源点,源点连向食物,将牛拆点成 i ,i' 食物连 i , i 和 i' 连边,容量为点的容量,i' 向饮料连边,饮料再向汇点连边
http://blog.csdn.net/accelerator_/article/details/41076999
点有容量:可以进行拆点,一个点拆成i和i',i作为入点,i'作为出点,然后i和i'之间连一条边,容量就是点的容量,然后流入i点的连向入点,流出的,从出点连出去
拆边
没做过...
10.13
最小割
hdu 5294 Tricks Device
第一个求的是最短路还能够存在,最多可以破坏掉多少条边
第二个求的是至少破坏掉多少条边最短路就不存在了
第一个是在求最短路的时候,记录下 到 v 点的最少边数
第二个是把在最短路上的边容量为 1 ,跑最大流
---------------昏割线-----------------------------------------------------------------
二分图最大匹配
二分图最佳完美匹配
LA4043 白薯例题
给出 n 个白点,n 个黑点,需要用 n 条不相交的线段把它们连接起来
白点,黑点连边,边权 为 两点之间的欧几里得距离
还做过一种,求最小的,边权取负的就好...
-------------------昏割线------------------------------------------------
连通性
dfs 判连通
并查集判连通
判断一个连通分量是不是二分图
割点:删掉这个点使得图不连通的点
桥:删掉这条边使得图不连通的边...注意重边
边双连通分量:任意两点之间至少存在两条边不重复的路径
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include
点双连通分量:任意两点之间至少存在两条点不重复的路径
数学
gcd
hdu 5930 GCD
给出 一列数,q 次操作,将 pos 处的数修改成 v ,询问所有区间的gcd 的种数