随笔分类 - 分治
[校内训练2021_03_16]B 矩阵竟然能分治
摘要:题目大意:有一个n*m的01矩阵,统计出框架的个数。框架的定义:一个四元组(L,U,D,R)即一个矩形,满足L<R,U<D,并且四条边上全都是0。 思考:我们考虑分治(虽然我不知道为什么能想到这个):我们先把原本的矩阵竖着切一刀,那么我们要分别计算出左右两边的数组f[l][r],表示能够跨过分界线的
阅读全文
[校内训练20_09_22]AB
摘要:1.结论题,不会证 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int base=200*500; 4 const int limit=2*200*500; 5 int T,n,a[555]; 6 bitset<205*505*2
阅读全文
[家里训练20_03_01]ABC
摘要:1.不可做题。 求出满足 $$\sum_{i=1}^{m}{x_i}\leq s$$ 对任意$$i\leq m,x_i>0$$ 对所有$$i,x_i\leq t$$ 的解数 答案对10^9+7取模 m-n<=1000,t<=100000,m<=1E9,nt<=s<=1E18 2.树上LIS:一棵树,
阅读全文
[校内训练19_09_10]sort
摘要:题意 给一个非负整数序列,每次问能否异或上一个正整数使得所有的数单调不减。如果能,输出最小的x,否则输出-1。单点修改。多测。要求最多一个log。 思考 只要考虑相邻的两个数。找到这两个数最高的不同的一位,那么只要考虑是一定要异或或者是一定不要异或。 代码 1 #include<bits/stdc+
阅读全文
19_08_26校内训练[Max]
摘要:题意 求$max_{l \leq r}{\{min{\{a_l,a_{l+1},...,a_r\}}*(r-l+1)\}}$ 思考 分治,考虑一个区间跨过某个点的贡献即可。 代码 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef l
阅读全文
[CF1037F]Maximum Reduction
摘要:题意 https://codeforces.com/contest/1037/problem/F 思考 摘自一种比较有趣的做法。我们对序列进行分治,每次统计跨过mid的区间的贡献。其正确性是保证的:每个区间只会对应到一个mid。对于左区间,算出它的后缀最大值。 接下来从左到右枚举右区间的每一个点。对
阅读全文
浙公网安备 33010602011771号