自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 dp决策单调性的学习

可供参考学习博客: linklinklink四边形不等式  对于这样的转移方程:f(i)=min{g(j)+w(i,j)} (0<i<x)f(i) = min \{g(j) + w(i, j)\} \ (0 < i < x)f(i)=min{g(j)+w(i,j)} (0<i<x),直接转移的话复杂度是 O(n2)O(n^2)O(n2) 的。但是如果满足四边形不等式,就可以用决策单调性就行优化。    证明:  假设 iii 的决策点是 p[i]p[i]p[i],那么对于

2021-05-20 14:30:36 214

原创 dp斜率优化的学习

可供参考学习博客: link斜率单调,二元组横坐标单调hdu 3507: link    很容易得到 dp 的表达式:dp[i]=min(dp[i], dp[j]+(sum[i]−sum[j])2+M) (j<i)dp[i] = min(dp[i], \ dp[j] + (sum[i] - sum[j])^2 + M) \ (j < i)dp[i]=min(dp[i], dp[j]+(sum[i]−sum[j])2+M) (j<i)    可以化成:dp[

2021-05-13 16:17:04 198

原创 [dp单调队列+堆优化] poj3017 Cut the Sequence

link题面 $  给定一个数组 a, 要把它分成若干段,让每一段的和不超过 mmm ,求每一段的最大值之和最小是多少。分析  朴素的 dpdpdp 比较容易想到。  定义 dp[i]dp[i]dp[i] 表示从 a[1:i]a[1:i]a[1:i] 分成若干段的 最小 最大值之和,i0i_0i0​ 表示 sum a[i0,i]>m, sum a[i0+1,i]≤msum \ a[i_0, i] > m, \ sum \ a[i_0 + 1, i]

2021-05-10 21:52:53 255

原创 [期望计算+二分]2020-2021 ICPC Northwestern European Regional Programming Contest (NWERC)Great Expectation

link题面  这题有点像玩QQ飞车。有一个赛道记录时间为 rrr,赛道上有 mmm 个可能失误点,如果完全没有失误完成赛道的时间是 n(n<r≤5000)n (n < r ≤ 5000)n(n<r≤5000)。 在完全没有失误的情况下,通过第 iii 个点的时间是 tit_iti​。对于第 iii 个点,有 pip_ipi​ 的概率会成功通过,如果失败的话,则会耗时 did_idi​ (额外增加的时间)。然后你还有一个reset选择,就是让赛车回到起点,计时时间重新开始。问为了打破纪录(记录的时间不

2021-04-23 16:06:24 1425

原创 [AC自动机+矩阵快速幂] poj2778 与 hdu2243

poj 2778link题面  给定了 mmm 个 A, C, G, T 构成的基因片段(字符串),让你构造一个不含这 mmm 个片段的,长度为 nnn 的由A, C, G, T构成的字符串,问有几种方式。分析  这题刚开始以为有关动态规划哈希什么的,看了题解才发现这是AC自动机的构造神题。AC自动机的基本介绍网上有很多,这里就不赘述。  首先对于这 mmm 个字符串,可以建一个 AC 自动机,就如普通的AC自动机一样,维护 fail 数组,用 tr[i][j]tr[i][j]tr[i][j] 表

2021-04-01 15:31:18 252 2

原创 [dp+前缀和优化] codeforces/gym/102428/problem/F Fabricating Sculptures

题面link  有 S 列,B 个正方形,正方形可以叠加摆放在一列上,要求每个正方形左右不能都有正方形比它高(每一列至少一个正方形),问有几种摆法?(1≤B≤S≤50001 ≤B ≤ S ≤ 50001≤B≤S≤5000)分析  从每一列考虑不是很好做,可以从底开始,每一行开始考虑。最下面一行一定要放满 SSS 块正方形,倒数第二行如果要放 k1k_1k1​ 个正方形的话,则有 (S−k1+1)(S - k_1 + 1)(S−k1​+1) 种方法(根据要求正方形必须相邻),那么在这个基础上如果倒数第

2021-03-21 20:21:32 312 1

原创 [单调栈+线段树] 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest ——A. LaIS

题面$link  定义了长度为 kkk 的几乎递增序列 {bi}\{b_i\}{bi​} 为: min(b1,b2)≤min(b2,b3)≤...min(bk−1,bk)min(b_1, b_2) ≤ min(b_2, b_3) ≤ ... min(b_{k - 1}, b_k)min(b1​,b2​)≤min(b2​,b3​)≤...min(bk−1​,bk​)。  现在给定了一个长度为 n (n≤5e5)n \ (n ≤ 5e5)n (n≤5e5) 的数组 {ai} 

2021-03-09 19:02:21 317 1

原创 [边权转点权] 边的染色 美团2018年CodeM大赛-复赛

题面link  给定一张无向图,有些边已经被标记成 0,10,10,1,我们需要给未标记的边赋值 0,10, 10,1,使得无向图中任意一个环中所有边的异或和为0。问有几种方案?分析  先从简单的入手,给定一个连通图,把里面的边赋值 0,10, 10,1,使得任意一个环,里面所有边的边权异或值为0,求方案数。  我们可以不直接考虑边如何赋值,可以考虑点。在一个环中,每个点都会贡献两条边,若是我们定义边权为两个顶点的异或和,那么不管点权是多少,在环中一个边的权值可以拆成两个点权值的异或,一个顶点都会

2020-08-21 15:47:22 201

原创 [换根] Accumulation Degree

题面link  给定一棵树,每条边有流量限制,一个结点的流量定义为将该点看为源点,最多能流出多少水(可以从不是自身的叶子结点流出),问这棵树最大的结点流量是多少?分析  求出一个结点的流量,我们可以对这个结点用一遍树型dp,对于结点 uuu 和 其儿子 vvv, 若 vvv 是叶子结点,那么 dp[u]+=w(u,v)dp[u] += w(u, v)dp[u]+=w(u,v), 否则 dp[u]+=min(dp[v],w(u,v))dp[u] += min(dp[v], w(u, v))dp[u]+

2020-08-18 15:16:19 192

原创 2020牛客暑假多校第十场补题

比赛链接:link题目J 树型dp & 二分图权值匹配   J 树型dp & 二分图权值匹配   题目大意是给定两棵形状一样的树,每个点都有不同的值,问第一棵树最少改变几个结点的值可以和第二棵完全相同?   我一开始想的是递归去做,首先判断某两个点的子树是否相同,然后对其相同的儿子分别去试试(比如儿子1,2,31, 2, 31,2,3形状相同,那么可以有3!3!3!种试法),这样搞是阶乘复杂度,炸内存了。。   其实这个匹配的过程可以用二分图来完成,降到多项式复杂度。首先 d

2020-08-17 21:01:16 220

原创 [dp专题]牛客的dp学习记录

分类树型dp   树型dp    过程:一般先算子树然后进行合并,在实现上与二叉树的后序遍历类似,先遍历子树,遍历完之后把子树的值合并给父亲。      NC24953(树的最小支配集):一个点被盖,它自己和与它相邻的点都算被覆盖。给你一棵无向树,问你最少用多少个点可以覆盖掉所有其他的点?   若是边覆盖的话,一条边要么被某个结点自己覆盖,要么被其儿子覆盖。但是现在是覆盖点,一个点既可以被儿子覆盖,也可以被自己覆盖,也可以被父亲覆盖,所以要定义三个状态了。    dp[i][0]dp[i][0

2020-08-12 20:36:56 157

原创 2020牛客暑假多校第七场补题

比赛链接:link题目C 树剖   C 树剖   题目大意是说对于一棵树,初始所有点的权值 F(x)F(x)F(x) 为0,有三种操作:①对于结点 xxx, 给定一个值 www,然后对于树上所有结点 yyy, 权值加上 w−dist(x,y)w - dist(x, y)w−dist(x,y)(包括本身);② 对于结点 x,F(x)=min(x,0)x, F(x) = min(x, 0)x,F(x)=min(x,0);③询问 F(x)F(x)F(x)。   对于操作①的转化很巧妙:w−dist(x,

2020-08-11 17:33:24 134

原创 [kosaraju算法] POJ 2186 Popular Cows

题面link  给定一个有向图,问有几个结点,图中的任意结点都可以到达?(1≤n≤1e41≤ n ≤ 1e41≤n≤1e4)分析  若是知道了图中的强连通分量,将一个强连通分量缩成一个点的话,那么原图可以变成是一个DAG(有向无环图)。若是只有一个结点出度为0,那么其它结点都可以到达这个点;若是有大于一个,那么就不存在任何结点都可以到达的点了。  所以我们可以用 kosaraju 算法求出强连通分量,进行缩点,然后求出出度为0的缩点判断答案。  kosaraju算法的步骤是:①正向建图和反向建图

2020-08-01 10:55:53 140

原创 2020牛客暑假多校第五场补题

比赛链接:link题目B Boruvka算法&异或字典树   B Boruvka算法&异或字典树   题意是说给定了一棵树,每条边都有一个权值,我们可以进行删边或者增边操作,每次需要保证操作后所有点是连通的,并且保证若是存在环,环上所有值异或和为0。求最小权值和。   由异或的性质可知,从某个顶点 iii 到顶点 jjj 若是有连边,这个连边的值是确定的;若是我们确定了某一个点的值,其他点的值也可以确定下来,路径异或就可以转成顶点异或。比如我们假定 111 号结点的值为 000

2020-07-30 21:28:06 305

原创 2020牛客暑假多校第三场补题

比赛链接:link题目G STL中list的使用   G STL中list的使用   题意是说对于一张图有 nnn 个点,mmm 条边,一开始每个点自为一个 groupgroupgroup,我们现在有 qqq 次操作,每次操作选定 groupgroupgroup 的编号为 oio_ioi​,若是 oio_ioi​ 组没有点,则不发生变化,否则与 oio_ioi​ 组的点相连的点若是属于其他组 ojo_joj​,则 ojo_joj​ 组的点并入 oio_ioi​, ojo_joj​ 变空。全部操作之后

2020-07-23 18:20:06 137

原创 2020牛客多校第四场 H Harder Gcd Problem

H   (只会做3题所以在比赛的时候就开始写题解了 )   题意是说对于 1,2....n1, 2....n1,2....n,找到最多的数对 (i,j)(1≤i,j≤n)(i, j) (1 ≤ i, j≤ n)(i,j)(1≤i,j≤n) (一个数字只能出现在一个数对里),满足 gcd(i,j)>1gcd(i, j) > 1gcd(i,j)>1。      经过简单分析,我们发现 111 不行,也易得大于 n/2n / 2n/2 的质数也不行,那其他的数能不能互相两两成对呢?我是这

2020-07-20 17:00:15 1320 2

原创 2020牛客暑假多校第二场补题

J   题意是说一开始给你一个排列 {1,2,3...n}\{1, 2, 3...n\}{1,2,3...n},经过 kkk 次置换,变成 {a1,a2....an}\{a_1, a_2....a_n\}{a1​,a2​....an​},问若是将原来的排列只置换一次,会变成什么?(1≤n≤1e51 ≤ n ≤ 1e51≤n≤1e5, kkk 为质数)      首先什么是排列的置换呢?根据抽象代数里的定义,一个集合的排列置换是自身对自身的一个双射。 这可以理解成将一个排列的元素打乱顺序,得到一个新的排

2020-07-16 20:21:48 745

原创 [组合容斥] 美团2017年CodeM大赛 二分图染色

题面   link 给定一个完全二分图,图的左右两边的顶点数目相同,都是 nnn。我们要给图中的每条边染成红色、蓝色、或者绿色,并使得任意两条红边不共享端点、同时任意两条蓝边也不共享端点。  &emsp计算所有满足条件的染色的方案数,并对 109+710^9+7109+7 取模,其中 n≤1e7n ≤ 1e7n≤1e7。分析   其实这题涂成绿色可以看成不涂,我们只需要考虑涂成红色和蓝色的情况。   经过简单思考,我们发现只涂一种颜色是比较简单的,若是一边顶点数是 nnn,则只涂一种颜色

2020-07-12 22:30:28 210

原创 [组合数学] NC13611树 (逆元的计算)

题面   link 有一颗树,树有n个结点。有k种不同颜色的染料给树染色。一个染色方案是合法的,当且仅当对于所有相同颜色的点对(x,y),x到y的路径上的所有点的颜色都要与x和y相同。请统计方案数。    其中,n,k≤300n, k ≤ 300n,k≤300分析   若是从某个根节点在dfs 或者 bfs 过程中统计,是非常麻烦的事。子结点和父亲一个颜色,这种情况还比较简单,若是不同颜色,则其兄弟结点也不能和该子结点一个颜色(因为这两者通过父结点连接),这样整个过程就不好计算了。   或许可以换

2020-07-09 21:52:13 546 1

原创 [树上倍增] LCA问题与ST表的使用

先理解LCA模板    7月伊始,这次决定好好学习一下LCA以及ST表的使用。所以呢,先从解决LCA问题说起。      在有根树中,两个结点 u,vu, vu,v 的公共祖先中距离最近的那个被称为最近公共祖先(LCA, Lowest Common Ancestor)。比如在下图中,根是结点8,LCA(3, 11) = 10, LCA(15, 12) = 4。   在有根树中由于根的存在,结点与根结点的最短路径长度为这个结点的深度(depth)。那么,如果 LCA(u,v)=wLCA(u,v) =

2020-07-04 23:22:48 1734 1

原创 [区间dp] NC13230合并回文子串

题面link   输入两个字符串A和B( ∣A∣,∣B∣<50|A|, |B| < 50∣A∣,∣B∣<50 ),合并成一个串C,属于A和B的字符在C中顺序保持不变。如"abc"和"xyz"可以被组合成"axbycz"或"abxcyz"等。   我们定义字符串的价值为其最长回文子串的长度(回文串表示从正反两边看完全一致的字符串,如"aba"和"xyyx")。需要求出所有可能的C中价值最大的字符串,输出这个最大价值。  分析  若是这题暴力把所有合成的 C 串找出来,则共有 C1

2020-07-01 22:05:35 307

原创 [离散化dp] NC19809 growth

题面link   一开始有属性a和b,这两个属性初始的时候均为0,每一天可以让a涨1点或b涨1点。我们共有 nnn 种奖励,第i种奖励有 xi,yi,zix_i,y_i,z_ixi​,yi​,zi​ 三种属性,若 a≥xia≥ x_ia≥xi​ 且 b≥yib≥ y_ib≥yi​,则弱弱在接下来的每一天都可以得到 ziz_izi​ 的分数。   问 mmm 天以后弱弱最多能得到多少分数,其中 1≤n≤1000, 1≤m≤2e9, xi,yi≤1e91 ≤ n ≤ 1000, \ 1

2020-06-30 23:08:08 230 2

原创 [建图思想] 2020上理校赛E Eight Digital Games

题面link  给定一个长为 n(n≤1e5)n (n ≤ 1e5)n(n≤1e5) 的只含数字1 - 8的字符串,每出现一个逆序对 (a,b)(a, b)(a,b) (其中b>ab > ab>a) 就会有 Pa,bP_{a, b}Pa,b​ 的 cost, 比如字符串 855118551185511 的 cost 为 2×P8,5+2×P8,1+4×P5,12 × P_{8, 5} + 2 × P_{8, 1} + 4 × P_{5, 1}2×P8,5​+2×P8,1​+4×P

2020-06-06 12:17:39 353

原创 [分组背包] 牛客练习赛22C(bitset优化)

题面link  一共有 n个数,第 i 个数是 xix_ixi​ ,xix_ixi​ 可以取 [li,ri][l_i , r_i][li​,ri​] 中任意的一个值。设 S=∑xi2S = \sum{{x_i}^2}S=∑xi​2, 求 S 种类数。  分析  这一题主要用的是分类背包的思想,dp[i][j]dp[i][j]dp[i][j]表示的是考虑到第iii个区间,S是否能取到jjj,取到为1,取不到为0。  进行三重循环遍历(第一层区间数nnn,第二层jjj的取值可以到达n3n^3n3,

2020-05-23 10:45:08 302

原创 [贪心算法] NC50439 优先队列+贪心

题面link  在一个游戏中,需要在n个士兵中选出一些士兵组成一个团,第i个士兵的战力为v[i],团的战力是团内所有士兵的战力之和。但是这些士兵有特殊的要求:如果选了第i个士兵,这个士兵希望团的人数不超过s[i]。(如果不选第i个士兵,就没有这个限制。) 问团的战力最大为多少。  数据范围: n(1≤n≤105,1≤v≤109,1≤s≤n)n(1≤n≤10^5, 1≤v≤10^9,1≤s≤n)n(1≤n≤105,1≤v≤109,1≤s≤n)  分析  若是某个方案选取的其中一个士兵,其限制为 s

2020-05-19 23:09:43 315

原创 [并查集] POJ2492 (带权并查集)

题面BackgroundProfessor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite ge...

2019-10-28 15:49:40 255

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除