首页 > TAG信息列表 > cf896C

CF896C Willem, Chtholly and Seniorious

写一种数据结构,支持: \(1\) \(l\) \(r\) \(x\) :将\([l,r]\) 区间所有数加上\(x\) \(2\) \(l\) \(r\) \(x\) :将\([l,r]\) 区间所有数改成\(x\) \(3\) \(l\) \(r\) \(x\) :输出将\([l,r]\) 区间从小到大排序后的第\(x\) 个数是的多少(即区间第\(x\) 小,数字大小相同算多次,保证 \(1\leq

【CF896C】Willem, Chtholly and Seniorious(ODT本源)

点此看题面 大致题意: 给定一个序列,支持四种操作:区间加一个值;区间赋值;求区间第\(k\)大;求区间\(x\)次方和模\(y\)的值(\(y\)每次给出)。(数据随机) 前言 区间赋值?数据随机?珂朵莉树! 听说这可是\(ODT\)的本源题啊。。。 \(ODT\) 如果你不知道\(ODT\),可以看我的这篇博客:神奇的暴力数据结构

CF896C Willem, Chtholly and Seniorious 珂朵莉树

问题描述 CF896C LG-CF896C 题解 我expect就是T飞,从这里跳下去,也不碰和珂朵莉相关的任何东西。 珂朵莉树真好使。 珂朵莉树模板。 \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterator template <typenam

CF896C Willem, Chtholly and Seniorious

题目 珂朵莉树板子,我觉得洛谷题解讲的就很不错 粘一下自己的板子 #include<bits/stdc++.h> #define re register #define LL long long #define ST std::set<node>::iterator inline int ksm(int a,int b,int mod) { int S=1; for(;b;b>>=1,a=1ll*a*a%mod) if(b&1) S=1ll*

[CF896C]Willem, Chtholly and Seniorious

题目大意:有$n$个数,有$m$次$4$种操作:  1 l r x :将$[l,r]$区间所有数加上$x$  2 l r x :将$[l,r]$区间所有数变成$x$  3 l r k :输出$[l,r]$区间第$k$大  4 l r x p :输出$\sum\limits_{i=l}^rs_i^x\pm $n,m\leqslant10^5$ 题解:珂朵莉树模板题 卡点:$split$中写错,写成 it==s.e

CF896C Willem, Chtholly and Seniorious

CF896C Willem, Chtholly and Seniorious 题面:请你写一种奇怪的数据结构,支持: - \(1\) \(l\) \(r\) \(x\) :将\([l,r]\) 区间所有数加上\(x\) - \(2\) \(l\) \(r\) \(x\) :将\([l,r]\) 区间所有数改成\(x\) - \(3\) \(l\) \(r\) \(x\) :输出将\([l,r]\) 区间从小到大排序后的第\(x\)

[CF896C]Willem, Chtholly and Seniorious(珂朵莉树)

https://www.cnblogs.com/WAMonster/p/10181214.html 主要用于支持含有较难维护的区间操作与查询的问题,要求其中区间赋值操作(assign())是纯随机的。 注意要先split(r+1)再split(l),最好最后设一个点(n+1,n+1,0) 1 #include<set> 2 #include<cstdio> 3 #include<algorithm> 4 #inclu

cf896C. Willem, Chtholly and Seniorious(ODT)

题意 题目链接 Sol ODT板子题。就是用set维护连续段的大暴力。。 然鹅我抄的板子本题RE提交AC??。。 具体来说,用50 50 658073485 946088556这个数据测试下面的代码,然后在79行停住,看一下bg和i的值会发生神奇的事情。。 #include<bits/stdc++.h> #define LL long long #define int lon