![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Mr_Dark_2002
这个作者很懒,什么都没留下…
展开
-
洛谷 P4306
题目大意: 有两种操作: 1、询问后l个数中的最大值; 2.在队尾插入新数(n+上一次查询的值)%d(题目给你,d) 一道线段树最值裸题,没什么可说的,想练习一下线段树的可以做一做; P.S.洛谷上有一些别的做法,如st表,分块算法,单调栈等等,有兴趣的朋友可以试试(都跑的比线段树快) P.S.快读要读-,tree要制负无穷; #include<bits/stdc++.h>...原创 2018-09-08 09:41:25 · 183 阅读 · 0 评论 -
关于逆序对的一种运用(树状数组)
主要题目:bzoj4430 2789 4430 题目大意:给定三个串,长度为n,求三个串中序列前后性质的字符对数。 发现直接求不好求,但是我们学过逆序对。已知总的对数是n(n-1),只要求出3个中前后不一样的对数就好。 我们可以两两求出逆序对数,再除以2,用总对数减去就是答案了。 问题的关键在于对于两两序列求其中逆序的对数。 我们整理一个序列ai,令ai为在第一个串中位置为i的数再第二个串中的位置...原创 2018-10-06 08:38:08 · 230 阅读 · 0 评论 -
关于基础莫队的运用 洛谷P4137
题目大意:有一个长度为n的数组{a1,a2,…,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 题解:我们可以发现对于一个区间我们很难维护他的所出现过的自然数,这道题目又可以离线,那么我们可爱的莫队算法就可以祭出来了,莫队可以很轻松的解决一段区间里的各个数的个数问题,重点在于高效的维护mex。 根据抄写题解 我们可以发现只有两种情况在移动区间指针时候会影响到mex值。 1、在删除一个...原创 2018-10-16 20:31:08 · 230 阅读 · 0 评论 -
关于单调队列的一些运用 洛谷P3594
题目大意: 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0。请找到最长的一段连续区间,使得该区间内所有数字之和不超过p。 数据范围:n<=2e6; 题解: 我们考虑对于j作为右端点,那么这个区间的左端点在右端点递增时具有单调递增性,可以用反证法证明。那么对于每一个右端点,我们要求出它的左端点即可,那么问题就转化成了求已知右端点与上次询问的左端...原创 2018-10-22 21:05:17 · 396 阅读 · 0 评论