「AGC034D」 Manhattan Max Matching】的更多相关文章

「AGC034D」 Manhattan Max Matching 传送门 不知道这个结论啊... (其实就是菜嘛) 首先 \(O(n^2)\) 的建边显然不太行. 曼哈顿距离有这样一个性质,如果将绝对值符号拆掉,曼哈顿距离的值一定是所有情况的最大值. 然后根据这个性质我们可以把点拆成四种 \((\pm x,\pm y)\),然后连边直接跑最大流就完事了. /*---Author:HenryHuang---*/ /*---Never Settle---*/ #include<bits/stdc++…
「AGC020D」 Min Max Repetition 传送门 首先这个东西的连续字符个数你可以二分.但事实上没有必要,这是可以直接算出来的. 即 \(k=\max\{\lceil\frac{A}{B+1}\rceil,\lceil\frac{B}{A+1}\rceil\}\). 证明你就考虑把每一个 B 或者 A 分成一段过后另一种最少每段放几个. 然后接下来就非常神奇,由于要求字典序最小,这个字符串一定形如 \(\texttt{AAA...BAAA...BAAA...BBB...ABBB.…
Description 有一个无限大的平面,有2N个位置上面有若干个球(可能重复),其中N个位置是红球,N个位置是蓝球,红球与蓝球的总数均为S. 给出2N个位置和上面的球数,现要将红球与蓝球完美匹配,匹配的权值是每一对匹配两个球的位置坐标的曼哈顿距离之和. 求最大权值. N<=1000,每个位置上球数<=10,坐标非负且<=10^9 Solution 直接两两连边显然不行 但又不能对于每一个球单独计算贡献,因为绝对值的存在 考虑这样一个转化 |x1-x2|=max(x1-x2,x2-x1…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 考虑一个二维平面,执行共 2*N 次操作: 前 N 次,第 i 次在 (rx, ry) 处放置 rc 个红色球: 后 N 次,第 i 次在 (bx, by) 处放置 bc 个蓝色球. 保证放置的红色球总数 = 放置的蓝色球总数. 请将这些球两两配对,使得所有配对中 (bx, by) 与 (rx, ry) 的 |rx - bx| + |ry - by| 之和最大.…
前置姿势 \(k\)维空间内两点曼哈顿距离中绝对值的处理 戳这里:[CF1093G]Multidimensional Queries 多路增广的费用流 据说这个东西叫做ZKW费用流? 流程其实很简单,就是把EK中的单路回溯改成利用DFS多路增广,类似Dinic那样,可以看作是EK的一个优化.需要注意的是要标记从源点到当前点的路径,以免陷入零环无法自拔. 代码 bool spfa(){ memset(dis,0x3f,sizeof dis); rin(i,1,n)cur[i]=head[i]; w…
Loj #2542. 「PKUWC2018」随机游走 题目描述 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一直随机游走,直到点集 \(S\) 中所有点都至少经过一次的话,期望游走几步. 特别地,点 \(x\)(即起点)视为一开始就被经过了一次. 答案对 $998244353 $ 取模. 输入格式 第一行三个正整数 \(n,Q,x\). 接下来 \(…
「NOI2013」小 Q 的修炼 第一次完整的做出一个提答,花了半个晚上+一个上午+半个下午 总体来说太慢了 对于此题,我认为的难点是观察数据并猜测性质和读入操作 我隔一会就思考这个sb字符串读起来怎么这么麻烦啊 首先可以发现,这个所有的选择都之后往后走,就是个topo图 task1,2,3 观察到数据有形如 s x x+11 v 3 + c y v 4 + c y v 5 + c y v 6 + c y v 7 + c y v 8 + c y v 9 + c y v 10 + c y v 11…
「SDOI2017」树点涂色 我sb的不行了 其实一开始有一个类似动态dp的想法 每个点维护到lct树上到最浅点的颜色段数,然后维护一个\(mx_{0,1}\)也就是是否用虚儿子的最大颜色 用个set维护一下虚儿子 但是啊,我发现搞这个区间改颜色的时候,虚儿子好像得用树套树维护,我当场就不行了... 每个点如果维护到根的颜色段数\(f\) 然后发现啊,这个你如果用一个lct的一个子树维护同一种颜色,在你access的时候实变虚或者虚变实对子树有一个+1或者-1 然后额外在外面开一个线段树维护子树…
「luogu2387」[NOI2014] 魔法森林 题目大意 \(n\) 个点 \(m\) 条边的无向图,每条边上有两个权值 \(a,b\),求从 \(1\) 节点到 \(n\) 节点 \(max\{a\}+max\{b\}\) 的最小值.图中可能有重边和自环.\((n \leq 5 \times 10^4 , m \leq 10^5)\) 一句话题解 考虑生成树 ( 过程类似 \(kruskal​\) ): 把边按照 \(a\) 从小到大排序,\(1-m\) 枚举边,设边连接的两点为 \(u…
Loj #3059. 「HNOI2019」序列 给定一个长度为 \(n\) 的序列 \(A_1, \ldots , A_n\),以及 \(m\) 个操作,每个操作将一个 \(A_i\) 修改为 \(k\).第一次修改之前及每次修改之后,都要求你找到一个同样长度为 \(n\) 的单调不降序列 \(B_1, \ldots , B_n\),使得 \(\sum_{i=1}^n (A_i −B_i)^2\) 最小,并输出该最小值.需要注意的是每次操作的影响都是独立的,也即每次操作只会对当前询问造成影响.为…