01 2018 档案

摘要:JSZX Winter Camp Day 3 爆零记 emmmm蒟蒻的我爆零啦!!T1码了个dijikstra然后T了,正解为Floyd。T2蒟蒻并不会,唯一会的只有暴力。。T3写了个Trie然后MLE了,然而正解是 哈希。T4是蒟蒻唯一一道会的,然而却忘了开long long。手动GG。。 <T1 阅读全文
posted @ 2018-01-31 21:44 Konnyaku 阅读(245) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-01-31 19:29 Konnyaku 阅读(4) 评论(0) 推荐(0)
摘要:存一波重载运算符 只包含加,减,乘,还有快速幂。。 压位代码: #include<cstdio> #include<cstring> #include<algorithm> #define ll long long #define maxn 10000 struct overload{ ll a[5 阅读全文
posted @ 2018-01-29 20:50 Konnyaku 阅读(190) 评论(0) 推荐(0)
摘要:Luogu U18740 古墓丽影 题意概括:以某个点为根时,其他每个点到它的距离*它的点权的和的最小值。 这题是带权重心的裸题。 DFS即可。 #include<cstdio> #include<iostream> #include<algorithm> #define ll long long 阅读全文
posted @ 2018-01-29 20:41 Konnyaku 阅读(207) 评论(0) 推荐(0)
摘要:Luogu U18738 题意:有n个人来分工命题m个问题,给每道题一个难度值,每个人出一道或两道题,若人员充足,可以有一些人不出题。求在满足条件的方案中, 使得对于所出题目难度之和最大的那个人,这个难度之和最小。 思路:对这个序列排序,若命题人的数量大于题目数量,那么每个人可以只出一道题,那么答案 阅读全文
posted @ 2018-01-29 20:13 Konnyaku 阅读(98) 评论(0) 推荐(0)
摘要:BZOJ 3647——可持久化并查集加强版 不会可持久化并查集先去做http://www.cnblogs.com/Fish-/p/8242582.html. 幼稚的以为直接交原来的就好了,结果T了! 加个路径压缩,but一直RE,请了几位大神还是解决不了。。所以先留个坑。。 阅读全文
posted @ 2018-01-21 18:04 Konnyaku 阅读(259) 评论(0) 推荐(0)
摘要:网络流.Dinic 定义: 源点:只有流出去的点汇点:只有流进来的点流量:一条边上流过的流量容量:一条边上可供流过的最大流量残量:一条边上的容量-流量 性质: 对于任何一条流,总有流量<=容量 ∑p∈Ek[p][u]==∑q∈Ek[u][q](其中k[i][j]表示i到j的流量) 对于任何一条有向边 阅读全文
posted @ 2018-01-21 18:00 Konnyaku 阅读(219) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-01-21 17:55 Konnyaku 阅读(3) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-01-21 17:54 Konnyaku 阅读(7) 评论(0) 推荐(0)
摘要:Codeforces Round 36 蒟蒻的我并没有参加contest,比赛后打的,目前只写了4道题QWQ。 A.Garden 这这这真的就是一道水题 <题意概括> 给定n个水桶的数值,求在这n个水桶中能整除K的最大的数值。1<=n,k<=100. 直接枚举,因为只有一百,取最大的数。 Code 阅读全文
posted @ 2018-01-18 20:30 Konnyaku 阅读(167) 评论(4) 推荐(0)
摘要:BZOJ 3673——可持久化并查集by zky 不同于普通并查集的是 可持久化并查集是在主席树上实现的, 原理与普通并查集一样。 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #define 阅读全文
posted @ 2018-01-12 17:58 Konnyaku 阅读(155) 评论(0) 推荐(0)
摘要:BZOJ 2152 Luogu 2634——聪聪可可 题意 求两点之间路径和为3的倍数占的概率(最简) 解题思路与BZOJ1468差不多, 不过本题在计算经过某个点的次数时用了个ans数组, 对路径长度模3,得到的是0或1或2,但仍需要去重。 返回的值应是ans[0]*ans[0]+ans[1]*a 阅读全文
posted @ 2018-01-12 17:43 Konnyaku 阅读(152) 评论(1) 推荐(0)
摘要:Doubling Algorithm——倍增算法 是一种可以优化时间复杂度的神奇的算法,可以用它来求LCA等等。 基本思想: deep[i] 表示 i节点的深度, fa[i,j]表示 i 的 2^j (即2的j次方) 倍祖先,那么fa[i , 0]即为节点i 的父亲, 然后就有一个递推式子:fa[i 阅读全文
posted @ 2018-01-12 16:53 Konnyaku 阅读(314) 评论(1) 推荐(0)
摘要:Luogu 3203 BZOJ 2002——弹飞绵羊 题意概括 给定一个序列,有N个装置,绵羊在不同 其实就是个裸LCT。 从i能跳到i+k即可以理解为i到i+k之间有一条连边 修改操作即断边然后连边。 在查询时只需要把要出发的点成为原树的根,然后访问n+1,把n+1splay到根,然后结果就在n+ 阅读全文
posted @ 2018-01-12 16:52 Konnyaku 阅读(140) 评论(1) 推荐(0)
摘要:BZOJ 1468——tree 点分治思想,处理一些树上路径问题中的高效算法。 重心——作用是可以优化时间复杂度,使递归的层数最少。 重心就是以某个点为根且这个点的子树最大值是最小的。 找重心的基本思路: dfs求得每一个点的最大子树Maxsize,用数组记录下来, 判断这个值是否比当前根的Maxs 阅读全文
posted @ 2018-01-12 16:42 Konnyaku 阅读(195) 评论(1) 推荐(0)
摘要:BZOJ 10628 Luogu2633——count on a tree 题意:查询一定区间内第K小的点权。 由于有lastans所以强制在线,这道题就相当于树上的主席树, 树链剖分+主席树,主席树相比普通主席树有一丢丢的改变, root[i]不再是指向root[i-1],而是指向它在树上的父亲, 阅读全文
posted @ 2018-01-09 20:08 Konnyaku 阅读(216) 评论(1) 推荐(0)
摘要:Mo's Algorithm——莫队算法 <一个优雅的暴力算法> 主要题型分为三种,不带修改莫队,带修改莫队,树形莫队。 <最最最最最普通的莫队> 莫队算法实质是离线情况下对所有即将要查询的区间进行一次美妙的sort(以L为第一关键字,R为第二关键字),然后用 两个指针L,R,在区间上用看似暴力的方 阅读全文
posted @ 2018-01-07 15:51 Konnyaku 阅读(378) 评论(0) 推荐(0)
摘要:Segment Tree——线段树 线段树是一种二叉搜索树,它将一个单元划分为几个单元,实际应用是应开4*N空间防止越界。 线段树中的节点可以用来存区间和,区间最小值,最大值都可以。 图中的栗子就是对于数组[2,5,1,4,9,3]中维护区间最小值。 当线段树为叶子节点时,它其实就是原数组中的一个元 阅读全文
posted @ 2018-01-03 21:06 Konnyaku 阅读(267) 评论(1) 推荐(0)
该文被密码保护。
posted @ 2018-01-02 20:23 Konnyaku 阅读(3) 评论(0) 推荐(0)
摘要:<范浩强treap>-函数式平衡树 范好强treap是一种毒瘤treap,它并不用通过旋转来达到平衡,它主要有两种操作: merge(x,y):将x的子树和y的子树合并起来;{注意:merge操作中,x子树中的最大值永远会小于等于y子树中的最小值 所以在merge的过程中只需要考虑随机值,而不需考虑 阅读全文
posted @ 2018-01-02 19:24 Konnyaku 阅读(216) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-01-01 21:55 Konnyaku 阅读(2) 评论(0) 推荐(0)
摘要:树状数组套主席树 树状数组的每个节点维护的是一段区间,我们将每个区间构造成一棵线段树,这时候如果我们要修改一个值,只需要修改logn个节点即可, 时间复杂度为log^2(n),树状数组维护的区间是数的个数n;离散化时是把所有数(包括要修改的数)全部离散化; 1.修改 在修改之前,我们应先把序列里原来 阅读全文
posted @ 2018-01-01 21:17 Konnyaku 阅读(197) 评论(0) 推荐(0)
摘要:可持久化线段树-主席树 主席树又称函数式线段树,顾名思义,就是通过函数实现的,也称可持久化线段树,支持在线处理,可以访问历史版本,后一刻可参考前一刻的状态,充分利用共同数据, 节省空间;主席树可以实现查询区间k小的问题等; 主席树的每个节点对应一棵线段树,对于一个序列,我们采用前缀和的思想,如a[1 阅读全文
posted @ 2018-01-01 16:37 Konnyaku 阅读(129) 评论(0) 推荐(0)
摘要:emm接下来讲讲splay,个人比较喜欢splay,其主要操作就是伸展旋转,它的应用比较广泛,对于一个有序序列,它可以实现区间翻转,还可以求区间第k大。 splay的核心操作-旋转(本人的旋转可能与一般旋转有点不一样): 通过上图两种旋转我们可以发现一点点规律:若要rotate(x),先获取x为该父 阅读全文
posted @ 2018-01-01 15:57 Konnyaku 阅读(254) 评论(0) 推荐(0)
摘要:TREAP treap(树堆)是指有一个随机附加值满足堆的性质的二叉搜索树,基本操作期望时间复杂度为O(logn),相比于其他平衡树,treap实现较简单,且能实现随机平衡。 在这里我就讲下小根堆的treap(大根堆一样),treap在SBT的性质上还附加了一个随机值(优先级),小根堆的话,当前节点 阅读全文
posted @ 2018-01-01 14:48 Konnyaku 阅读(220) 评论(0) 推荐(0)
摘要:Link Cut Tree 其实本人觉得LCT对于已经学过树剖与Splay的大佬是很容易理解接受的; LCT是有树链与Splay结合而成的动态树;什么是动态树呢,就是维护森林的联通性的总称; 先介绍一些概念: 1.prefered child:最后被它的点在x的儿子p节点的子树中,那么p为x的偏爱子 阅读全文
posted @ 2018-01-01 14:11 Konnyaku 阅读(196) 评论(0) 推荐(0)