码迷,mamicode.com
首页 >  
搜索关键字:前缀和    ( 2330个结果
poj 2029 get many persimmon trees
题目大意: 有一个01矩阵,求其所有a*b的子矩阵中总和最大的子矩阵的权值和 思路: 二维树状数组 nlogn裸题完事 虽然poj数据太弱了,二维前缀和就过了 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<a ...
分类:其他好文   时间:2017-10-01 14:01:46    阅读次数:153
POJ 1795 DNA Laboratory
题意: 给n个由A C T G组成的字符串。 要求用这些字符串拼接,(如果两个穿的前缀和后缀有相同的部分可以重合),要求拼接成的串 长度最短且字典序最小。 一直觉得是什么“字符串不会做系列”的难题,结果是一道状压DP+dfs 看到n=15这么灵性的数字应该要灵性一下的。。。 二进制状压一下 dp[s ...
分类:其他好文   时间:2017-09-30 17:53:17    阅读次数:242
树状数组 学习笔记
树状数组可以用来求区间元素的和。 与前缀和做法不同,它支持值的修改。 比如说,现在我有一个数列a,要求你维护这个数列,使其支持两个操作。 1.改变数列第k项的值 2.查询从第i项到第j项的总值 暴力做法总是过不了所有点的,如果使用暴力,虽然操作1是O(1)的,但是操作2是O(n)的,没人对此复杂度满 ...
分类:编程语言   时间:2017-09-30 13:14:46    阅读次数:292
[bzoj2783] 树
题意:给出一个有根树,点上有点权,求点权和为s的路径数,路径上的点的深度要求递增 题解: 这题算比较水了,在树上用set维护一下权值和就可以了 用set维护的好处就是,可以实时维护路径和(加入一个值后可以很方便的删除),不会重复更新答案,之前写了个预处理前缀和的,会算重额 ...
分类:其他好文   时间:2017-09-29 17:52:58    阅读次数:140
重(zhong)新学习悬线法
2017.9.28今天模拟赛T1就是求最大子矩阵的经典题 然而我已经好久没有写悬线了,以前悬线也是拉的,于是现在就系统的学习一波吧 给定一个N * M的01矩阵,求最大全0矩阵的大小 N^3的做法其实有很多种,前缀和乱搞什么的都可以 考虑N^2的做法 对于任意一个非1的点i,j,记其向上能到达的最长 ...
分类:其他好文   时间:2017-09-29 00:15:11    阅读次数:156
Problem A. Array Factory XVII Open Cup named after E.V. Pankratiev Stage 4: Grand Prix of SPb, Sunday, Octorber 9, 2016
思路: 直接二分长度不可行,因为有负数。 考虑枚举坐便删l个数,那如果可以在短时间内求出符合条件的右边最小删的数的个数,这题便可做了。 即:当左边删l个数时,要使sum[n]-sum[l]-fsum[n+1-x] <= s成立,求出最小的x。(sum为前缀和,fsum为后缀和) 思考后可以发现可行的 ...
分类:其他好文   时间:2017-09-28 22:33:17    阅读次数:428
洛谷 P3924 康娜的线段树
P3924 康娜的线段树 P3924 康娜的线段树 P3924 康娜的线段树 题目描述 小林是个程序媛,不可避免地康娜对这种人类的“魔法”产生了浓厚的兴趣,于是小林开始教她OI。 今天康娜学习了一种叫做线段树的神奇魔法,这种魔法可以维护一段区间的信息,是非常厉害的东西。康娜试着写了一棵维护区间和的线 ...
分类:其他好文   时间:2017-09-28 20:47:20    阅读次数:240
[luoguP2331] [SCOI2005]最大子矩阵(DP)
传送门 orz不会做。。。 一个好理解的做法(n^3*k): 分n=1和n=2两种情况考虑。 n=1时,预处理出前缀和sum[]。 设f[i][j]为到达第i格,已经放了j个子矩阵的最大和, 那么每次先把f[i][j]的值设为f[i-1][j](第i个元素不属于第j个子矩阵) 剩下的情况就是第i个元 ...
分类:其他好文   时间:2017-09-28 20:44:03    阅读次数:145
51nod 1296 有限制的排列(DP)
对于一个i,如果要比邻居大,那么i比i-1大,i+1比i小,比邻居小同理。设v[i]=0表示i与i-1的关系无限制,v[i]=1表示a[i-1]>a[i],v[i]=2表示a[i-1]<a[i] 则有 显然这个是可以用前缀和优化成O(N^2)的 #include<iostream> #include ...
分类:其他好文   时间:2017-09-27 21:54:36    阅读次数:189
BZOJ5055: 膜法师
n<=300000个数求所有i<j<k,Ai>Aj>Ak的Ai*Aj*Ak的和。 还以为什么奇怪题呢。。就是个偏序。。 i<j,Ai>Aj就是逆序对模板,把树状数组里的+1改成+Ai即可,每个数的Ai*Aj数就树状数组求个前缀和即可。 上面那个算出来存在Bi,再用类似的方法求一次即可。 1 #inc ...
分类:其他好文   时间:2017-09-27 20:43:13    阅读次数:146
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!