交换任意两行或是两列,然后我们最终的目标是要达到该方阵的主对角线上的格子均为黑色(即左上角至右下角)的格子均为黑色。 那么我们每次的操作肯定是将每一行某一个位置上的 1 移到上述的这条对角线,最后判断能否成立,在这样的思路的引导下,我们很容易想到二分图匹配,也就是若 \(a(i)(j)=1\) ,那 ...
分类:
其他好文 时间:
2020-11-13 13:05:27
阅读次数:
5
题目大意: 给定每个工厂的位置x,物品数p,以及搭建仓库的费用c。每个工厂要么花c建仓库,要么将所有物品运到右方有仓库的地方,代价为物品数*距离。最小费用。 n<=1e6 题目解法: 第一次写斜率优化的题解哈哈哈 斜率优化学的好差但每次写都有新收获! (如果没学过斜率优化就不要看这个题解辣 因为本题 ...
分类:
其他好文 时间:
2020-05-10 19:09:32
阅读次数:
52
小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的任意行列,交换这两列(即交 ...
分类:
其他好文 时间:
2020-04-30 19:37:31
阅读次数:
51
[SPOJ2666][ZJOI2007]捉迷藏Query on a tree IV(树链剖分)(论文做法) 题面 实际上,捉迷藏是Query on a tree IV的简化版。但区别只是捉迷藏的边权全部为1.这里把两个题合并起来写。 给定一棵包含 N 个结点的树,每个节点要么是黑色(亮灯),要么是白 ...
分类:
其他好文 时间:
2020-03-17 16:50:31
阅读次数:
70
P1131 [ZJOI2007] 时态同步 树形DP 题意描述 有一棵树,有 n 个节点, n 1 条边,每条边都有一个权值。 要求每个叶子结点到根节点的边权相同,求最少的改动数量(不是次数) 看不懂的话,走 "传送门" 算法分析 很显然是 DP (我也不知道是怎么想到的) 我们可以想一想,如果从根 ...
分类:
其他好文 时间:
2020-03-07 21:15:28
阅读次数:
79
题意简述 给定一棵 $n$ 个点的树,起初每个点都为黑色。 2种操作,要么改变某个点的颜色(由黑至白或由白至黑),要么询问距离最远的两个黑点间的距离。 共 $m$ 次操作。 $n\leq 10^5,m\leq 2\times 10^5$ 想法 动态点分治模板题。 如果只有一次询问操作,那么显然可以用 ...
分类:
其他好文 时间:
2020-02-27 19:16:32
阅读次数:
42
[ZJOI2007]捉迷藏 这是我最近写过最长的代码QAQ 码力太弱了QAQ 动态点分治模板题。 我们可以用三种堆来维护答案,这些堆要求支持删除非顶元素,以及查询次小值。我们把两个STL堆封装起来就可以实现。 三种堆: d[x]表示以x为根的点分树中所有黑点到它分治爹的距离 c[x]表示以x为根的所 ...
分类:
其他好文 时间:
2020-01-17 00:06:26
阅读次数:
58
最近学习了悬线法,用极大化思想解决最大子矩阵问题,一种dp问题,留个记录…… 讲的特别好的一个博客:极大化思想解决最大子矩阵问题 例题: P1169 [ZJOI2007]棋盘制作 代码如下: 1 #include <iostream> 2 #include <cstdio> 3 #include < ...
分类:
其他好文 时间:
2020-01-10 11:05:53
阅读次数:
99
"[ZJOI2007]捉迷藏 " 近期做过的码量最大的一题 (当然也是我写丑了....) 题意 有一个 $n$ 个节点的树 ($n \le 10^5$), 每个节点为黑色或白色. 有 $m$ 个操作 ($m \le 5 \times 10^5$), 操作有两种, 1. 将点 $x$ 的的颜色翻转. ...
分类:
其他好文 时间:
2019-12-30 23:18:10
阅读次数:
90
以前学斜率优化觉得好难 现在莫名觉得简单 (雾) $fee[i]$维护的一个前缀和 $sum[i]$维护的成品的前缀和 $dis[i]$维护$0 i$的距离 易得状态转移方程 $$dp[i] = min(dp[i],dp[j] + fee[i] fee[j] sum[j] (dis[i] dis[j ...
分类:
其他好文 时间:
2019-12-20 14:02:58
阅读次数:
109