随笔分类 - __top-题解
摘要:题目链接 "BZOJ4589" 题解 "FWT" 模板题 cpp include include include include include include include include include define LL long long int define REP(i,n) for (
阅读全文
摘要:题目链接 "BZOJ2436" 题解 看这$O(n^3)$的数据范围,可以想到区间$dp$ 发现同一个会场的活动可以重叠,所以暴力求出$num[l][r]$表示离散化后$[l,r]$的完整活动数 我们的目标求出$F[l][r]$表示$[l,r]$必须选时,二者的最小值 我们不妨令$A$选了$[l,r
阅读全文
摘要:题目链接 "BZOJ3142" 题解 题意:选一个正整数和$K 1$个$[1,M]$中的数,使得总和小于等于$N$,求方案数模$P$ 题目中$K(M 1) include include include include include include include include define L
阅读全文
摘要:题目链接 "BZOJ2878" 题解 除了实现起来比较长,思维难度还是挺小的 观察数据范围发现环长不超过$20$,而我们去掉环上任何一个点就可以形成森林 于是乎我们枚举断掉的点,然后只需求出剩余每个点为根的答案 设$f[i]$表示从$i$出发等概率走向子树的期望步数 如果$i$为根就是我们所需的答案
阅读全文
摘要:题目链接 "BZOJ2437" 题解 和 "JSOI2014" 很像 只不过这题动态删点 如果我们把空位置看做$X$的话,就会发现我们走的路径是一个$OX$交错的路径 然后将图二分染色,当前点必胜,当且仅当当前点必须作为最大匹配的匹配点 移动相当于删点,删点的话只需打个标记即可 判断当前点是不是必选
阅读全文
摘要:题目链接 "BZOJ1443" 题解 既然是网格图,便可以二分染色 二分染色后发现,游戏路径是黑白交错的 让人想到匹配时的增广路 后手要赢【指移动的后手】,必须在一个与起点同色的地方终止 容易想到完全匹配的图先手是必胜的,因为完全匹配的图要么走到对面终止,要么从对面找一条非匹配边走回来,而由于是完全
阅读全文
摘要:题目链接 "BZOJ" 题解 拉格朗日乘数法 拉格朗日乘数法用以求多元函数在约束下的极值 我们设多元函数$f(x_1,x_2,x_3,\dots,x_n)$ 以及限制$g(x_1,x_2,x_3,\dots,x_n) = E$ 我们需要求$f$在限制$g$下的极值 如图 当$f$取到最值时,必然与$
阅读全文
摘要:题目链接 "BZOJ2007" 题解 这是裸题啊,,要是考试真的遇到就好了 明显是最小割,而且是有来回两个方向 那么原图所有向右的边转为对偶图向下的边 向左的边转为向上 向下转为向左 向上转为向右 然后跑一遍最短路即可 cpp include include include include incl
阅读全文
摘要:题目链接 "BZOJ3112" 题解 同志愿者招募 费用流神题 单纯形裸题 $BZOJ$可过 洛谷被卡。。 cpp include include include include include include include include define Redge(u) for (int k =
阅读全文
摘要:题目链接 "BZOJ3550" 题解 单纯形裸题 题意不清,每个位置最多选一次 cpp include include include include include include include include define Redge(u) for (int k = h[u],to; k; k
阅读全文
摘要:题目链接 "BZOJ1061" 题解 今天终于用正宗的线性规划$A$了这道题 题目可以看做有$N$个限制和$M$个变量 变量$x_i$表示第$i$种志愿者的人数,对于第$i$种志愿者所能触及的那些天,$x_i$的系数都为$1$,其余为$0$ 也就是 $$ min \; z = \sum\limits
阅读全文
摘要:题目链接 "BZOJ3834" 题解 容易想到对于$gcd(x,y) = D$,$d$的倍数一定存在于两个区间中 换言之 $$\lfloor \frac{a 1}{D} \rfloor include include include include include define Redge(u) f
阅读全文
摘要:题目链接 "BZOJ3835" 题解 对于$k$,设$s[i]$为深度大于$i$的点数 $$ans = max\{i + \lceil \frac{s[i]}{k}\} \rceil$$ 最优决策一定是一开始每一层拿不满$k$个点,然后之后一直往下拿的同时通过中间层剩余的点拿满$k$个点 我们就有前
阅读全文
摘要:题目链接 "BZOJ3829" 题解 设$f[i]$为从$i$父亲进入$i$之前开始计时,$i$的子树中最晚装好的时间 同时记$siz[i]$为节点$i$子树大小的两倍,即为从父亲进入并回到父亲的时间 那么有 $$f[i] = max\{C[i],f[to] + siz_{pre}\} + 1$$
阅读全文
摘要:题目链接 "BZOJ3836" 题解 显然这是个$NP$完全问题,此题的解决全仗 任意两点间不存在节点数超过10的简单路径 的性质 这意味着什么呢? $dfs$树深度不超过$10$ $10$很小呐,可以状压了呢 我们发现一个点不但收祖先影响,而且受儿子影响,比较难处理 我们就先处理该点及其祖先,然后
阅读全文
摘要:题目链接 "BZOJ2800" 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被$(A,B)$整除,否则无解 之后我们先将$A,B$化为互质,所有数除一个$(A,B)$ 求得 $$Ax + By = 1$$ 那么对于点$d[i]$,满足 $$
阅读全文
摘要:题目链接 "CF321E" 题解 题意:将$n$个人分成$K$段,每段的人两两之间产生代价,求最小代价和 容易设$f[k][i]$表示前$i$个人分成$k$段的最小代价和 设$val(i,j)$为$i$到$j$两两之间产生的代价和,容易发现就是一个矩形,可以预处理前缀和$O(1)$计算 那么有 $$
阅读全文
摘要:题目链接 "BZOJ2079" 题解 题意就是黑白染色,要求相邻点存在不同颜色的点 显然从一个点出发,相邻点如果没有染色,染不同颜色,那么一个联通块一定会满足要求 证明:在$dfs$树上,每个点父亲和它不同色 所以只需检查有无孤立的点 C++ include include include incl
阅读全文
摘要:题目链接 "BZOJ3522" 题解 就是询问每个点来自不同子树离它等距的三个点的个数 数据支持$O(n^2)$,可以对每个距离分开做 设$f[i][j]$表示$i$的子树中到$i$距离为$j$的点的个数 利用换根法可得到每个点作为根时的值 然后随便容斥一下就是答案 C++ include incl
阅读全文
摘要:题目链接 "BZOJ1113" 题解 显然只与高有关,每次选择所有海报中最低的覆盖所有海报,然后分治两边 每个位置会被调用一次,复杂度$O(nlogn)$ $upd:$智障了,,是一道$O(n)$普及 贪心模拟题QAQ C++ include include include include incl
阅读全文

浙公网安备 33010602011771号