摘要: 1. Treap Treap是一种基于旋转来维护平衡的平衡树,它通过给每个节点赋一个随机值,并按照该值维护大(或)根堆,以此实现平衡;也因此,它叫Treap ( Binaty Search Tree + heap ) 核心操作 : 左旋和右旋 左旋 : 对节点x进行左旋操作,即把x的右子节点旋到左边阅读全文
posted @ 2018-12-12 11:44 15owzLy1 阅读(3) 评论(0) 编辑
摘要: 题目大意 :有 n 个城市连成一棵树, 每个城市有两个关键字, 一个是该城市的宗教, 另一个是城市的评级;旅行者要在城市间旅行, 他只会在和自己宗教相同的城市留宿;维护四个树上操作 { 1. “CC x c“ :城市 x 的居民全体改信了 c 教; 2. “CW x w“ :城市 x 的评级调整为 阅读全文
posted @ 2018-12-09 21:11 15owzLy1 阅读(1) 评论(0) 编辑
摘要: NOIp结束第100天; 机房里人走了不少,大部分也都是在补文化课,xiaojifang又散了; int main { 18年大概是我付出最多的一年,暑假开始训练,十一以后停课,能力也是有不少提升,但NOIp的成绩却不尽人意; Day1 { T1是13年原题,一分钟打完花5分钟确定是原题就不再管了;阅读全文
posted @ 2018-11-16 19:13 15owzLy1 阅读(16) 评论(0) 编辑
摘要: 题目大意:给定一棵n个节点的树,输入m组一条链的两个端点;把树上的某个边权改为0,求m条链长度的最大值的最小值; 一.考虑二分: 1.对于需要判断是否为可行方案的 mid,所有链长不大于 mid 的链不会造成影响; 2.故只考虑链长大于 mid 的链是否可以 通过操作使它们的长度不超过mid; 3.阅读全文
posted @ 2018-11-01 16:12 15owzLy1 阅读(6) 评论(0) 编辑
摘要: 题目链接 :https://www.luogu.org/problemnew/show/P1417 直接背包 -> 30' 考虑直接背包的问题:在DP时第i种食材比第j种食材更优,但由于j<i导致第j种食材先被决策到,故 GG 显然:当i,j满足 f[t]+a[i]-b[i]*(c[i]+t) > 阅读全文
posted @ 2018-10-29 14:39 15owzLy1 阅读(6) 评论(0) 编辑
摘要: 本文中 N为点数,M为边数; EK: (brute_force) ; 每次bfs暴力找到一条增广路,更新流量,代码如下 : 时间复杂度:O(NM²); 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 struct node{ 5 int ne阅读全文
posted @ 2018-10-16 18:50 15owzLy1 阅读(15) 评论(0) 编辑
摘要: 模式串匹配,顾名思义,就是看一个串是否在另一个串中出现,出现了几次,在哪个位置出现; p.s. 模式串是前者,并且,我们称后一个 (也就是被匹配的串)为文本串; 在这篇博客的代码里,s1均为文本串,s2均为模式串; 一般地,文本串长度不小于匹配串;(否则无意义) 很显然可以得到一个暴力的做法 : 时阅读全文
posted @ 2018-10-03 18:33 15owzLy1 阅读(14) 评论(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P3258 (树剖裸题 树上差分 = = 差分 + lca 1. 树上差分基本思想:和差分一样,用前缀和的思想来处理解(操作后的树上,任意节点的糖果数 是通过所有与其相连的子节点的和 以及该节点在差分数组里的值 得到的(df阅读全文
posted @ 2018-09-29 23:21 15owzLy1 阅读(14) 评论(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2486 轻重链剖分后,问题转化为一个链上的问题; 线段树维护区间内的颜色段数量,左端点、右端点的颜色; 线段树注意事项 { 合并时判断两个区间的相邻端点是否相同; 查询时同上,但要注意是否两段是不是都在查询区间内; la阅读全文
posted @ 2018-09-29 19:38 15owzLy1 阅读(17) 评论(0) 编辑