首页 > TAG信息列表 > P1110

P1110 [ZJOI2007] 报表统计

[ZJOI2007] 报表统计 题目描述 小 Q 的妈妈是一个出纳,经常需要做一些统计报表的工作。今天是妈妈的生日,小 Q 希望可以帮妈妈分担一些工作,作为她的生日礼物之一。 经过仔细观察,小 Q 发现统计一张报表实际上是维护一个非负整数数列,并且进行一些查询操作。 在最开始的时候,有一个长

洛谷 P1110 [ZJOI2007]报表统计

刷 Splay 时碰见了这题。发现根本不用写 Splay,直接链表 + std::multiset 乱搞就好了。 由于我自带大常数,吸氧才过掉。。。 #include <cstdio> #include <set> inline int read(void){ int res = 0; char ch = getchar(); while(ch < '0' || ch > '9') ch = ge

P1110 变身

题目描述 给你一个长度为n的数组a,他们的坐标从1到n,并且他们的数值也在1到n之间且两两不同。 数组中的每个元素每轮回合都会变身,变身的结果取决于该元素当前的值,如果在某一个回合该元素的值为u,则下一个回合他会变为a[u]。 比如,给你一个 n=5 的数组 a = [5,1,2,4,3]。 然后我们来看

题解 Luogu P1110 【[ZJOI2007]报表统计】

先声明,我好像是题解里写双fhq treap里唯一能过的...(最后两个点啊) 思路:首先看题目,MIN_GAP_SORT明显是求它的前驱与后继(可能有相同的),所以就用平衡树,但是又要求两个相邻的数的差,就可以有再开一个平衡树存放差值 实现:抛开奇奇怪怪的的题面,主要考虑这三个操作: 1、INSERT i k: 这个

洛谷 P1110 [ZJOI2007]报表统计

洛谷紫题 洛谷 P1110 [ZJOI2007]报表统计 首先理解题意:我们无非就是把这个序列分成n段,在每一段结尾插入新元素。(我觉得很简单呐) 这题不用手写平衡树,不用堆,只用两个数组,两个multiset和一个变量就好了...... 我们先维护两个数组,st[]和ed[]表示每一段开头的元素和结尾的元素。 我们再