摘要: 一句话点分治:每次找到树的重心,暴力或者不暴力处理以这个重心为分界点的 各个子树 之间 产生的贡献,然后删除这个点,产生很多树,对每棵子树重复上述操作。。。 有点像dsu on tree,都是通过均摊来实现nlogn P3806 提供一种离线处理询问的做法: 点分的过程中在对root的单独处理时,每 阅读全文
posted @ 2021-09-08 18:02 Lecoww 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 左偏树是一种支持log(n)合并的堆式数据结构。 定义: 外节点:不同时拥有左右儿子的节点 x的距离(dist):x到达子树中(包括自己)最近的外节点的距离,特别定义空节点的dist为-1 基本性质和结论: 除了满足堆的每个节点都 大于 或者 小于 左右儿子的性质,还满足(大概不全) 1、左偏性:对 阅读全文
posted @ 2021-08-26 18:13 Lecoww 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 一个会MLE的next树做法,边插入边递推fail数组(next数组,写的时候没学,自己根据ac自动机改的) #include<bits/stdc++.h> #define ll long long #define fastio ios::sync_with_stdio(false);cin.tie 阅读全文
posted @ 2021-08-26 14:42 Lecoww 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 原题意可以转化为把所有矩形映射到 \(0<=x<=d && 0<=y<=d\) 这个区域内,然后用扫描线判断有没有点没有矩形没有覆盖到,这个点为起点就可以存活。 首先把矩形映射下来是个非常难写的模拟: vector<line>l;//扫描线的线段 void push(ll x, ll y, ll x 阅读全文
posted @ 2021-08-19 23:04 Lecoww 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 提供一种轻重链剖分+dp的做法 先把2树的倍增数组预处理好,用下面这个方式查询可以省去上跳的时间(直接欧拉序也行,不过比赛的时候能想到欧拉序我就不会写dp了QAQ): int lca(int u, int v) { if (d[u] > d[v])swap(u, v);//默认v的深度较大 whil 阅读全文
posted @ 2021-08-19 22:52 Lecoww 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 两人的行走可以分成两类: ①在两人的路径上; ②离开这条路径后一直走到叶子节点; 那么我们可以先把这条路径上每个点到 除了包含这条路径 的叶子 的最长路径,假设A和B两个人的距离是x,这样就得到了一个长度为x的上述数组。 之后就去模拟每个人选取最优的行动: int solve(int l, int 阅读全文
posted @ 2021-08-19 22:42 Lecoww 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 银川K加强版,内存限制32M,字符串总长1e5*100,直接建出trie树dp很显然是会T的。 dp的思路:每个串都对应一个叶子节点,每次都是以某个叶子为起点向上dp。每个节点的权值等于这棵子树还有多少个叶子节点(即这个点有多少个串经过),以这个为每个点的权值。按顺序从叶子节点开始删,每次先让ans 阅读全文
posted @ 2021-08-18 17:44 Lecoww 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 想了个sb主席树合并的做法发现没有离散化,MLE一下午 正解是dfs序建主席树,口糊一下做法: 每次查询[l,r],先倍增找到最接近r的祖先x,然后找x的子树中大于l的节点个数。查子树可以dfs序建个主席树,对于x有in[x]和out[x],用这两个时间戳上的主席树做差查询即可。 下面是类似主席树合 阅读全文
posted @ 2021-08-14 20:54 Lecoww 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 突然想起来自己已经躺平了一个月(指每天高强度csgo),期末考试+实训完成后回家继续划水了几天,居然忘记把邀请赛的经历写个总结。。。 如果不是昨天打了场cf,怕是要到多校开始之后才回想起来,到那时记忆剩余量肯定几乎见底了(现在大概也是) 先放战利品( 颈椎圣手警告!!!!!!!!!!!!! saku 阅读全文
posted @ 2021-07-08 20:32 Lecoww 阅读(249) 评论(1) 推荐(0) 编辑
摘要: 贪心的策略有些问题,如果用堆维护最长段对半分显然不会是最优的(尽量均分成3段比中间切一刀加上左1/4切一刀更优) 正确的贪心策略是堆维护把一段均分成x段的变成均分成x+1段可以减少多少权值,每次取最大肯定是最优的。 #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2021-06-16 22:11 Lecoww 阅读(43) 评论(0) 推荐(0) 编辑