BZOJ 4238 电压 解题报告】的更多相关文章

BZOJ 4238 电压 考虑一条边成为答案以后,删去Ta后剩下的图是一个或很多个二分图,即没有奇环 则一条边可以成为答案,当且仅当自己在所有奇环的交上且不在偶环上. 考虑建出dfs树,那么返祖边一定在环上. 把边下放到点上,考虑处理出返祖边覆盖的两个端点直接的路径,这些点都在这个环上,按照这个环的奇偶打一个差分上去即可. 但是这样只考虑了只有一个返祖边在环上的情况,返祖边在两个环以上的环我们没有处理 考虑分类讨论 若两个有交返祖边奇偶不同,少处理的一个环是奇环,无论是大奇环还是小奇环都没有影响…
2959: 长跑 Description 某校开展了同学们喜闻乐见的阳光长跑活动.为了能"为祖国健康工作五十年",同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动.一时间操场上熙熙攘攘,摩肩接踵,盛况空前. 为了让同学们更好地监督自己,学校推行了刷卡机制. 学校中有n个地点,用1到n的整数表示,每个地点设有若干个刷卡机. 有以下三类事件: 1.修建了一条连接A地点和B地点的跑道. 2.A点的刷卡机台数变为了B. 3.进行了一次长跑.问一个同学从A出发,最后到达B最…
BZOJ 3159: 决战 1 sec 512MB 题意: 给你一颗\(n\)个点,初始点权为\(0\)的有跟树,要求支持 Increase x y w 将路径\(x\)到\(y\)所有点点权加上\(w\) Sum x y 询问路径\(x\)到\(y\)的点权和 Major x y 询问从路径\(x\)到\(y\)最大点权 Minor x y 询问最小点权 Invert x y 将路径上的点权翻转 有个性质,修改操作一定满足\(x\)为\(y\)祖先或者\(y\)为\(x\)祖先(实际没什么用处…
BZOJ 3328: PYXFIB 题意 给定\(n,p,k(1\le n\le 10^{18},1\le k\le 20000,1\le p\le 10^9,p \ is \ prime,k|(p-1))\),求 \[ \sum_{i=0}^{\lfloor\frac{n}{k}\rfloor}\binom{n}{ik}F_{ik} \] 其中\(F_{i}\)代表斐波那契数列的第\(i\)项. 首先分析一波题目条件,有个很奇怪的条件\(k|\varphi(p)\) 如果对NTT或者单位根有所…
LINK:电压 一张图 每个点可以为黑点或百点 每一条边的两端都必须为一黑一白.询问又多少条边满足除了这条边不满足条件其余所有边都满足条件. 分析一下这个所谓的条件 每一条边的两端必须为一黑一白 所以存在奇环是不被允许的.除此之外的任何条件都是满足的. 至于求答案 可以分析 如果不存在奇环 那么显然偶环上的边 我们也删不掉 所以数量为不是环上的边均可. 考虑存在奇环 那么必然是所有奇环的并集的边的数量. 对于第一种情况 可以求一下边双.对于第二种情况我不太会.. 好吧想的有点复杂了 其实判断环的…
这个题好像很有趣的样子. 题目分析: 房间都是 $1\times k$ 的,也就是一条一条的.这个好像比较显然的样子. 一个房间如果要覆盖某个格子$u$,那么这个房间的面积至少为 $dis(u, Boundry)$,即其到边界的距离,这个好像也比较显然的样子. 于是答案至少是 $max\{dis(u, Boundry)\}$,然后可以通过构造来取到最小值,即答案就是$max\{dis(u, Boundry)\}$. 算法流程: 特判:如果输入的是一个边长为一个奇数的正方形,且 $(x,y)$ 恰…
这个题感觉很神呀.将 FFT 和 Manacher 有机结合在了一起. 首先我们不管那个 “不能连续” 的条件,那么我们就可以求出有多少对字母关于某一条直线对称,然后记 $T_i$ 为关于直线 $i$ 对称的字母对的数量,那么答案(暂记为 $Ans$)就会是: $$Ans = \sum 2^{T_i}-1$$ 在不管那个 “不能连续” 的条件的时候,这个应该是显然的. 怎么算的话,我们弄两次.分别把 $a$ 和 $b$ 当做 $1$,另一个当做 $0$,然后就可以得到一个多项式,将这个多项式平方…
这个题感觉很厉害的样子.. 首先我们注意到一点:每次加的 $d$ 都是非负的. 那么就说明一个数只可能从负数变成非负数并且只会变一次. 所以我们就可以暴力地去改变一个数的正负情况. 然后我们就可以用树链剖分,维护一下区间的最大负数和负数的个数就可以了. 时间复杂度 $O(n\log^2 n)$,空间复杂度 $O(n)$. #include <cstdio> typedef long long LL; #define N 262144 + 5 #define INF 12345678909876…
首先,我们可以先考虑一个暴力一点的算法: 对于任意两个分子,如果它们能以至少一种进行匹配,那么我们就在这两个分子之间连一条边. 然后如果我们能找到一个环,就说明是 unbounded,否则就是 bounded. 复杂度是 $O(n^2)$ 的,然而 $n \le 40000$ ,显然是不行的. 考虑优化.我们注意到本质不同的边有 $26$ 种,那么我们应该能省去很多不必要的边. 令 $inv(x)$ 为与类型为 $x$ 的离子匹配的离子,如 $inv(A+)=A-$. 对于在同一个分子上的两个离…
好点对的个数是\(O(n)\)的,而且我们可以 \(O(n)\) 地求出所有好点对. 我们把这些点对以右端点为关键字从小到大排序,再弄个扫描线,每次把右端点在扫描线上的点对的左端点加入线段树,于是我们可以得出右端点小于等于当前时刻 \(t\) 的左端点为 \(i(i \le t)\) 的 好点对的个数. 由于强制在线,我们就可以弄一棵可持久化线段树记录每个时刻的状态. 于是就 \(O(n\log n)\) 预处理,每次询问 \(O(\log n)\) 了. 时空复杂度均为 \(O(n\log n…