随笔分类 - 图论
摘要:按解决顺序排列 目录FAIDHECKJGB F 二分答案ans,放最小的前ans个bi(变成必须放完) 因为bi=2^k,所以小的放了可能会拆散大的空间,大的把小的地方占了的话小的可以塞其他地方,所以先放大的 然后暴力能放则放,最多log次指针回到开头 所以一次求解O(nlogn),总复杂度log^
阅读全文
摘要:记得好像写了,但找了一下发现没写,于是写一下 2-sat 用于求 p→q 的蕴含关系集合的一组解(或判断无解) 流程:先构造蕴含关系集合,谁成立/不成立时另一个必须怎么样 对每个命题p建p和非p(p'),每个蕴含关系p→q连边 (p,q), (q',p'),一定要有逆否的反向边 然后 ① 跑tarj
阅读全文
摘要:a 倒推,每次删掉最后一个b[i]=i的即可 b 一开始发现可以构造完全二分图,使两边和同为S,这样每个点的和=对面二分图点的和=S,然后n=6和为奇数 进一步发现可以直接分成A组组内和为B的组,然后组之间连边,此时S=(A-1)B,有AB=n(n+1)/2 当n为奇数时取A=(n+1)/2,B=n
阅读全文
摘要:# 题目大意 有一个n\*m的网格图,需要在每个格子内部填入A~C,要求满足: ① 每个2\*2的小方格都要有ABC ② 边相邻格子内字母不同 给出初始若干格子相同(满足角相邻)的限制,判断是否存在合法解 2 #define fo(a,b,c) for (a=b; a=c; a--) #define
阅读全文
摘要:# 题目大意 给出一个有向图,有k条特殊边,每条边每次询问指定容量 求每次询问的最大流 n,m #define fo(a,b,c) for (a=b; a=c; a--) #define Min(a,b) a=min(a,b) #define Max(a,b) a=max(a,b) #define
阅读全文
摘要:找到原图度数最小点,暴力连边,剩下的每个再暴力连 时间O((2m/n*n+n)α)=O((n+m)α)
阅读全文
摘要:题目大意 题解 看CF上标签的意思应该是2 sat+数据结构优化建图~~难怪是H题~~ 看了题解,其实想想(也许)能够想出来 设两组的最大l和最小r为l1r1l2r2,则满足l1+l2=t1 根据max(l)和min(r)是否在同一区间分类讨论 判断很简单,设代表1和2集合(分别是maxl和minr
阅读全文
摘要:在线很毒瘤 离线考虑求出每条边的存在时间,把边放到线段树上,然后线段树分治维护可撤销并查集 具体来说,进入某个节点时把边加入(不连通时),出节点时删掉 顺序加边倒序删边,每次删的边必然是根节点与某个儿子的连边,所以可以直接维护深度按秩合并 与直接做的区别在于,撤销时实际上并没有真正删边,而是还原成进
阅读全文
摘要:题目描述 平面图&对偶图 平面图的定义:可以放在笛卡尔坐标系中,边只会在给定顶点处相交 把平面图中的每个区域+无穷域当作一个点,每条边变成两边的区域的连边,即为对偶图 把一条边拆成两条,每次找一个点,对于一条边找逆时针的下一条边(总方向是顺时针),直到找出一个环 因此要找一个块的 内侧 就可以按照上
阅读全文