小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的.具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码.  小J的工作有两类: 1.      图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 2.      小J需要回答顾客的查询,顾客会询问某一段连续的书位中某一特定编码的书有多少本. 例如,共…
洛谷P2464 [SDOJ2008]郁闷的小J 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码. 小J的工作有两类: 1.图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 2.小J需要回答顾客的查询,顾客会询问某一段连续的书位中某…
[SDOI2008]郁闷的小J 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码. 小J的工作有两类: 1.图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 2.小J需要回答顾客的查询,顾客会询问某一段连续的书位中某一特定编码的书有…
题目传送门 郁闷的小j 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码. 小J的工作有两类: 1.图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 2.小J需要回答顾客的查询,顾客会询问某一段连续的书位中某一特定编码的书有多少本.…
小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码. 小J的工作有两类: 图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 小J需要回答顾客的查询,顾客会询问某一段连续的书位中某一特定编码的书有多少本. 例如,共5个书位,开始时书位上的书编码为…
题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码. 小J的工作有两类: 1.图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 2.小J需要回答顾客的查询,顾客会询问某一段连续的书位中某一特定编码的书有多少本. 例如,共5个书位,开始…
[SDOI2008]郁闷的小JJ 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由N个书位组成,编号从1到N.每个书位放着一本书,每本书有一个特定的编码. 小J的工作有两类: 1.图书馆经常购置新书,而书架任意时刻都是满的,所以只得将某位置的书拿掉并换成新购的书. 2.小J需要回答顾客的查询,顾客会询问某一段连续的书位中某一特定编码的书…
传送门 本来出题人出出来想考数据结构的. 但是我们拥有map+vector/set这样优秀的STL,因此直接用map离散化,vector存下标在里面二分找答案就行了. 代码: #include<bits/stdc++.h> #define N 100005 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); while(isdigit(ch)…
题目链接 这题我很久之前用分块写过,没写出来.. 今天又看到了,于是下决心把这题做出来. 这次我用线段树写的,直接对每本书的编号Hash一下然后离散化然后各建一棵线段树,维护当前编号在某个位置有没有书,就行了. 为了卡空间,我用了\(vector\),同时指针建树,结构体里不保存当前节点维护的区间,区间作为参数递归,这样就能过了,空间复杂度应该是\(O(N+M\ log\ N)\). 另外Hash的边界搞大一点,第一次只弄了10W 80分,改成100W就A了. #include <iostrea…
离线做法:分别处理每个编号上的各种询问和操作,接着就能用树状数组维护. #include <cstdlib> #include <cstdio> #include <cstring> #include <cctype> #include <cmath> #include <algorithm> #include <iostream> #define rep(i, l, r) for(int i=l; i<=r; i+…