Description 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第 i 个原子具有能量 Ei. 随着 时间推移和人为测试, 这列原子…
[BZOJ4864][BeiJing 2017 Wc]神秘物质 Description 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第…
splay维护区间最大值.最小值.相邻两数差的绝对值的最小值即可. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define N 100010 #define inf 210000…
来自FallDream的博客,未经允许,请勿转载,谢谢. 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第 i 个原子具有能量 Ei. 随…
题目描述 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第 i 个原子具有能量 Ei. 随着 时间推移和人为测试, 这列原子在观测上会产生…
BZOJ4864_[BeiJing 2017 Wc]神秘物质_Splay Description 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最…
4864: [BeiJing 2017 Wc]神秘物质 Description 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第 i 个原…
这就是一道数据结构裸题啊,最大极差就是区间最大值减最小值,最小极差就是相邻两个数差的最小值.然后平衡树splay/treap或者块状链表维护就行了. 第一次自己写块状链表,蛮好写,就是长..然后就BZOJ rank1了(2019.5.11求不打脸 ) CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 200005; char cb[1<<15],*cs=cb,*ct=cb; #define get…
这题其实挺简单的,有个东西可能稍微难维护了一点点.. \(merge\ x\ e\) 当前第 \(x\) 个原子和第 \(x+1\) 个原子合并,得到能量为 \(e\) 的新原子: \(insert\ x\ e\) 在当前第 \(x\) 个原子和第 \(x+1\) 个原子之间插入一个能量为 \(e\) 的新原子. \(max\ x\ y\) 当前第 \(x\) 到第 \(y\) 个原子之间的任意子区间中区间极差的最大值: \(min\ x\ y\) 当前第 \(x\) 到第 \(y\) 个原子之…
神秘物质 Time Limit: 10 Sec  Memory Limit: 256 MB Description Input Output Sample Input Sample Output 1 2 1 5 HINT Main idea 每个点有一个权值,维护一个结构,支持合并相邻两点,删除单点,加入单点,查询区间子集极差的最大值和最小值. Solution 首先我们可以发现,区间子集极差的最大值显然就是整个区间的最大值-区间最小值,然后区间子集极差最小值只有相邻点的才会产生贡献. 那么我们…
首先merge就是先delete两次再insert,Max就是整个区间的最大值减最小值,Min就是区间中所有相邻两数差的最小值. Splay支持区间最大值,区间最小值,区间相邻差最小值即可. #include<cstdio> #include<cstring> #include<algorithm> #define rep(i,l,r) for (int i=(l); i<=(r); i++) using namespace std; ,inf=1e9; ]; ]…
题意: Description 21ZZ 年,冬.小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第 i 个原子具有能量 Ei. 随着时间推移和人为测试, 这列原子在…
题目大意: 让你维护一个序列,支持: 1.合并两个相邻的数为一个新的数 2.在某个位置插入一个数 3.查询一个区间的任意子区间极差的最大值 4.查询一个区间的任意子区间极差的最小值 前两个操作可以用$splay$轻松实现 第三个操作,求区间的子区间极差最大值,额外维护子树内元素最大值最小值即可 第四个操作,求区间的子区间极差最小值 显然,我们选择的子区间越长,极差越大 所以极差最小的子区间一定是相邻的两个数构成的区间 维护一个$lb_{x},rb_{x}$,表示它前/后一个数和它差值的绝对值,每…
神秘物质 bzoj-4864 BeiJing-2017-Wc 题目大意:给定一个长度为n的序列,支持插入,将相邻两个元素合并并在该位置生成一个指定权值的元素:查询:区间内的任意一段子区间的最大值减最小值的最大值或最小值. 注释:$1\le n,m \le 10^5$,m为操作个数. 想法:如果用非旋转Treap的话,前两个操作就是傻逼操作.后两个操作也都比较简单: 1.如果是最大极差,我们就是将这个区间的最大值-最小值即可. 2.最小极差的话,显然只能是相邻两个数的差的绝对值的最小值,这东西也可…
Description 给出一个长度为n的序列,第i个数为ai,进行以下四种操作: merge x e:将当前第x个数和第x+1个数合并,得到一个新的数e: insert x e:在当前第x个数和第x+1个数之间插入一个新的数e: max x y:求当前第x个数到第y个数之间任意子区间中区间极差的最大值; min x y:求当前第x个数到第y个数之间任意子区间中区间极差的最小值 (区间极差:区间内最大值与最小值之差) (子区间长度至少为2) Solution splay模板题. #include…
最近看到一篇老外写的博客,简单介绍了shazam的工作原理.图非常好,所以就把它翻译成中文,希望对搞听歌识曲的人有帮助. 你可能遇到这样的场景:在酒吧或者餐厅听到你非常熟悉的歌,也许你曾经听过无数次,并且被歌曲忧伤的旋律深深打动.久违之后的邂逅让你依然心动,所以想再次欣赏这首歌,但是却突然不记得名字了!明明就在嘴边,但就是说不出来!这时如果你手机上装有音乐识别软件,那么问题就很容易解决了.你只需要打开软件录一段音乐就好了,然后识别软件就会告诉你歌名,之后你就可以无限畅听直到厌烦为止. 移动技术和…
题解: 其实就是求三维偏序最长链.类似于三维逆序对,我们可以用树状数组套平衡树来实现. DP方程 :f[i]=max(f[j]+1) a[j]<a[i] 我们按一维排序,另一位建立树状数组,把第三维插入到每个树状数组的节点里. 除了权值之外每个节点还要保持一个mx,表示该子树内最大的f[i]. 这样就可以nlg^n了 UPD:试了下不带旋转的treap果然会被卡 orz 代码: #include<cstdio> #include<cstdlib> #include<cm…
题目 2253: [2010 Beijing wc]纸箱堆叠 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 239  Solved: 94 Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , , 之后,即可自动化生产三边边长为 (a mod P,a^2 mod p,a^3 mod P)(a^4 mod p,a^5 mod p,a^6 mod P)....(a^(3n-2) mod p,a^(3n-1…
题目传送门 传送点I 传送点II 题目大意 (家喻户晓的题目应该不需要大意) (我之前咋把NOIP 2017打成了NOIP 2018,好绝望) Solution 1 Splay 每行一颗Splay,没有动过的地方直接一段一个点. 最后一列单独一颗Splay. 暴力模拟即可. Soluion 2 Splay II 我们考虑倒推.对于每个询问倒推出在第一次操作前时的位置. 考虑每个出队操作对答案的影响. 假设询问$(x, y)$,那么最后一列横坐标大于等于$x$的位置,横坐标都会加1. 第$x$行,…
[BZOJ2253][2010 Beijing wc]纸箱堆叠 Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , , 之后,即可自动化生产三边边长为 (a mod P,a^2 mod p,a^3 mod P)(a^4 mod p,a^5 mod p,a^6 mod P)....(a^(3n-2) mod p,a^(3n-1) mod p,a^(3n) mod p)的n个纸箱.在运输这些纸箱时,为了节约空间,必须将它们嵌套堆叠起来.一个纸箱可以嵌套…
BZOJ_2253_[2010 Beijing wc]纸箱堆叠 _CDQ分治+树状数组 Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , , 之后, 即可自动化生产三边边长为 (a mod P,a^2 mod p,a^3 mod P) (a^4 mod p,a^5 mod p,a^6 mod P) .... (a^(3n-2) mod p,a^(3n-1) mod p,a^(3n) mod p) 的n个纸箱.在运输这些纸箱时,为了节约空间,必须将…
题意 三维严格偏序最长链.(\(n \le 50000\)) 分析 按第一维排序然后以第二和第三维作为关键字依次加入一个二维平面,维护前缀矩形最大值. 题解 当然可以树套树....可是似乎没有随机化算法快.. 于是我们上加了强剪枝的kdtree....kdtree大法好... #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=50105; struct node; int A, P,…
这题之前度娘上没有CDQ分治做法,gerwYY出来以后写了一个.不过要sort3遍,常数很大. gerw说可以类似划分树的思想优化复杂度,但是蒟蒻目前不会划分树(会了主席树就懒得去弄了). 嗯 将memset改成手动clear会快很多. 还有就是第一维相同的情况,划分为两个不存在第一维相同的两个区间即可. #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #inc…
2017-09-22 22:01:19 writer:pprp As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them: A wrestling match will be held tomorrow. nn players will take part in it. T…
2017-09-22 21:59:43 writer:pprp HazelFan is given two positive integers a,ba,b, and he wants to calculate amodbamodb. But now he forgets the value of bb and only remember the value of aa, please tell him the number of different possible results. Inpu…
#1632 : Secret Poems 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The Yongzheng Emperor (13 December 1678 – 8 October 1735), was the fifth emperor of the Qing dynasty of China. He was a very hard-working ruler. He cracked down on corruption and his reign wa…
#1631 : Cats and Fish 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They are all happy because the students in the cat club of PKU take good care of them. Li lei is one of the members of the cat club. He loves thos…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2252 又没能自己想出来... 一直在想如何从每个1开始广搜更新答案,再剪剪枝,什么遇到1就不走了... 然而实际上直接多源bfs,从所有1一起开始,因为只需要找到0碰到的第一个1即可: 这样搜一遍就可以,复杂度很美. 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<al…
传送门 C - Graph 题意: 给出一个\(n\)个点\(m\)条边的无向图.现在有多组询问,每组询问给出区间\([l,r]\),问区间\([l,r]\)中有多少点对是连通的. 思路: 若考虑只有一组询问的情况,那么显然我们直接用并查集搞搞就行,复杂度为\(O(mlogn)\). 多组询问直接暴力上复杂度显然不够,所以现在有一种新姿势:回滚莫队. 这个题的特点:多组区间询问,不带修改,那么我们就可以考虑莫队. 但是区间端点移动时可能会涉及到撤销操作,但是对于并查集而言,我们不能直接从中间撤销…