离线算法
文章平均质量分 50
Freopen
这个作者很懒,什么都没留下…
展开
-
矩阵乘法(梁 盾) 题解 整体二分
#include#include#include#include#define maxn 500005using namespace std;int n,q,a[606][606],id,len,cnt_q;int seq[maxn],b[maxn],ans[maxn],t[605][605],tmp[maxn];struct node{ int u,d,l,r,idx,n原创 2017-12-26 13:25:27 · 336 阅读 · 0 评论 -
无删除莫队与二次离线莫队
大佬博客无删除莫队:没打过但是可以拿来凑数。不就是用可回退化(你一定需要看一看[十二省联考2019]希望)的莫队来。。。。skip。二次离线莫队:一开始看是ynoi的题以为没有啥可拓展性。然后看了上面那位大佬的博客才发现这个方法大有可为。莫队实际上是把O(m)O(m)O(m)个询问拆分成O(nm)O(n\sqrt m)O(nm)个询问的离线算法。那么每个(标准的)莫队可以分成3...原创 2019-06-29 19:41:36 · 606 阅读 · 0 评论 -
两端取数游戏的高效解法与随机情况下的特殊变式(博弈论?贪心)
两端取数游戏:一个数列aaa每次只能取出两端的数,先后手互换。1.博弈版本:数字和大者胜,求先手必胜策略。首先在∣a∣≡1(mod2)|a| \equiv 1 \pmod 2∣a∣≡1(mod2)时是不一定赢的。比如:7 9 3 5 2可以发现先手是必输的。然后在2∣∣a∣\small2 \large| \small|a|2∣∣a∣时,可以选第一个,然后对方只能选第2或n个。发现...原创 2019-06-22 18:00:28 · 1111 阅读 · 0 评论 -
后缀数组SA-IS模板
SA-IS原创 2019-05-11 16:59:30 · 858 阅读 · 0 评论 -
BZOJ 2244: [SDOI2011]拦截导弹(三维偏序+BIT)
题目显然可以对时间CDQ分治,然后按高度排序,对速度用BIT维护前缀最大值。这样就可以算第一问。对于第二问。思维不要僵化。BIT可以在维护前缀最大值的同时维护方案数的。额。。。AC Code:#include<bits/stdc++.h>#define maxn 100005using namespace std;int n,h[maxn],v[maxn],sh...原创 2019-03-21 09:57:44 · 189 阅读 · 0 评论 -
BZOJ 4009: [HNOI2015]接水果(整体二分套二维偏序)
题目表示这种题好套路啊。原题如果注意到一条路径包含另一条路径,那么在dfs序上第一条路径的端点与第二条路径的端点是有一个偏序关系的。然后就变成了二分答案+三维偏序。因为可以离线,将二分答案和一维整合起来变成整体二分O(nlogn)O(n\log n)O(nlogn)。剩下两维就是一个二维偏序,排序后树状数组维护O(logn)O(\log n)O(logn)。一共O(nlog2n...原创 2019-03-20 22:25:01 · 157 阅读 · 0 评论 -
BZOJ 3295: Cqoi2011动态逆序对
题目凭吊我以前没过的3KB代码和现在的1.2KB代码,哎。题解:首先我们比起删除更喜欢插入,所以我们可以把m次删除操作倒过来看作m次插入操作。然后显然我们就需要求每次插入一个数,求出插入这个数增加了多少逆序对即可。(思路清晰)那么这就是一个动态二维数点问题直接上树状数组套主席树就结束了。可是这怎么1.2KB呢?考虑用CDQ分治。假设每个数的位置为aia_iai,数的大小为bib_...原创 2019-03-08 11:48:41 · 191 阅读 · 0 评论 -
高维莫队
对于n维的询问,将前n-1维值域按S的大小分块最后1维按1的大小分块,排序时,比较两个询问,从小到大,一维一维的,块编号小的放前,块编号大的放后,相等就看下一维。时间消耗是:(n-1)qS + Ln/Sn-1 (L代表询问值域)当S = (Ln/(n-1)/q)1/n时取到最小举例子:BZOJ 2639: 矩形计算L <= 200 , n=4,q=1000004维...原创 2018-11-02 17:12:08 · 445 阅读 · 0 评论 -
XXX speed
题目描述比特山是比特镇的飙车圣地。在比特山上一共有n 个广场,编号依次为1 到n,这些广场之间通过n-1 条双向车道直接或间接地连接在一起,形成了一棵树的结构。因为每条车道的修建时间以及建筑材料都不尽相同,所以可以用两个数字li、 ri 量化地表示一条车道的承受区间,只有当汽车以不小于li 且不大于ri 的速度经过这条车道时,才不会对路面造成伤害。Byteasar 最近新买了一辆跑车,他想在比...原创 2018-10-02 15:48:22 · 363 阅读 · 0 评论 -
HDU 6405 Make ZYB Happy
题意:给出n(n&lt;=10000)个字符串S[1~n],每个S[i]有权值val[i],随机等概率造一个由小写字母构成的字符串T,Sum = 所有含有子串T的S[i]的val[i]之积,求Sum的期望值。 广义后缀自动机模板题。 广义后缀自动机 这个题比较特殊的地方在于,它不能打了标记后整个自动机同时沿fail链上传标记,必须边打标记边上传,因为出现多次答案只算一次。那么就有人提出了疑问...原创 2018-08-16 19:25:29 · 424 阅读 · 0 评论 -
HDU 6356 Glad You Came
题意:给你一个函数,用这个函数得到m次区间取max的操作(减少输入),最后问每个点的值 点数n<=100000 , m<=5 * 1000000解法一:线段树打标记最后统一下放,复杂度O(mlogn + n),由于数据具有随机性,如果当前节点的标记大于现在要放的标记就不操作,O(实际可过)。 解法二:st表打标记最后统一下放,复杂度O(m + nlogn),注意到操作多节点少,...原创 2018-08-07 11:33:31 · 159 阅读 · 0 评论 -
HDU 6331 Walking Plan
题意:n个点的图,求s到t经过至少k条边的最短路。1<=n<=50 , 1<= k <=10000设恰好经过k条边的最短路为dis[k][i][j]预处理很容易,但是TLE发现dis[a+b][i][j] = min(dis[a][i][k] + dis[b][k][j])总是成立发现预处理时间复杂度过大,处理询问复杂度过小(O(1))考虑把复杂度移...原创 2018-07-31 13:19:46 · 197 阅读 · 0 评论 -
笛卡尔树
#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#define maxn 50005using namespace std;template <class T> inline void read(T &res){ char ...原创 2018-07-25 09:52:39 · 145 阅读 · 0 评论 -
雅礼集训Day4T1convex(O(1)删除恢复)
题意:有n个点的凸包,现在给出这n个点的一个排列,m次询问一段区间的点构成的凸包面积。n,m<=150000既然序列都给出来了,明显就是让你莫队。。。。。。但是插入一个点的复杂度是O(logn)的。。。。。。没有信仰过不了。考虑先把凸包建好,发现用数组表示双向链表的方法,删除一个点的复杂度为O(1)(凸包内没有别的点所以可以直接用双向链表维护)可是莫队中不仅有删除还有插入,可以不插入吗?当然...原创 2018-07-05 18:24:59 · 149 阅读 · 0 评论 -
BZOJ 4129: Haruna’s Breakfast
经典题目。分块还是有点用的,可以支持O(1)单点修改,O(sqrt(n))区间查询,我想反之亦然吧。AC code#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#include<cmath>#define maxn 100005#defi...原创 2018-04-12 10:21:45 · 190 阅读 · 0 评论 -
省选模拟Day6T2 开开车
开开车 ---------------- 从三角剖分的性质(不会有任意两条边在中间相交)入手,如果一条对角线将起点和终点分割开,那么起点到终点的路径中一定经过这对角线的一个端点。如果起点和终点在这条对角线的同一面,那么路径一定不会到对角线的另外一面上!那么我们可以找对角线,起点和终点在两侧则可以BFS出答案,否则递归,用分治的思想两边分均匀点可以做到O(nlogn)ACcode:#incl...原创 2018-03-09 22:59:35 · 207 阅读 · 0 评论 -
陌上花开(三维偏序)
模板题:三维偏序。一维CDQ一维离线排序解决一维树状数组。细节问题。这个题的偏序可以相等就很恶心。注意离线排序和CDQ还有树状数组都不能完美的解决有相等元素互相贡献的问题,只会由小标号贡献到大标号(视实现方式而定),这个可以事后用一个mapmapmap把相等的贡献加回去。但是不相等,因为是一层层剥开的偏序,所以在外层相等时,一定要让内层小的放外面。AC CodeAC\ Code...原创 2019-10-02 14:28:46 · 253 阅读 · 0 评论