随笔分类 - 题解
题解
摘要:其实这个题第一反应一定是线段树分治,但是这样反而更难考虑了(实际上是可做的但很难想到),可见即使看上去最贴切的算法也未必能有效果。 考虑这个DS题,没有什么模型的转化,可能用到的无非就是线段树、平衡树和堆。 首先,显然地,将每个商店拆成出现和消失两个事件,然后按时间一次处理。接下来很容易想到二分,于
阅读全文
摘要:题意:一张无向图,每次给出一个点集,问有多少个点满足删去它后,存在点集中的两个点不连通。 算法:显然的圆方树+虚树。 建出圆方树后,答案就是所有关键点之间的路径上的圆点个数,这个直接用虚树,维护树上前缀和与右链即可。 虚树一万年不会建。。
阅读全文
摘要:题意:求仙人掌图直径。 算法:建出仙人掌圆方树,对于圆点直接做普通的树上DP(忽略方点儿子),方点做环上DP并将值直接赋给父亲。 建图时有一个很好的性质,就是一个方点在邻接表里的点的顺序正好就是从环的根开始的整个环的点的顺序,所以可以直接DP。
阅读全文
摘要:题意:仙人掌图最短路。 算法:圆方树DP,$O(n\log n+Q\log n)$ 首先建出仙人掌圆方树(与点双圆方树的区别在于直接连割边,也就是存在圆圆边),然后考虑点u-v的最短路径,显然就是:在圆方树上u-v的路径上的所有边权之和,加上每个环(方点)中连出去的两个点的最短距离。 现在问题就是:
阅读全文
摘要:题意:给出一张图,求满足存在一条从u到v的长度大于3的简单路径的有序点对(u,v)个数。 做了上一题[HDU5739]Fantasia(点双连通分量+DP),这个题就是一个NOIP题了。 一开始考虑了各种各样的情况,最后发现几乎没有什么特殊情况,程序很优美。 首先和上一题一样建出圆方树,然后如果选择
阅读全文
摘要:题意:给一张无向点带有权无向图。定义连通图的权值为图中各点权的乘积,图的权值为其包含的各连通图的权和。设z_i为删除i点后图的权值,求$S = (\sum\limits_{i=1}^{n}i\cdot z_i) \text{ mod } (10^9 + 7)$。 显然和点双有关。回忆各种tarjan
阅读全文
摘要:3816: 矩阵变换 Description 给出一个 N 行 M 列的矩阵A, 保证满足以下性质: M>N。 矩阵中每个数都是 [0,N] 中的自然数。 每行中, [1,N] 中每个自然数都恰好出现一次。这意味着每行中 0 恰好出现 M−N 次。 每列中,[1,N] 中每个自然数至多出现一次。 现
阅读全文
摘要:4367: [IOI2014]holiday假期 Description 健佳正在制定下个假期去台湾的游玩计划。在这个假期,健佳将会在城市之间奔波,并且参观这些城市的景点。 在台湾共有n个城市,它们全部位于一条高速公路上。这些城市连续地编号为0到n-1。对于城市i(0<i<n-1)而言,与其相邻的城
阅读全文
摘要:首先有一些前置引理: 1. 由期望的线性性,平方的期望不等于期望的平方,所以求k次方的期望时,需要记录1~k-1的期望,然后计算增量(OSU!),这个这题没用上。 2. 线性基是可以变成每位只在一个元素上为1的(rebuild操作,也是求张成空间第k大的做法)。有一个关键的结论,张成空间内所有元素(
阅读全文
摘要:UOJ Test Round #1 T1:数字比大小的本质是按(长度,字典序)比大小。 T2:首先发现单调性,二分答案,用堆模拟,$O(n\log^2 n)$。 第二个log已经没有什么可优化的了,但是第一个可以做到线性。 我们先将特殊题的p就当作是-1跑一边,设这个题的出现时间是tx,完成所需时间
阅读全文
摘要:定理:n个点的无向图的最小割最多n-1个。 可能从某种形式上形成了一棵树,不是很清楚。 最小割分治:先任选两个点求一边最小割,然后将两边分别递归,就能找到所有的最小割。 这两个题是一样的,直接搬dinic模板即可。 BZOJ2229: BZOJ4519:
阅读全文
摘要:有一个结论:对于一个括号序列,把它化简成)))(((这个形式之后,设)的数量为x,(的数量为y,则答案为$\lceil \frac{x}{2} \rceil + \lceil \frac{y}{2} \rceil$。 考虑x和y怎么求,把(看成1,)看成-1,要求的就是最小前缀和与最大后缀和。 记录
阅读全文
摘要:还是没有弄清楚线段树合并的时间复杂度是怎么保证的,就当是$O(m\log n)$吧。 这题有一个显然的DP,dp[i][j]表示节点i的值为j的概率,转移时维护前缀后缀和,将4项加起来就好了。 这个感觉已经很难做到比$O(n^2)$更优的复杂度了,但我们要看到题目里有什么条件没用上:每个节点最多有2
阅读全文
摘要:场上数据很水,比较暴力的做法都可以过90分以上,下面说几个做法。 1. 暴力枚举所有最大独立集,对每个独立集分别DP。复杂度玄学,但是由于最大独立集并不多,所以可以拿90. 2. dp[S][k]表示考虑到排列的第k位,当前独立集为S的方案数,枚举第k+1位,根据是否与S相连转移到dp[S][k+1
阅读全文
摘要:对于k=0和k=1的点,可以直接求树的直径。 然后对于60分,有一个重要的转化:就是求在树中找出k+1条点不相交的链后的最大连续边权和。 这个DP就好。$O(nk^2)$ 然后我们完全不可以想到,将best[k](选择k条链的答案)打表输出,更不可能然后作差分,发现得到的数组是递减的。 这说明:be
阅读全文
摘要:COGS2479:四维偏序。 CDQ套CDQ CDQ:对a分治,对b排序,再对a打标记,然后执行CDQ2 CDQ2:对b分治,对c归并排序,对d树状数组。 COGS2639 7维偏序。 每一维记录前面的比当前这一维小的数个数,最后bitset取&就好了。 分块降低时空复杂度,均为$O(kn\sqrt
阅读全文
摘要:1790: [Ahoi2008]Rectangle 矩形藏宝地 Description 欢 乐岛上最著名的游戏是一个寻宝游戏,小可可来到宝藏的埋藏地,这是一块开阔地,宝藏被分散的埋藏在这块地下,现在要做的是一件件的把宝藏挖出来。为了提示 宝藏的埋藏点,游戏的主办方把这块开阔地当作第一象限,将所有可能
阅读全文
摘要:考场上写了60分的二分答案,又写了15分的主席树,然后就弃了。。 合起来就A了啊!主席树忘了开20倍空间最后还炸掉了。 最水的签到题被我扔了,主要还是不会用线段树求前缀和。 做法应该是比较显然的,首先肯定要二分答案,然后需要查询的就是大于等于当前二分值的最便宜的L个饮料的总花费是否不超过g,这个直接
阅读全文
摘要:3944: Sum Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans
阅读全文
摘要:快一年了都没碰到什么必须用KDT的题目导致模板完全忘光了,重新复习了一下。 K_Dimention_Tree是一种用来处理二维以上问题的数据结构(OI中一般都是二维),本质是二维启发式估价函数实现剪枝(实际上就是暴搜的优化),随机数据是大常数$O(n\log n)$,构造数据是$O(n\sqrt{n
阅读全文

浙公网安备 33010602011771号