摘要:
爆炸场,A被hack两次,a,c都看错题意。。。还是太菜了 A水题,ifelse写的太搓了被hack。。 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_b 阅读全文
摘要:
想分块想了很久一点思路都没有,结果一看都是写的线段树= = 。。。完全忘记了还有线段树这种操作 题意:给一个数组,一种操作是改变l到r为c,还有一种操作是查询l到r的总和差 线段树记得+lazy标记 #include<bits/stdc++.h> #define fi first #define s 阅读全文
摘要:
和上一题差不多,就只查询了次数,不用输出跳出前的最后一位 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define pii pair<int 阅读全文
摘要:
先对b从小到大sort,判断b是不是比sqrt(n)大,是的话就直接暴力,不是的话就用dp维护一下 dp【i】表示以nb为等差,i为起点的答案,可以节省nb相同的情况 #include<bits/stdc++.h> #define fi first #define se second #define 阅读全文
摘要:
分块,在每一块中保存可见的斜率(从左边起点开始递增),对于整个数组,第k个块的最后一个可见块必须比第k+1个块的第一个可见块小 对于分块,复杂度为O(sqrt(n)) #include<bits/stdc++.h> #define fi first #define se second #define 阅读全文