把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 45 下一页
摘要: 题面传送门 一种奇奇怪怪的rmq做法。依赖于数据随机。 首先对序列分$S$块,然后处理块内前后缀$\max$,处理块间st表。 然后查询的时候块间$st$表$O(1)\(查询,零散块前后缀\)\max$查询。可以做到$O(1)$ 但是有一个问题就是在同一块中没法做。只有暴力。 但是数据随机所以落到同 阅读全文
posted @ 2021-04-10 22:28 275307894a 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 蛮好的一道dp题。 显然设$dp_i$为到$i$的方案数。设$f(l,r)\(为\)[l,r]$区间内出现一次的个数,那么有方程$dp_i=\sum\limits_{f(j+1,i)\leq k}$ 这样是$O(n^2)$的看上去没法优化。 考虑数颜色的套路就是维护前面最近的。设其为$p 阅读全文
posted @ 2021-04-10 21:28 275307894a 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 不得不说原题数据是真的水,先是一个负号没打,然后数据范围看错还过。 首先为了确保一定的单调性,要把所有边按开始时间排序。这个可以用桶排。 然后设$dp_i$为走了第$i$条边最小的烦躁值。 那么显然有方程式$dp_i=\min\limits_{dp_j+A(p_i-q_j)2+B(p_i 阅读全文
posted @ 2021-04-10 19:35 275307894a 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 还好的一道题吧。 首先显然可以状压dp 然而我们发现我们根本不需要知道这个的具体的情况,换而言之,两列交换对是否可以没有影响。 所以我们可以设$f_{i,j,k}$为$i$行$j$个列$1$个,$h$个列两个,转移时分类讨论一下即可。 时间复杂度$O(nm^2)$ code: #incl 阅读全文
posted @ 2021-04-09 22:29 275307894a 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 sin和看上去很难维护。 但是如果你上过高一(大概?)的和差角公式就可以很轻松地解决。 \(\sin(a+x)=\sin a\cos x+\sin x\cos a\) \(\cos(a+x)=\cos a\cos x-\sin a\sin x\) 写个结构体就可以用线段树维护了。 时间复 阅读全文
posted @ 2021-04-09 21:07 275307894a 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这种东西显然不太好做。 所以考虑使用万能的分块。 对询问分块,每$k$个一块,然后我们发现,对于每个块中只有$\frac$条边被修改,所以可以暴力加入并查集。 然后对于每个块将询问和不被修改的边都按边权排序然后尺取出相应的边计入并查集即可。算完联通块大小以后要回退。 $k$取$\sqrt 阅读全文
posted @ 2021-04-09 20:41 275307894a 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 用SA做起来是很妙的一道题可惜我不会 智商不够可以拿自动机来凑。 反向建立SAM,则每两个后缀的lcp就是lca。 对于每个节点用子树合并。注意有负数所以要存最大和最小值。 然后后缀和一遍即可。 时间复杂度$O(n)$ code: #include<cstdio> #include<al 阅读全文
posted @ 2021-04-06 20:44 275307894a 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题面概述:给定$s$序列,满足对于所有$1\leq i<n$,\(s_i\leq s_{i+1}\),求$\sum\limits_{\sum\limits_{\lfloor\frac{L(s_i-s_j)}\rfloor}}$ 然后你会发现一个很有趣的数据范围:\(s_i\leq 10^ 阅读全文
posted @ 2021-04-06 19:35 275307894a 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 很妙的一道题啊。 这道题看上去很不可做。 然而我们发现$a_i\leq 70$ 然后我们又发现一些数的乘积为完全平方数那么所有质因数的次数都是$2$的倍数。 那么我们可以把所有质因数状压起来扔到线性基里。 线性基外面的全部都是能表示的。 设线性基内元素个数为$cnt$,则答案为$2^-1 阅读全文
posted @ 2021-04-05 16:25 275307894a 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 完全没有紫题难度吧qwq 看到时间这么小考虑枚举最后的结束时间,那么维护两个前缀和分别表示前后能要换的天数然后分类讨论即可。 但是还要开ull是没有想到的。 时间复杂度$O(n)$ code: #include<cstdio> #define ull unsigned long long 阅读全文
posted @ 2021-04-05 13:47 275307894a 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 居然一遍过我太惊讶了。 首先,题目中那个期望是假的,实际要求出现次数。 然后你会发现对于一个$x$,答案不会超过$\frac$ 那么总的答案就是$O(nlogn)$ 你会发现这个$n$其实和$m$不同阶,这个$n$甚至两个log都可以过。 如果我们对于每一个答案的增加然后树状数组维护一下 阅读全文
posted @ 2021-04-05 13:05 275307894a 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这个可真的难写,几个月前就想出来怎么做了直到今天才花了3个小时写掉。 首先显然可以树套树优化建图达到$O(nlog^2n)$的时空复杂度。 但是发现这个居然卡空间。 所以我们可以不把边建出来而模拟dijkstra的过程。 我们只需要维护三个操作:删除一个点,给一个区间取$min$,求全局 阅读全文
posted @ 2021-04-04 22:16 275307894a 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 什么时候ZJOI能像SHOI那样啊qwq 显然一个凸包转了一圈,每个转弯的地方都是圆弧,所以直接把圆弧扔了求圆心凸包然后加上一个圆的周长即可。 然而这道题是真的坑。 首先是先读入竖直再水平,然后还有精度问题。 code: #include<cstdio> #include<cmath> 阅读全文
posted @ 2021-04-04 18:57 275307894a 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 鸽了大半个月了回来补掉了这道题。 按照坐标轴排序的比极角序不知道好写多少啊。 首先按照$x$为第一关键字,$y$为第二关键字排序。 然后用叉积判断当前栈内的点和要入栈的点的位置关系,如果顺时针就弹掉。 然后这样可以构造出下凸壳。再来一遍构造上凸壳即可。 code: #include<cs 阅读全文
posted @ 2021-04-03 22:36 275307894a 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 不得不说这题是真的暴力。 我们发现这个东西不是NTT模数很难搞怎么办呢? 我们联想到万能的FFT,这个东西不需要模数。 但是中间不能取膜,实际上答案会大于longlong 那么我们可以把它拆开。拆成$a\times 2^{15}+b$的形式就可以做了。 然后我们其实要求这个东西$a_1b 阅读全文
posted @ 2021-04-03 16:03 275307894a 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 写了一个晚上才写完+调完,AC那一刻感觉神清气爽。 询问某一个串在另一个串内出现了几次想到AC自动机,但是因为强制在线而AC自动机无法动态更新fail树所以考虑SAM 然后发现我们只要动态维护LCT虚子树大小即可。 然而虚子树大小其实挺难维护的,所以可以改成每个点的链加。 时间复杂度$O 阅读全文
posted @ 2021-04-02 22:11 275307894a 阅读(38) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-04-02 21:59 275307894a 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-04-02 21:59 275307894a 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-04-02 21:58 275307894a 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 考试时写树套树结果没写完一分没有。靠暴力水了$20$分。 首先肯定要$b,d$分开讨论。 如果$b>d$显然先将所有$a$插入字典树然后把$(c,d)$这一组拿去查即可。 考虑$b<d$怎么做。发现如果将$c$插入,$(a,b)$当做询问插入其实是一样的,所以先将每个二元组插进去然后查询 阅读全文
posted @ 2021-04-01 20:37 275307894a 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 在看这篇题解之前你需要先掌握的知识是:二项式定理,拉格朗日插值,强大的推式子能力 我们定义$g(n)$为$n$在二进制表达下$1$的个数。 我们要求的就是这样一个式子$\sum\limits_{f(i)\times (g(i)\bmod 2)}$ 考虑这个东西其实不是很好搞,对其进行扰动 阅读全文
posted @ 2021-03-28 16:41 275307894a 阅读(81) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-03-26 20:30 275307894a 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 实际上是一种类似于分治的思想求第$k$小子串。 首先构造好SAM。 用拓扑排序预处理出每个节点走下去会碰到多少个子串。 然后对于当前的第$k$大子串,我们从小往大枚举,然后看看能不能走下去即可。 时间复杂度$O(Tn)$ code: #include<cstdio> #include<c 阅读全文
posted @ 2021-03-26 20:02 275307894a 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 先来考虑两个字符串的最长公共子串怎么求。 考虑SAM有一个性质:源点到任意点的任意路径都是原串的一个子串。 这个性质就可以搞了。 首先对于第一个串建立AC自动机,然后让第二个串在第一个串上跑匹配。 这样就可以计算答案了。 但是对于多个串怎么办呢? 可以在每个节点上都对于每个串计算答案并取 阅读全文
posted @ 2021-03-25 20:31 275307894a 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 统计后缀间的LCP自然想到要用SAM做。 那么就是求两点间lca的深度。 容易发现枚举$lca$然后统计子树间信息即可。 但是这个东西是每次$O(n)$dfs一遍算贡献。如果卡卡能卡到$O(nm)$ 对于这个一个套路就是建立虚树。 时间复杂度$O(nlogn+mlogn)$ code: 阅读全文
posted @ 2021-03-25 18:56 275307894a 阅读(24) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 45 下一页
浏览器标题切换
浏览器标题切换end