Codeforces 817F MEX Queries】的更多相关文章

[Codeforces]817F. MEX Queries You are given a set of integer numbers, initially it is empty. You should perform n queries. There are three different types of queries: 1 l r — Add all missing numbers from the interval [l, r] 2 l r — Remove all present…
题意:对一个维护三种操作:1.将[l..r]中的数全部加入集合中.2.将集合中[l..r]范围内的数删去.3.将集合中在[l..r]中的数删去,并将之前不在集合中的数加入集合 考虑到最近线段树总是写爆,我决定在CF上切几道水题练练手,于是找到了这题...一开始想了想感觉不太会做,后来发现好像可以离散化后用线段树维护区间1的个数来解决.1就是将[l..r]中的所有数赋值为1,2反之,3就是区间长度-当前1的个数.然后敲了很久,最后惊喜地发现我又特么敲爆了...调了好久发现是离散化出了问题... #…
F. MEX Queries time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given a set of integer numbers, initially it is empty. You should perform n queries. There are three different types…
[Codeforces 266E]More Queries to Array...(线段树+二项式定理) 题面 维护一个长度为\(n\)的序列\(a\),\(m\)个操作 区间赋值为\(x\) 查询\(\sum_{i=l}^r a_i(i-l+1)^k \mod 10^9+7\) \(n,m \leq 10^5,k \leq 5\) 分析 根据二项式定理 \[(i-l+1)^k=\sum_{j=0}^k (-1)^{k-j} C_{k}^j i^j(l-1)^{k-j}\] 那么 \(\begi…
首先说明一下MEX,设S是自然数集合N的一个子集,那么S的MEX则为min(N\S),即不包含于S的最小自然数. 题目大意是存在一个空集S,提供n组输入(n<10^5),每组输入对应下面的一个指令(1 ≤ l ≤ r ≤ 10^18): 1.将集合[l, r]包含到S中. 2.将集合[l, r]从S中移除. 3.将[l, r]与S的交集从S中移除,并将S\[l, r]加入到S中.(即从S移除所有同时出现在[l, r]与S中的元素,添加所有只出现于[l, r]但不在S中出现的元素) 每个指令都需要…
E. Array Queries 题目链接:http://codeforces.com/problemset/problem/797/E time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output a is an array of n positive integers, all of which are not greater than…
E. Lucky Queries time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Petya loves lucky numbers very much. Everybody knows that lucky numbers are positive integers whose decimal record contains…
B. Queries about less or equal elements time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given two arrays of integers a and b. For each element of the second array bj you should fin…
Codeforces 洛谷:咕咕咕 思路 设\(L_i,R_i\)为\(i\)左右第一个大于它的位置. 对于每一个询问\(l,r\),考虑区间每一个位置的贡献就是\(\min(r,R_i-1)-\max(l,L_i+1)+1\),加起来就是 \[ r-l+1+\sum_{i=l}^r \min(r,R_i-1)-\sum_{i=l}^r \max(l,L_i+1) \] 后面那两个东西显然可以差分后用线段树搞. 代码 #include<bits/stdc++.h> clock_t t=cloc…
Lucky Queries 感觉是很简单的区间合并, 但是好像我写的比较麻烦. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pair<int, int> #define SZ(x…