题目链接:https://loj.ac/problem/6280
题目大意:中文题目
具体思路:模板题,注意add数组在求和的时候的加的位置,在每一段都需要考虑到。
AC代码:
1 #include2usingnamespace std; 3 # define lllonglong 4constint maxn = 2e6+100; 5constint inf =0x3f3f3f3f; 6ll l[maxn],r[maxn],belong[maxn]; 7ll add[maxn],a[maxn],sum[maxn]; 8int n; 9void buildblock() 10{ 11 ll tmp=(ll)sqrt(n); 12 ll tot=n/tmp; 13if(n%tmp) 14 tot++; 15for(ll i=1; i