随笔分类 - 数据结构
摘要:Dancing Links 本周的AI引论作业布置了一道数独 加了奇怪剪枝仍然TLE的Candy?不得不去学了dlx dlxnb! Exact cover 设全集X,X的若干子集的集合为S。 精确覆盖 是指,选择一个S的子集S‘,满足X中的每一个元素在S’中恰好出现一次。 是一个NPC问题。 可以表
阅读全文
摘要:K D Tree 学习笔记 最近看了一下k NN然后它说如果特征空间维数比较低的时候用K D Tree来求k近邻比较快所以就来补一下学OI时没学的K D Tree假装写一个学习笔记吧。 是什么? 是一个平衡二叉树 k=1的时候就是一只BST k 1的话,每一层换一维来分割 就是用许多垂直坐标轴的超平
阅读全文
摘要:数据结构复习1 线段树、主席树、平衡树、树链剖分 update【2018.7.23】 我放弃指针版的了它欺负我呜呜呜 线段树 标记 多个标记考虑优先级 满足区间加法就可以用线段树 主席树 细节: x和y是节点编号,所以是root[i]不是i 每次复制原来的节点,再新建 平衡树 Treap 满足平衡树
阅读全文
摘要:CF719E. Sasha and Array 题意: 对长度为 n 的数列进行 m 次操作, 操作为: 1. a[l..r] 每一项都加一个常数 C, 其中 0 ≤ C ≤ 10^9 2. 求 F[a[l]]+F[a[l+1]]+...F[a[r]] mod 1e9+7 的余数 矩阵快速幂求斐波那
阅读全文
摘要:【LGR 049】洛谷7月月赛 比赛开始一个小时才想起来QwQ,当场写了ABC A : " P4752 Divided Prime" 日常送分题 注意只留一个非1数判他是不是质数 B : " P4753 River Jumping" 题意:有跳跃距离下限,求能否经过所有石头恰好一次跳一个来回 贪心
阅读全文
摘要:"BZOJ4668: 冷战" 题意: 给定 n 个点的图。动态的往图中加边,并且询问某两个点最早什 么时候联通,强制在线。 ~~还可以这样乱搞~~ 并查集按秩合并的好处: 1. 深度不会超过$O(\log n)$ 2. 树的结构保持较稳定 虽说连边的时候依旧是祖先来连边,但连边不会改变原来的结构,并
阅读全文
摘要:做题笔记 1 hzwer 数据结构杂题选讲(14/16) 偷了一个题表来做,当做康复训练了23333 "代码在这里" 【2018.7.3】 1. CF140C 贪心、排序 2. CF519B 离散化 / 排序 3. CF650A 排序 (注意比较函数写法不好会导致sort死掉) 4. CF466C
阅读全文
摘要:"E. Tourists" 题意: 无向连通图 : 表示 a 城市的纪念品售价变成 w。 : 表示有一个游客要从 a 城市到 b 城市,你要回答在所有他的旅行路径中最低售价的最低可能值。 $1≤n,m,q≤10^5,1≤w_i\le10^9$ 显然一个点双连通分量中想去任何点都是可以的。 那么bcc
阅读全文
摘要:"UOJ Round 15" 大部分题目没有AC,我只是水一下部分分的题解... 225 "【UR 15】奥林匹克五子棋" 题意:在n m的棋盘上构造k子棋的平局 题解: 玩一下发现k=1, k=2无解,然后间隔着,上下两行相同: 这样构造下来就行了。 然后要 特判n=1 或 m=1 ,这时候k=2
阅读全文
摘要:"Dynamic GCD" 题意:一棵树,字词树链加,树链gcd 根据$gcd(a,b)=gcd(a,a b)$ 得到$gcd(a_1, a_2, ..., a_i) = gcd(a_1, a_1 a_2, a_2 a_3,...)$ 同时维护原序列和差分序列就行了 无脑树剖,分成几段。不需要轻儿子
阅读全文
摘要:"4546: codechef XRQRS" 可持久化Trie codechef上过了,bzoj上蜜汁re,看别人说要开5.2e5才行。 cpp include include include include include using namespace std; typedef long lon
阅读全文
摘要:"D 区间求和" 题意:求 $$ \sum_{k=1}^n \sum_{l=1}^{n k+1} \sum_{r=l+k 1}^n 区间前k大值和 $$ 比赛时因为被B卡了没有深入想这道题 ~~结果B没做出来后面的题也没做~~ 化一下式子 $$ \begin{align} &= \sum_{l=1}
阅读全文
摘要:"CF798E. Mike and code of a permutation" 题意: 排列p,编码了一个序列a。对于每个i,找到第一个$p_j p_i$并且未被标记的j,标记这个j并$a[i]=j$。给出a求一个可行的p,保证有解。$n \le 500000$ "官方题解很详细" 令$b(i)
阅读全文
摘要:"4869: [Shoi2017]相逢是问候" 题意:一个序列,支持区间$a_i \leftarrow c^{a_i}$,区间求和。在模p意义下。 类似于开根操作,每次取phi在log次后就不变了。 不互质怎么办? 我才知道, $$ n^x \equiv n^{x \mod \varphi(p)\
阅读全文
摘要:"4822: [Cqoi2017]老C的任务" 练手速... cpp include include include include using namespace std; typedef long long ll; const int N = 1e6+5; inline int read() {
阅读全文
摘要:"4826: [Hnoi2017]影魔" 题意:一个排列,点对$(i,j)$,$p=max(i+1,j 1)$,若$p 一个点对只有唯一的最大值$p$ 可以按照$p$来分类统计 单调栈预处理$l_i, r_i$第一个大于的位置 $(li,\ ri)$这个点对贡献p1 $(l_i,\ i+1...r_
阅读全文
摘要:"4825: [Hnoi2017]单旋" 题意:有趣的spaly hnoi2017刚出来我就去做,当时这题作死用了ett,调了5节课没做出来然后发现好像直接用lct就行了然后弃掉了... md用lct不知道好写到哪里去了1h就写完了 原树的父亲孩子可以直接维护 cpp include include
阅读全文
摘要:" 207. 共价大爷游长沙" 题意:一棵树,支持加边删边,加入点对,删除点对,询问所有点对是否经过一条边 一开始一直想在边权上做文章,或者从连通分量角度考虑,比较接近正解了,但是没想到 给点对分配权值 所以没做出来 题解的后两种做法说的很清楚了,我用了第二种~~因为我没写过lct维护子树信息~~
阅读全文
摘要:" 274. 【清华集训2016】温暖会指引我们前行" 题意比较巧妙 裸lct维护最大生成树 cpp include include include include using namespace std; typedef long long ll; define lc t[x].ch[0] def
阅读全文
摘要:"洛谷4月月赛R2" 打酱油... A. "koishi的数学题" 线性筛约数和就可以$O(N)$了... cpp include include include include include include using namespace std; typedef long long ll; c
阅读全文