T1: 将序列求前缀和,题意转化为对于位置$i$和$j$,满足$i<j$,$a_i<a_j$并且$b_i<b_j$,最大化$j-i+1$的值。 典型的三维偏需,可以CDQ做。 更好的做法是按一维排序,然后用数状数组维护。 时间复杂度$O(nlogn)$。 T2: 每次可以选择一个根,将左右子树接上, ...
分类:
其他好文 时间:
2019-10-30 22:45:14
阅读次数:
80
矩阵化一维 前缀和思想: for(ri i=1;i<=n;i++) for(ri j=1;j<=m;j++) { scanf("%lld",&arr[i][j]); arr[i][j]=arr[i-1][j]+arr[i][j-1]-arr[i-1][j-1]+arr[i][j]; } 应用: 题目 ...
分类:
其他好文 时间:
2019-10-30 13:31:31
阅读次数:
107
第一个问题可以用贪心+二分解决第二个问题用f[i][j]表示i次分割后分割到j且满足条件的方案数,$f[i][j]=\sum_{k<j且sum[j]-sum[k]<=ans}f[i-1][k]$优化时间:前缀和优化,二分要先预处理出来(也可以用优先队列)优化空间:发现f并没有什么用处,只需要记录前缀 ...
分类:
其他好文 时间:
2019-10-29 10:05:51
阅读次数:
79
https://loj.ac/problem/10116 题目描述 有$n$节车厢,有k个操作,分为三种:$①$询问前m节车厢中的总人数;$②$第m节车厢增加x人;$③$第m节车厢减少x人。 思路 维护前缀和,树状数组的模板题,直接套板子即可。 代码 ...
分类:
其他好文 时间:
2019-10-28 21:25:20
阅读次数:
122
其实这题我也没太明白。。。 我们要求 $$ \sum_{i=1}^{N 1}\sum_{j=i+1}^Ngcd(i,j) $$ 引理: 我们要求$gcd(i,j)=k$的个数,可转化为求$gcd(i/k,j/k)=1$的个数,即$\varphi(N/k)$。 那么如果要求所有满足$gcd(i,j)= ...
分类:
其他好文 时间:
2019-10-28 20:55:14
阅读次数:
85
差分数组 引入: 首先,给出一个问题: 给出n个数,再给出Q个询问,每个询问给出le,ri,x,最后再询问某个数,或者某个区间和(离线询问) 类似这样的问题,我们可以利用差分数组来解决。 假如这里有一个数组shu[n+1],其中shu[i]存储的便是某个具体的数 由前缀和数组的定义:$sum[x] ...
分类:
编程语言 时间:
2019-10-27 22:38:20
阅读次数:
91
传送门:https://www.luogu.org/problem/P1314 本SB犯得错误: 二分参数W,然后前缀和一下,逐个计算检验值Y。 不开longlong见祖宗 不开longlong见祖宗 不开longlong见祖宗 #include<cstdio> #include<cstring> ...
分类:
其他好文 时间:
2019-10-27 20:59:04
阅读次数:
63
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805435700199424 注意:1.这是一个环,两点之间的距离有两种,一是顺时针,二是逆时针,求出其中的一个距离,另一个距离用这个圆的总距离减去得到,输出两个距 ...
分类:
其他好文 时间:
2019-10-26 17:09:35
阅读次数:
73
$Sol$ 设一个矩阵的左上角为$(x_1,y_1)$,右下角为$(x_2,y_2)$,$s_{x,y}$是到$(1,1)$二维前缀和,那么这个矩阵的答案显然是$s_{x_2,y_2} s_{x_1 1,y_2} s_{x_2,y_1 1}+s_{x_1 1,x_2 1}$.考虑把每个询问拆成这么四 ...
分类:
编程语言 时间:
2019-10-26 12:09:11
阅读次数:
83