12 2017 档案
摘要:...日后会慢慢补(flag!)先来讲讲基本的 一.字符串Hash 将字符串用一个数表示,常用的写法有: 1.自然溢出 2.单Hash 3.双Hash 前两个会被精心构造的串卡掉,最后一个虽然目前卡不掉,但是出题人可以卡你常数。 所以这个算法很Naive?不是的 我们来看一道题 bzoj1014 用
阅读全文
摘要:高老师让我更我就更了...一道一道看吧 1.ZJU 3201 Tree of Tree 给出一棵N个点的无根树,每个节点都有对应的权值现要求你找出一棵K个节点的子树,使得这个子树上的权值和最大 题解:dp[v][i]表示以v为根下的子树选i个点的最大权值和,做一下背包就可以了 代码源网侵删 (ZOJ
阅读全文
摘要:bzoj2616 放一个车的时候相当于剪掉棋盘的一行,于是就可以转移了,中间状态转移dp套dp,推一下即可 bzoj2878 环套树期望dp 手推一下递推式即可 bzoj3295 树状数组套权值线段树 NOI2002贪吃的九头龙 多叉转二叉 水过 bzoj1495 方程就是f[i,j,k]表示以i为
阅读全文
摘要:bzoj4864 Splay乱搞 bzoj3669 正解LCT,考虑上下界的spfa可过 bzoj3668 位运算 暴力 bzoj3670 KMP DP bzoj3671 含有最小的一个数的路径一定比不含的优 贪心 bzoj1564 按数值排序,就得到了那个Treap的中序遍历,用dp(l,r,k)
阅读全文
摘要:整理一些不太过分的卡常数技巧 1.bzoj4574 ZJOI2016:确定数据不会爆longlong的情况下把所有东西都开成longlong最后取模 2.O2下取模优化(一堆题) 3.前置++ 4.不要开bool 开char/int
阅读全文
摘要:滚回来更新,,, 在Day1我们学了最基本的线段树套平衡树 Day2开始我们要学习一些黑科技 (所以很大概率会出现Day3 w 1.线段树上的黑科技 这一段我们分几项来讲 1.权值线段树 权值线段树以权值为下标建树(就像求逆序对时用的树状数组),一开始所有节点都为0,通过线段树的区间极值,区间和来表
阅读全文
摘要:树套树Day2暂且搁置...因为Day1的题我各种不会做... 唯一过了一道还是整体二分过的... 我们来一点愉快的算法,先不考虑数据结构这种骚东西了 毕竟还在发烧,就先码码这几天在搞的点分治吧 hx你又挖一个大坑赶紧去填树套树 点分治用于解决“树上路径点权统计问题” ...讲不太清楚,大家可以直接
阅读全文
摘要:背诵全文 #include<complex> #include<vector> #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define C complex<do
阅读全文
摘要:您需要写一种数据结构,来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数) 应xgy的邀来码树套树了...今天或许能码完这一
阅读全文
摘要:吉老师的题还真是难呢... 正解至今不会,只会平衡树的做法 这种用平衡树上一个点表示一段区间的题还真要做做...想起来挺难受的 建n棵平衡树表示每行的m-1个元素 再建一棵平衡树维护最后一列 中间要支持一个split操作,就是把[l,r]分成[l,x-1],x,[x+1,r]三部分,很好做 相比于b
阅读全文
摘要:考场上未曾光顾的一道题... 结果回来20min想出方程1hA掉了 我是真的蒻,Orz机房里其他的各位dalao 图上dp 两遍spfa(我写的dijkstra)判断一个点对答案的贡献 然后随便dp一下 零环在dp的时候单独处理一下,如果访问过一个点又访问回来了且目前超过的长度没变就是零环 然后就轻
阅读全文
摘要:暖气来啦~ 动态树维护最大生成树裸题 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; in
阅读全文
摘要:打脸了...Splay其实有两种用法,第一个是常数奇大的平衡树 而第二个就厉害了,Splay可以对区间进行操作 具体是怎么个意思呢,我们来看这样一件事情 对于一个数列,我们用Splay维护它的下标 然后我们进行下面的Split操作 1.将l-1旋转到根 2.将r+1旋转到l-1的右儿子 令a为r+1
阅读全文
摘要:树剖,也被称作“静态树”是用线段树维护树上每条链的信息 而Link-Cut Tree用Splay森林维护树上的动态信息 先明确几个定义 1.重儿子 这里指推广之后的重儿子,满足I,II两条性质 I:重儿子和它的父亲在同一棵Splay中 II:一个节点最多有一个重儿子 2.重边 连接重儿子和它父亲的边
阅读全文
摘要:听说zkw比KM跑稠密图快很多 过来学习一个zkw继线段树后又一神作——zkw费用流 (虽然zkw线段树我还只会打模板orz) 其实就是利用了最短路的性质 dis[u]<=val(u,v)+dis[v] 当u在最短路上的时候取等号 修改dis值,即是将所有在增广路上的点u的dis加上一个delt,
阅读全文

浙公网安备 33010602011771号