暑假集训-二分图,网络流,2-SAT】的更多相关文章

匈牙利算法DFS bool dfs(int u){ ; i <= n; i++){ if(a[u][i] && !visit[i]){ visit[i] = true; || dfs(match[i])){ match[i] = u; } return true; } } return false; } 最优匹配KM算法 #include <iostream> #include <cstdio> #include <fstream> #includ…
day1: 考微观经济学去了…… day2: 一开始就看了看一道题目最短的B题,拍了半小时交了上去wa了 感觉自己一定是自己想错了,于是去拍大家都过的A题,十分钟拍完交上去就A了 然后B题写了一发暴力对跑,感觉跑出来的数据都是对的,然后看看了题目,看是不是自己读题读错了 WTF!输出居然是Case %d,而我写的是Case #%d = =!,改了改输出格式,交上去就AC了,浪费了我好久时间 然后就去做J题了,J题傻逼题,结果卡全场,赛后一看,long long 改成 unsigned long…
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------------------------------------------------------------------------------------------------------------------1 - string 与 字符串 find 搜寻失败会返回 string::npos 的值 st…
这又是个状压dp (大型自闭现场) 题目大意: 在N*N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入格式: 只有一行,包含两个数N,K . 输出格式: 所得的方案数. 算法分析: 1.显然这又是一道状压的题 2.显然一样是用f数组表示方案数 But 这个f数组需要开三维 为什么呢 我们首先分析一下f的转移情况 f的状态与什么有关呢 首先我们很容易知道我们的dp是从上往下一点点递推实现的 而这个…
题目大意: 如何把一个正整数N(N长度<20)划分为M(M>=1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式. 输入格式: 第一行一个正整数T(T<=10000),表示有T组数据. 接下来T行每行两个正整数N,M. 输出格式 对于每组数据 第一行输出最大值. 第二行输出划分方案,将N按顺序分成M个数输出,两个数之间用空格格开. 算法分析: 第一问求dp值就是简单的dp 具体实现可参见 暑假集训day1 水题 乘法最大 1.做第一问的时候注意这个题给出的M并…
%dalao 今天又有dalao来讲课,讲的是网络流 网络流--从入门到放弃:7-29dalao讲课笔记--https://hzoi-mafia.github.io/2017/07/29/27/   果然是从入门到放弃啊,dalao本来说好下午继续讲完的,然后--就没有然后了 重要的是,mdzz PPT上的板子是假的啊,我找了一下午正经的板子啊,本以为ljm给了个正经板子,没想到是个假的啊,好不容易准备用stdafx的权限号交一下权限题,结果: stdafx, 很抱歉的通知您,您今天的提交次数已…
二分图? 不存在奇环(长度为奇数的环)的图 节点能黑白染色,使得不存在同色图相连的图 这两个定义是等价哒. 直观而言,就是这样的图: 二分图有一些神奇的性质,让一些在一般图上复杂度飞天的问题可以在正常时间得到解.(这就是我们研究它的原因鸭!) 然后是一些可能会用到的定义(确实用到了 还搞得人一头懵逼QAQ 匹配:图中边的一个子集,使这些边没有公共顶点. 当边数最大化的时候,称这个边集为一组最大匹配. 独立集:图中点的一个子集,使点的导出子图中不存在边. 人话:选一些点,使得中间任意两个点之间没有…
链接 : 最小割&网络流应用 EK太低级了,不用. 那么请看:#6068. 「2017 山东一轮集训 Day4」棋盘,不用EK你试试? dinic模板及部分变形应用见zzz大佬的博客:网络流学习笔记(反正我的码风和大佬zzz的差不多) 二分图覆盖与匹配 最小点覆盖=最大权匹配 简单(假)证明: 最小点覆盖包含的点数不可能小于最大匹配包含的边数. 尝试增广,把dfs到的点标记,那么左部未被标记的点和右部被标记的点为合法点. 求最小点覆盖的方案:详见 题解 UVA11419 [SAM I AM] 将…
二分图基础: 最大匹配:匈牙利算法 最小点覆盖=最大匹配 最小边覆盖=总节点数-最大匹配 最大独立集=点数-最大匹配 网络流: 技巧: 1.拆点为边,即一个点有限制,可将其转化为边 BZOJ1066,BZOJ1305 2.考虑左右两部,即比如横竖.男女.比赛和人等. BZOJ1532 带下界网络流问题 ----------------------转自zyf-zyf ss和tt为附加源或者说超级源 1.无源汇上下界可行流 对于(u,v)有向边,上界为a,下界为b 构图方法为: (1) ss 到 v…
唉,终于组队了,终于可以只BB了,我就BB,我就不上! 和Xiper以及chenxh组队了- 下面是总结: day1 第一天吃饱喝足,然后就上路了,我一开始就看到了C题大水题,但是我不敢想象这道题居然这么水……和队友BB了一下,然后就跳了,看其他题了,不然一血就是我的了 然后队友发现了A题,理论复杂度估计了一下,是10e8的,感觉比较玄,然后就没做,赛后事实证明是能过的 然后看了看绝世大贪心的E题,贪心了一个小时,和队友BB了一下,然后出了几组数据就过了 然后看了看I题,I题比较迷,就交给che…