随笔分类 -  题解

摘要:考前写题解增加RP。 D1T1: 考虑按照列DP。对于每一列选择的鱼的区间进行决策。每列中被选择的y坐标最大的鱼,需要被左面或右面覆盖。 假设我们决策好了前i列的方案,考虑第i列被选择的y坐标最大的鱼是否被第i-1列覆盖。 若没有覆盖,需要记录i列中选择的y坐标最大值。此时他需要被第i+1列覆盖,因 阅读全文
posted @ 2022-08-17 21:49 lnzwz 阅读(320) 评论(0) 推荐(1) 编辑
摘要:题意:https://www.luogu.com.cn/problem/CF1349F1 首先这个序列中有相同元素,我们考虑逆排列。 把每个数出现的位置依次排列,相同的数字位置递减排列。 容易发现,在a(i+1)>a(i)的位置插入一条分割线即可。 设f(x,y)表示长度x的排列,有y个位置满足p( 阅读全文
posted @ 2022-02-10 13:57 lnzwz 阅读(58) 评论(0) 推荐(0) 编辑
摘要:题意:有n个车站,每站有初始人数,每一天增加ai人,容纳量为bi。每天你可以派任意辆火车,按顺序接走前K个人。求维持m天最少要多少辆。 \(n,m\leq 200\) 难度较大的DP。 我们发现一旦x车站有人被接走,那么前x-1个车站一定被清空。 利用这个性质可以DP。 设f(x,y,0/1)表示前 阅读全文
posted @ 2022-02-10 13:40 lnzwz 阅读(65) 评论(0) 推荐(0) 编辑
摘要:T1:若$x$存在一个约数$y$满足$y$的十进制表示有$7$,那么$x$就是不好的,$T$次询问给出$n$,询问大于$n$的最小的好数。\(n<=10^5,T<=10^7\)。 解法:类似筛法的思路。先预处理$b7(x)=b7(x/10)||(x\mod10==7)$,表示$x$的十进制中有无$7 阅读全文
posted @ 2021-11-22 13:57 lnzwz 阅读(1370) 评论(0) 推荐(2) 编辑
摘要:题意: 对于一个$B$进制数$x$定义它的数根为把所有位上的数加在一起的结果。 给出一个长度为$n$的$B$进制串$s$,$m$次询问每次给定一个集合$A$和一个数$x$,计算有多少个$s[l ... r]$可以通过将至多一个字符更改为$A$中的元素使得数根为$x$。 \(n,m\leq 2^{20 阅读全文
posted @ 2021-04-06 19:54 lnzwz 阅读(116) 评论(0) 推荐(0) 编辑
摘要:题意:有一个点数$2n$的二分图。左面第$i$个点与右面前$A_i$个点有连边,保证$A_i$不下降。 对于每个$k$,求匹配数目为$k$的方案数。 由于$A_i$不下降,因此问题等价于选一个长度为$k$的子序列,权值为$A_-i$的乘积。 使用dp:设 阅读全文
posted @ 2021-01-31 22:20 lnzwz 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意:有一些点,距离不超过$d$的连边。求最大团。 题解: 首先,最大团是NPC的。 求最大团,可以把边取反,变为最大独立集。 如果这个图是二分图,那我们就可以做了。 这个图是二分图,说明可以把能选择点分为两部分,每部分的最远点对距离都不超过$d$。 考虑缩小可行集合使其满足二分图性质。 枚举答案的 阅读全文
posted @ 2021-01-20 22:13 lnzwz 阅读(156) 评论(0) 推荐(0) 编辑
摘要:先考虑$O(nkw)$的30分暴力。 显然,每个维度上走过的位置是一个区间。 只要走的步数确定,那么这个区间关于起点位置的相对位置也就确定了。 只要先算出每个循环向左/右所走的最远距离,以及一个循环的移位即可。 这样,考虑一个算法: 枚举走了多少步结束,并算出贡献(就是算出满足条件的起点数目)。 先 阅读全文
posted @ 2020-12-06 22:23 lnzwz 阅读(408) 评论(0) 推荐(0) 编辑
摘要:题意:给出若干个矩形,给每个确定方向,使得宽不相同,高的和最大。 暴力:二分图匹配,\(O(n^3)\)。 正解:把矩形看成边,那么定向后是基环内/外向树。 连通块是基环树只有一种方案。 连通块是树采用树规。 注意自环重边。 \(O(n)\)。 阅读全文
posted @ 2020-10-18 18:34 lnzwz 阅读(110) 评论(0) 推荐(0) 编辑
摘要:这题我的方法比较奇怪。 题意: 有$k$种物品,第$i$个物品有$a_i$个,权值为$2^i$。 求有多少个$y$,使得可以选出$x$组物品,每组的和都为$y$。 先考虑如何判定一个$y$是否可行: 从最高位开始,依次求出第i位需要的数目$b_i$。若$y$的第$i$位为1,则$b\leftarro 阅读全文
posted @ 2020-10-06 20:36 lnzwz 阅读(322) 评论(0) 推荐(0) 编辑
摘要:有时,会遇到这样的问题:求 \(\sum_{i=1}^n i^kx^i\)。 其中,k很小,n很大,x可以是数,矩阵,或多项式。 通常,有两种做法: 将x放入矩阵中,并依次把$(a+1)i$拆开,把系数放入矩阵(其实就是杨辉三角)。 这个方法比较容易,但时间复杂度为$O(k3\log n)$。 使用 阅读全文
posted @ 2020-08-12 22:07 lnzwz 阅读(295) 评论(0) 推荐(1) 编辑
摘要:首先,考虑一个问题:有一张有向图,选择最少的点,使得每个点都能由这些点出发而到达。 可以用如下方法: 先tarjan缩点,变成DAG。然后在入度为0的SCC中各选一个点。 正确性显然。 对于这道题,先预处理出所有数之间的关系,方法等下讲。然后暴力就是枚举$2n-1$种情况,再套用上述做法。 正解就是 阅读全文
posted @ 2020-08-08 22:25 lnzwz 阅读(193) 评论(0) 推荐(0) 编辑
摘要:题意: 给定$x$,\(d\),求x子树里深度不超过dep[x]+d的所有点中有多少种颜色。 强制在线。 一般的,询问区间颜色数时,可以求出每个数的后继,然后就变成了区间内大于某数的数,进而使用树状数组或主席树。 然而,询问树上的颜色数,还有一种更好的方法: 考虑某种颜色的贡献: 把这种颜色的所有点 阅读全文
posted @ 2020-08-04 22:19 lnzwz 阅读(140) 评论(0) 推荐(0) 编辑
摘要:坑 阅读全文
posted @ 2020-08-04 21:47 lnzwz 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题意: 给出n个矩形,求一个面积最小的矩形,使其能容纳这些矩形。 \(n \leq 6\)。 首先,通过枚举排列,确定这n个矩形的排列顺序。 然后,按照这个顺序,以此放置每个矩形。 把第一个矩形放在左上角。 之后,枚举每个矩形x。为了使矩形尽量紧凑,这个矩形一定要紧挨在某个矩形y的右侧。 枚举这个矩 阅读全文
posted @ 2020-06-13 16:41 lnzwz 阅读(161) 评论(0) 推荐(0) 编辑
摘要:题意:求基环树随机点分治次数期望 首先,这道题的本质是给分治中心随机排列。 考虑分治中心x与y连通的概率,若x到y是一条链,就要求x到y上的所有点,在x之后被删除。 把这些概率加到一起就是答案。 如果这条链包含的点数为a,容易证出此时是1/a。 (共有$n!$种情况,满足条件的有$\frac{n!} 阅读全文
posted @ 2020-05-10 15:02 lnzwz 阅读(165) 评论(0) 推荐(0) 编辑
摘要:题意:有N个数,问有多少个x,$(x\leq T)$,满足这N个数分别+x后,异或和为S。每个数小于$2^M$。 数位DP。 由于是加法,需要记录进位,因此从低位到高位DP。 只要记录下有几个进位,就可以根据这N的数的大小知道究竟是哪几个进位了。 设$dp(i,j,0/1)$表示考虑到第i位,有j个 阅读全文
posted @ 2020-05-05 11:02 lnzwz 阅读(179) 评论(0) 推荐(1) 编辑
摘要:题意:求$\frac{a}{b}$Mod$M$的值,a,b是很多个数的乘积。 首先,要对$\frac{a}{b}$进行约分,但是,因为a,b很大,难以求出他们的gcd。 我们发现:只要约分后的b和M互质,就能求出b的逆元,进而求出答案。 因此,我们只要考虑M的质因数即可。 先用Pollard rho 阅读全文
posted @ 2020-01-21 20:30 lnzwz 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题意: 给定$n$,求满足$\frac{1}{a}+\frac{1}{b}=\frac{1}{c}$,且$a,b,c$互质的三元组$(a,b,c)$数目。$(a,b,c\leq n)$ $n\leq10^{12}$ 首先,使用类似 "P5253 丢番图 " 的方法,两边乘以$abc$。 $ac+bc 阅读全文
posted @ 2020-01-01 12:06 lnzwz 阅读(213) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一个点数为 n,边数为 m,权值不超过 $10^9$ 的带权连通图,没有自环与重边。 现在要求对于每一条边求出,这条边的边权最大为多少时,它还能出现在所有可能的最小生成树上,如果对于任意边权都出现,则输出 $ 1$。 这里写一个用倍增的$O(nlogn)$做法。 先求出一个最小生成树。 阅读全文
posted @ 2019-10-25 18:57 lnzwz 阅读(192) 评论(0) 推荐(2) 编辑