上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页
摘要: 题面 最普通的$O(n\log^3 n)$做法,普通的线段树套无旋树堆。然后无旋树堆似乎常数比较大,T了两个点总之没Splay大,懒得卡了,反正现在也没有会出这种二逼题的出题人 简单说一说树套树,因为可能第一次做不太好理解这个概念,其实说起来比较简单:以我写的这个线段树套平衡树为例,因为题目要我们维 阅读全文
posted @ 2018-11-26 17:23 Speranza_Leaf 阅读(214) 评论(0) 推荐(0)
摘要: 题面 其实就是在Merge和Split的时候换成新建节点,然后把原来的节点整个拷到新的节点一份继续做 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int N=5 阅读全文
posted @ 2018-11-24 09:21 Speranza_Leaf 阅读(139) 评论(0) 推荐(0)
摘要: 题面 瞎学了一下CDQ分治:大概算是一种思想,在分治时考虑一侧对另一侧的贡献,只能离线,如果有修改要求修改操作对询问的贡献独立,且修改之间互不影响 然后什么先按第一维排好序,之后分治中每层再按第二维排序,一边归并一边用权值树状数组统计第三维,注意一开始要去重 1 #include<cstdio> 2 阅读全文
posted @ 2018-11-24 09:19 Speranza_Leaf 阅读(134) 评论(0) 推荐(0)
摘要: 题面 首先是愉快的推式子 $dp[i]=max(dp[i],\frac{sum[i]-sum[j-1]}{x[i]+(i-j)*d})(1<=j<=i<=n)$(考虑有一只僵尸正好走到门前被打死,这样最优) 然后发现这个玩意好像和平时的斜率优化不太一样,好像这个式子自己就是一个斜率,我们把它分成和$ 阅读全文
posted @ 2018-11-23 11:53 Speranza_Leaf 阅读(144) 评论(0) 推荐(0)
摘要: 题面 搞了一晚上斜率优化,大概懂了一点,写写 原来常用的优化dp方法:做前缀和,预处理,数据结构维护 现在有转移方程长这样的一类dp:$dp[i]=min(dp[i],k[i]*x[j]+y[j]+c[i]+a)$,其中$c[i],k[i],x[j],y[j]$都是关于$i$或者$j$的变量,在$i 阅读全文
posted @ 2018-11-22 22:06 Speranza_Leaf 阅读(124) 评论(0) 推荐(0)
摘要: 题面 几乎把我送退役的一道题,留在这里做个纪念。 考场看出来是原题结果为了求稳强行花了一个小时写了80pts暴力,然后挂了55pts(真·暴力写挂),结果今天花了不到半个小时连想带写一遍95pts(T一个菊花图的点),淦,想想就气,A了就HE rank3了(434->509)(算了反正你太菜了当时不 阅读全文
posted @ 2018-11-20 20:55 Speranza_Leaf 阅读(263) 评论(0) 推荐(0)
摘要: 题面 滚下去补学考之前更一发 基于可持久化线段树实现(我不很喜欢“主席树”这个名字),注意不能路径压缩,首先这与可持久化的思想冲突(即尽量利用之前已有的部分,只修改有修改的部分,路径压缩压完了岂不是gg),其次每次压缩还会有一个log的时间复杂度(查询),然后复杂度就是$O(n\log n)$的 1 阅读全文
posted @ 2018-11-20 15:51 Speranza_Leaf 阅读(128) 评论(0) 推荐(0)
摘要: 题面 学习了如何在维护序列的平衡树上查找某个数:按初始的顺序定个权值,然后每次找那个权值的DFS序即可。具体实现就是不停往上跳,然后是父亲的右儿子就加上父亲的左儿子,剩下的就是继续熟悉无旋树堆 1 #include<cstdio> 2 #include<cstring> 3 #include<alg 阅读全文
posted @ 2018-11-16 21:16 Speranza_Leaf 阅读(137) 评论(0) 推荐(0)
摘要: 题面 并查集维护连通性,然后暴力启发式合并就完了,记得合并时边DFS边清空数组 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int N=100005; 6 in 阅读全文
posted @ 2018-11-16 21:13 Speranza_Leaf 阅读(156) 评论(0) 推荐(0)
摘要: 题面 跟i207M学了学重载运算符后找前驱后继,然后就是练练无旋树堆 1 #include<map> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 #include<iostream> 6 #include<algorithm 阅读全文
posted @ 2018-11-16 21:09 Speranza_Leaf 阅读(115) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页