01 2022 档案
发表于 2022-01-29 11:06阅读:10评论:0推荐:0
摘要:树上问题多半考虑回溯思想。 考虑从叶子结点开始从下向上回溯。 每次转移只会修改一个值。但是注意一个点会被弹出 最多 n 次 ,所以暴力的时间复杂度是 o(n^2) 。 所以要二分新插入决策点的位置。时间复杂度 o(nlogn) 。
阅读全文 »
发表于 2022-01-25 21:25阅读:8评论:0推荐:0
摘要:构建过程 基数排序 tips:先比较低位,再比较高位 时间复杂度 o(nk) 其中 k 表示位数 思考:如果我把一个串的位数压缩的尽可能小 ??? 倍增优化。考虑每一轮让比较的长度变为原来的两倍。 结构 一些应用 先引入两个新的数组:height[i] 表示 sa[i] 和 sa[i-1] 的最长公
阅读全文 »
发表于 2022-01-25 10:25阅读:3评论:0推荐:0
摘要:思路是这样的 我们考虑二分答案串 然后对于每个后缀,找到最近的至少要切割的位置 大概转化出来就是叫你在 [l,r] 内必须切一刀 (这个都会吧) 关键在于怎么二分。 理论上本质不同的子串只有 o(n^2) 个,但是暴力对每个子串排序的复杂度非常高 所以二分排名。 那么考虑在 sa 数组中从小到大扫一
阅读全文 »
发表于 2022-01-24 21:27阅读:20评论:0推荐:0
摘要:例子:Flipping Coin 将策略问题转化为数学模型 “pure strategy” - 有效合作的两大手段:通讯和默契 例子:Is It Rated? 机器学习理论 加权投票 还不够 ??? 例子:Date Pickup 非常经典的思考方式 二分等待时间 e 首先根据之前提到的“分大类”思想
阅读全文 »
发表于 2022-01-24 10:13阅读:8评论:0推荐:0
摘要:因为是 lj 讲课 所以讲了就忘了 结构 性质 将 fail 链反向,可以得到 fail 树 例子:[NOI2011] 阿狸的打字机 tips :在 AC 自动机上求 x 在 y 的子串中的出现次数 ? 考虑 trie 树到根的路径 ?(拆分) *考虑离线处理 ?(转化为单点修 + 区间查,注意这个
阅读全文 »
发表于 2022-01-20 19:36阅读:7评论:0推荐:0
摘要:kruskal算法 O ( m l o g m ) O(mlogm) O(mlogm) #include<bits/stdc++.h> using namespace std; const int N=10005; struct rec{ int x,y,z; }e[N]; bool operato
阅读全文 »
发表于 2022-01-12 16:45阅读:4评论:0推荐:0
摘要:分块: 蛮难的一个知识点。 审错题了 啊啊啊啊啊 基环树: 例子:展翅翱翔之时 (はばたきのとき) 做贪心。 每个点选最大入边。 如果基环被完全覆盖,考虑 将一条基环上的边替换成树边 。 注意是内向树。要特判连通块 cnt=1 的情况。 例二:CF835F Roads in the Kingdom
阅读全文 »
发表于 2022-01-12 15:45阅读:6评论:0推荐:0
摘要:感觉莫比乌斯反演的可操作性不大。 一般地: ∑ d ∣ n μ ( d ) = [ n = 1 ] \sum_{d|n}\mu(d)=[n=1] ∑d∣nμ(d)=[n=1] - 公式 1 欧拉反演: ∑ d ∣ n ϕ ( d ) = n \sum_{d|n}\phi(d)=n ∑d∣nϕ(d
阅读全文 »
发表于 2022-01-12 10:42阅读:16评论:0推荐:0
摘要:题目描述 有一个长度为n 的01 串,你可以每次将相邻的k 个字符合并,得到一个新的字符并获得一定分数。得到的新字符和分数由这k 个字符确定。你需要求出你能获得的最大分数。 solution: 可以看出本题的解法是区间DP。我们发现,区间[l,r]每次操作的区间不会有交集,因为假设最后只剩了几个点,
阅读全文 »
发表于 2022-01-06 21:53阅读:5评论:0推荐:0
摘要:考虑一次增广如果不能到达 u ,那么 u 在后续增广中也不会被到达 引理:每次增广得到的路径长度非严格递增 。
阅读全文 »
发表于 2022-01-06 21:49阅读:13评论:0推荐:0
摘要:众所周知当有负环时是跑不出最短路的 233 扩广一下定义,考虑一个不流经 s, t 的负环也能产生贡献 考虑贪心得把所有负边流满,再加反向正边用于退流 首先花最小代价将流量平衡 再从 s 到 t 跑一遍最大流最小费用 输出两次所用费用之和 简单 yy 一下正确性 首先转化后全为正权 这个时候跑流平衡
阅读全文 »
发表于 2022-01-06 21:27阅读:28评论:0推荐:0
摘要:dij 最大流最小费用算法 背景:众所周知 dij 算法是不能跑 负权图 的,但是通过一些 trick 可以转化为 正权图 。 适用条件:无负环图。 先来考虑初始边权 全为正 的情况 说白了用 点标 h[u] 的形式去将 w(u,v) 改为 h[u]-h[v]+w(u,v) 那么从 s 到 u 的路
阅读全文 »