摘要: [挖坑] dp思想杂记 听了一中午的课,思想懂了一些,但是写代码好像不太会写。先把思想记一下,等以后有空了,来实现一波。 这样也是为了给我一些心理安慰,让我感觉“好像”这个中午没浪费。 TCO13 OneBlack 首先我们拿dp套dp的思路来搞这个题,我们需要记录位置 \((i,j)\) 与轮廓线 阅读全文
posted @ 2021-06-30 13:54 Flandre-Zhu 阅读(90) 评论(0) 推荐(1) 编辑
摘要: 笔记 dp套dp 本篇侧重 理解。 从本质入手 dp的本质: 我们有一个要解决的问题,把问题分成若干步(dp的阶段), 每一步都有一个状态表示(dp的状态),然后考虑状态间的转移。dp把问题通过某种顺序解决,使得我们可以 不记录 一些东西,而只记录我们关心的东西,以压缩我们描述状态用的东西 简单的说 阅读全文
posted @ 2021-06-29 22:19 Flandre-Zhu 阅读(295) 评论(0) 推荐(1) 编辑
摘要: 重新做一遍,感觉脑子清楚多了 思维过程 首先我们不考虑区间限制咋做(很常见套路,先不考虑区间限制),换句话说我们要面对整个串 \(S\)。 一个常见思考方式:数本质不同串数,对于SAM上每个节点单独考虑 那我们把 \(T\) 的 SAM 搞出来,考虑每个节点。首先有一个显然的性质,如果一个串满足条件 阅读全文
posted @ 2021-06-26 21:51 Flandre-Zhu 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 躺在床上睡不着,想这个题,突然有了一个对的思路,把自己吓醒 思维过程 首先我们要考虑的是,假设 \(s\) 已知,Appleman 的策略是什么 我们发现他的策略非常简单,就是能匹配就继续匹配,直到不能再匹配了,才划分一下 道理也很简单,现在不划进来,没有任何好处:这不会让后面划的更少,甚至可能更多 阅读全文
posted @ 2021-06-24 22:34 Flandre-Zhu 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 前言 贪心问题初学的时候啥也不会,全都是感性理解的。 其实它是有道理可寻的。本篇研究如何有理有据的贪心。 说的道理 对于一类重点考虑选择顺序的问题,我们可以假设A在B前面比B在A前面更优,并分析关系。这个东西好像叫 exchange argument。 对于一些和二分图有关或者可以转化成二分图的问题 阅读全文
posted @ 2021-05-05 11:29 Flandre-Zhu 阅读(443) 评论(3) 推荐(3) 编辑
摘要: 前言&简介 博弈论太大了,全都要考的话,竞赛生涯就结束罢 那么,什么是博弈?我们研究什么样的博弈? 博弈论,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。 通俗地讲,博弈论主要研究的是:在一个游戏中 阅读全文
posted @ 2021-05-04 23:46 Flandre-Zhu 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 基础题型 给你一个字符串,对于每个前缀,求该前缀中有多少前缀不同的回文子串。定义一个回文子串的权值为:长度乘以出现次数。对于每个前缀,也请你求出最大的回文子串的权值是多少。 回文自动机(又名回文树)是干啥的 众所周知,在TRIE树上,每个节点表示一个字符串,字符记录在边权上。连一条边表示在这个字符串 阅读全文
posted @ 2021-05-04 23:14 Flandre-Zhu 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 简介 exkmp 用于求解这样的问题: 求文本串 \(T\) 的每一个后缀与模式串 \(M\) 的匹配长度(即最长公共前缀长度)。特别的,取 \(M=T\),得到的这个长度被称为 \(Z\) 函数。“函数”只是一个叫法,它本质上是个数组...为了好听,后面叫他“\(Z\) 数组” (互联网上的确有人 阅读全文
posted @ 2021-05-04 23:11 Flandre-Zhu 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 算法讲解 其实不用讲,看标题就知道这大概是一个什么样的算法了。 它用来解决这样类型的问题:你要支持,从一个点往一个区间中的所有点连一条边,或者一个区间中的所有点连一条边(有向)。 然后你就要进行一些 最短路/强连通分量/最大流 等图论基本操作了。 那么这个咋整呢(⊙.⊙) 假设我们现在是从第 ⑨ 个 阅读全文
posted @ 2021-05-04 23:09 Flandre-Zhu 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 前言 树链剖分用于转化树上的问题,使得它更容易考虑,解决。 主要分两(三)种(虚实剖分会在 LCT 里面讲,剩下的是重链剖分和长链剖分) 公共套路 对于每个节点,钦定 一个儿子当“重儿子”,然后每个点和重儿子形成的链叫“重链”,其它的是“轻链”。然后树会变成若干条直链拼一起,于是把树上的路径问题变成 阅读全文
posted @ 2021-05-04 23:06 Flandre-Zhu 阅读(58) 评论(0) 推荐(0) 编辑