随笔分类 -  前缀和

摘要:题目链接 D: 完全模拟一定超时,设2个数组来存加在前面的/加在后面的,如果出现reverse操作,交换这两个数组即可 #include<bits/stdc++.h> using namespace std; #define ms(x,y) memset(x, y, sizeof(x)) #defi 阅读全文
posted @ 2020-06-01 21:11 GRedComeT 阅读(102) 评论(0) 推荐(0)
摘要:题目链接 B: 边最少点最多的方式是2个点一条边,不连通,边最多点最少的方式是完全图,边数为$n*(n-1)/2$ #include<bits/stdc++.h> using namespace std; #define ms(x,y) memset(x, y, sizeof(x)) #define 阅读全文
posted @ 2020-06-01 14:59 GRedComeT 阅读(117) 评论(0) 推荐(0)
摘要:"题目链接" 这种类型题大多都是移项, $a_i + a_j b_i + b_j (i b_j a_j (i C_i (i using namespace std; define ms(x,y) memset(x, y, sizeof(x)) define lowbit(x) ((x)&( x)) 阅读全文
posted @ 2020-03-13 17:10 GRedComeT 阅读(138) 评论(0) 推荐(0)
摘要:"题目链接" 题意:给你两个向量,相乘得到$n m$的矩阵,求有多少个子矩阵,满足所有元素都为1,且数量为$k$ 数据范围是4e4, 那么$O(n^2)$算法肯定不行, 分析知, 若列矩阵有0, 那么乘出的矩阵该列都为0, 那我们可以先将$k$分解, 然后前缀和优化列是否满足条件 阅读全文
posted @ 2020-03-08 22:12 GRedComeT 阅读(112) 评论(0) 推荐(0)
摘要:"题目链接" 根据题意,d是两个点的最短距离,分析知,假设$x_i$$v_j$,那么d(i,j)一定为0,因为i一定能追上j,否则,d(i,j)就为其初始距离 那我们就转化问题为一个二维偏序问题,求$x_i$ using namespace std; define lowbit(x) ((x)&( 阅读全文
posted @ 2020-02-25 15:32 GRedComeT 阅读(131) 评论(0) 推荐(0)
摘要:简述题意 给你N个数对 表示坐标与状态(0/1), M个操作,给定一个区间,区间内的坐标的状态翻转 思路:看到区间修改,很容易想到差分,对数对sort,每个a_i与a_i-1异或构造差分数组b,每次对[l,r]区间操作时,只需要将b[l]与b[r+1]对1异或操作就行了 那么我们如何判断哪些操作需要 阅读全文
posted @ 2020-02-17 20:51 GRedComeT 阅读(321) 评论(0) 推荐(0)
摘要:分析一下得知是DP问题,时间复杂度符合,设dp[i][j]为从第i天开始,第j个位置能得到的最大值,其有三种转移状态 1.与上一天的选择有重合 2.与上一天的选择没有重合,且上一天的选择在左边 3.与上一天的选择没有重合,且上一天的选择在右边 那么得到转移方程, 1.dp[i][j] = max(d 阅读全文
posted @ 2020-02-16 16:33 GRedComeT 阅读(177) 评论(0) 推荐(0)
摘要:在一年前赢得了小镇的最佳草坪比赛后,FJ变得很懒,再也没有修剪过草坪。现在,新一轮的最佳草坪比赛又开始了,FJ希望能够再次夺冠。然而,FJ的草坪非常脏乱,因此,FJ只能够让他的奶牛来完成这项工作。FJ有N(1 <= N <= 100,000)只排成一排的奶牛,编号为1...N。每只奶牛的效率是不同的 阅读全文
posted @ 2020-01-26 22:59 GRedComeT 阅读(170) 评论(0) 推荐(1)
摘要:题目背景 蕾米莉亚的红雾异变失败后,很不甘心。 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放。 我们将幻想乡看做是一个n*m的方格地区,一开始没有任何一个地区被红雾遮盖。蕾米莉亚每次站在某一个地区上,向东南西北四个方向各发出一条无限长的红 阅读全文
posted @ 2020-01-25 15:46 GRedComeT 阅读(133) 评论(0) 推荐(0)