區間操作,可以推一推式子,方差為平方的平均數-平均數的平方,維護區間和與區間平方和,平方和的維護方法類似,式子推一推就行了,注意約分
*/#include
#include
#include
#include
#include
#include
#include
#define ll long long
#define fo(i,l,r) for(int i = l;i <= r;i++)
#define fd(i,l,r) for(int i = r;i >= l;i--)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using
namespace
std;
const
int n = 100050
;ll read();
while(ch>='
0'&&ch<='
9');
return x*f;
}ll gcd(ll a,ll b)
struct
fs ll d =gcd(son,mo);
son /=d;
mo /=d;
}void
clear(ll a,ll b)
fs operator +(fs b)
fs operator -(fs b)
fs operator *(fs b)
fs operator /(ll b)
bool
operator
fs operator -(ll k)
void
print()
}ans,fd;
intn,m;ll val[n];
ll sumv[n
<<4],addv[n<<4],powv[n<<4
];ll cmd,op,ql,qr,qv,ans1,ans2;
void maintain(int
rt)void pushdown(int l,int r,int
rt)void build(int l,int r,int
rt)
int m = (l + r) >> 1
; build(lson);
build(rson);
maintain(rt);
}void change(ll l,ll r,int
rt) pushdown(l,r,rt);
int m = (l + r) >> 1
;
if(ql <=m) change(lson);
if(qr >m) change(rson);
maintain(rt);
}ll query(
int l,int r,int
rt) pushdown(l,r,rt);
int m = (l + r) >> 1
; ll ret = 0
;
if(ql <= m) ret +=query(lson);
if(qr > m) ret +=query(rson);
return
ret;
}int
main()
else
if(cmd == 2
)else
if(cmd == 3
) }
return0;
}
QUST程式設計賽G題 佔教室
在青科大,經常有活動需要占用教室。比如開班會。比如辦活動。比如學長講課。反正很多事啦。於是。新一輪搶占教室開始了。此前經常會有人占用教室時發生衝突 沒有教室可佔或者佔不夠需要的教室t t 為了社會的和諧我們決定成立協調委員會來協調教室幫助需要教室確無法滿足的同學,我們有接下來n天的借教室資訊,其中第...
《省賽模擬賽補》
c題 比賽的時候已經想到了統計最底層的每個序列的出現次數,但是一開始想的是建圖之後dfs處理,但是發現很難處理出來。其實正確的思路是拓撲排序去處理次數。我們在最後建圖完成之後,倒著從n回去拓撲即可。但是這裡有個坑點,就是一開始統計入度可能是不正確的。例如 3 1 2 4 1 2 3是1,2的父節點,...
日常模擬賽
none 100 100 10 210 不太會做.好像.是個sb題.嗯.div3t1難度 include include define int long long define gc getchar define pc putchar inline int read void print int x...