ZROI 暑期高端峰会 A班 Day6 离线问题
FBI Warning:本文含有大量人类本质之一。
动态联通问题
允许离线。
模板,不讲了。
归并排序
%@)(#&%)++%($@)%!#(&%)(&@)))
主定理
U^(*#^\(!^*%(@&)(!#*()!@&!)@)%&()!()\)))))
快速排序
真·快速排序 \(O(n^2)\)(期望 \(O(n\log n)\))
由不等式 \(P(x\ge a)\le \frac{E(x)}{a}\)(实际上是个很松的上界),快速排序被卡到 \(\Omega(n^2)\) 的概率是 \(O(\frac{\log n}{n})\),基本不可能。
Median of medians
把序列分成五等份。对每一列排序。由于一列只有五个数所以不用管复杂度。
找到第三行的中位数,并放到中间的位置。把比中位数小的放前面,大的放右边。那么这个中位数左上角的肯定更小,右下角的肯定更大。
复杂度分析:\(T(n)=T(\frac{n}{5})+T(\frac{7}{10}n)+O(n)=O(n)\)。(???)
经典问题
两道简单模板,不讲了。
CF958E3
\(n\) 个红点,\(n\) 个黑点,保证互不相同,没有三点共线,求一个红点到黑点的完美匹配,使得匹配之间的连线互不相交。保证有解。
\(n\le 10^4\)
首先明显对于任意的$)&!@(都是有解的。证明不难。
然后……突然离线。
咕了。
CF429D
给 \(n\) 个数 \(a_i\) 求
\[
\min_{i<j}((j-i)^2+(\sum_{k=i+1}^ja_k)^2)
\]
\(n\le 10^5\)
把一个点看成 \((i,s_i)\),答案就是平面最近点对的距离。
\(O(n\log n)\)。
CF938G
如果没有删边,就是个 [WC2011]XOR 了。
有删边,线段树分治即可。
???
给定一棵树,求有多少个大小为 \(k\) 的点集 \(S\),使得存在一个点 \(u\),满足对于任意 \(v\in S\),有 \(dis(u,v)\le L\)。
\(n\le 10^5\)
发现对于一个点集,满足条件的 \(u\) 构成一个连通块,一定满足点数-边数=1。
那就可以对每个点计算多少个,对每条边计算多少个,加加减减就好了。
对于点怎么算呢?就是离他距离不超过 \(L\) 的中选正好 \(k\) 个的方案数。这个可以在点分树上跑,复杂度是 \(O(n\log n)\)。
边也差不多。建个虚点即可。
总复杂度 \(O(n\log n)\)。
CF1010F
Day 4 讲过。
[WC2014]紫荆花之恋
不管了。
动态区间第 \(k\) 大
整体二分模板。
???
给定一个有向图,支持动态加边,求每次加边后点对 \((u,v)\) 数,使得 \(u,v\) 可互达。
\(n,q\le 10^5\)
转化为求每条边,求什么时候 \((u,v)\) 开始可互达。
对于一条边可以二分,然后 tarjan 判一下。
对于所有边就要整体二分。如果是最暴力的,把 \(1\) 到 \(mid\) 的所有边放进去。复杂度炸了。
实际上由于是个分治,可以每次在前面已经缩起来的图的基础上,加边。
emmm……会意就好。
???
眼熟。
对于左边每个点维护最短路径树。
发现矩阵上每个点的父亲只有 \(3\) 中可能(左,上,下),而且肯定是逆时针旋转的。
所以边的变化数是 \(O(wh)\)。
然而……怎么判断要不要旋转呢?
分治。求出 \([l,r]\) 的所有最短路径树。
求出以 \(l\) 为起点和以 \(r\) 为起点的最短路径树。对于在这两棵生成树上都相同的边,肯定在 \([l,r]\) 中所有树上都出现。
否则递归求。
复杂度简单(???)分析一波发现是 \(O(wh\log w)\)。(最短路是个分层图,可以 \(O(wh)\) 求)
一些奇淫技巧
离线求逆元:普及组,不讲了。
树上分块+四毛子:(四毛子是啥???)
tarjan LCA:被 ST 表全面吊打也就没有那个预处理的 \(O(n\log n)\)。
ZROI 暑期高端峰会 A班 Day6 离线问题的更多相关文章
- ZROI 暑期高端峰会 A班 Day6 DP
[THUPC2018]城市地铁规划 (日常讲题之前 YY--) 一眼出 \(O(n^3+nk)\) 做法. \(dp[i][j]\) 表示前 \(i\) 个点,前 \(i\) 个点度数和为 \(j\) ...
- ZROI 暑期高端峰会 A班 Day2 线性代数
高斯消元 很普及组,不讲了 当主元没有逆的时候可以辗转相除. 如果也没有带余数除法--没救了 逆矩阵 我们定义矩阵 \(A\) 的逆矩阵为 \(A^{-1}\),满足 \(AA^{-1}=A^{-1} ...
- ZROI 暑期高端峰会 A班 Day3 图论
最短路 NOI2019 D2T1 弹跳 KD 树 线段树套set -> 线段树套并查集? POI2014/2015 ??? \(n\) 个点 \(m\) 条边 DAG.求删掉每个点后 \(1\) ...
- ZROI 暑期高端峰会 A班 Day4 生成函数
一般生成函数 很普及组,不讲了 生成函数是一种形式幂级数,也就是我们只关心系数,不关心未知数具体的值. 比如 \(\sum\limits_{i\ge 0}x^i=\frac{1}{1-x}\).虽然只 ...
- ZROI 暑期高端峰会 A班 Day4 树上数据结构
FBI Warning:本文含有大量人类的本质之一. 你经历过绝望吗? [ZJOI2007]捉迷藏 询问树上最远黑点对. 动态边分治可以比点分治少一个 \(\log\). bzoj3730 咕了. [ ...
- ZROI 暑期高端峰会 A班 Day1 组合计数
AGC036F Square Constriants 一定有 \(l_i<p_i\le r_i\). 考虑朴素容斥,枚举每个数是 \(\le l_i\) 还是 \(\le r_i\).对于 \( ...
- ZROI 暑期高端峰会 A班 Day1 序列数据结构
FBI Warning:本文包含大量人类的本质之一 CF643G 维护一个序列,可以区间赋值,求区间中出现超过 \(p\%\) 的数. 允许输出不对的数,允许重复输出,但是所有对的数都一定要输出.而且 ...
- ZROI 暑期高端峰会 A班 Day3 字符串
FBI Warning:本文含有大量人类的本质之一 后缀树 反正后缀树就是反串的后缀自动机的 Parent 树,就不管了. 然而 SAM 也忘了 好的假装自己会吧--dls 后缀自动机 大概记得,不管 ...
- ZROI 暑期高端峰会 A班 Day5 杂题选讲
CF469E \(n\) 个需要表示的数,请使用最少的 \(2^k\) 或 \(-2^k\) 表示出所有需要表示的数.输出方案. \(n\le 10^5,|a_i|\le 10^5\). 首先每个数肯 ...
随机推荐
- centos6.5 安装openresty
[1]centos6.5 安装openresty步骤 (1)基础依赖库安装 1.1 yum install pcre-devel openssl-devel gcc curl (2)openResty ...
- 【题解】NOIP2015提高组 复赛
[题解]NOIP2015提高组 复赛 传送门: 神奇的幻方 \([P2615]\) 信息传递 \([P2661]\) 斗地主 \([P2668]\) 跳石头 \([P2678]\) 子串 \([P26 ...
- Lisp : (quote) code is data (eval) data as code
- 阿里云开发工具包(SDK)
参考: 阿里云开发工具包(SDK)For Python Alibaba Cloud SDK for Go
- 微服务架构 ------ DockerCompose从安装到项目部署
DockerCompose的目的:简化Docker的启动和停止流程,以及编排Docker启动服务与服务之间的关系 DockerCompose的安装:curl -L https://get.daoclo ...
- Mac下Appnium的Android的UI自动化环境搭建
1. 安装jdk:略 检查是否安装:执行命令java -version admindeMacBook-Pro-2:~ $ java -version java version "1.8.0_ ...
- Gin-Go学习笔记三:Gin-Web框架 JS分页
JS 分页 1> JS分页,业务逻辑 (1) 分页采用的是一个叫jquery.pagination.js的一个jquery插件 (2) 需要jquery的支持,此项目中使 ...
- 详解Vue中的虚拟DOM
摘要: 什么是虚拟DOM? 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 Vue.js 2.0引入Virtual DOM,比Vue.js 1.0的初始渲染速度提升了2-4倍,并 ...
- Spark GraphX图算法应用【分区策略、PageRank、ConnectedComponents,TriangleCount】
一.分区策略 GraphX采用顶点分割的方式进行分布式图分区.GraphX不会沿着边划分图形,而是沿着顶点划分图形,这可以减少通信和存储的开销.从逻辑上讲,这对应于为机器分配边并允许顶点跨越多台机器. ...
- PS图片转CSS+HTML页面的正确步骤
转载来源:https://www.cnblogs.com/gg_lihui/p/3396409.html 制作网页标准的流程是:拿到网站美工制作的psd效果图后,网页设计师再把PS制作的图片转html ...