码迷,mamicode.com
首页 >  
搜索关键字:前缀和    ( 2330个结果
最大子序列和(单调队列算法)
题目大意: 给定一个长度为N的序列,请你求出它最大长度不超过M的最大子序列的和(其中 N,M<=3*10^5) 分析: 一般对于这样的题目,我们最现实想到的就是前缀和,通过枚举序列可以得到答案,但这样的时间复杂度显然是不乐观的(TLE) 所以我们可以通过队列来优化 (这个算法我们称之为单调队列算法) ...
分类:编程语言   时间:2018-06-21 22:25:54    阅读次数:479
CodeForces - 993E Nikita and Order Statistics
(暂时没有vjudge题面,CF的题面又太丑2333,直接口述了) 题目大意:给你一个长度为n的序列a[],和一个数x,对于每个i= 0~n ,求有多少个子区间满足恰好有i个数<x。 sol: 这不是FFT的套路题吗2333,直接做<的0/1前缀和,然后 记录到cnt里直接卷一遍就好了2333. ...
分类:其他好文   时间:2018-06-17 11:09:41    阅读次数:220
2018湖南多校第八场 训练日志
solved 3 (7/22) 前缀和乱搞的题看成是模拟退火求最小费马点,很烦。 C Permutations (子序列) D Travel Frog (dp + 公式) H Appositive Body (中心对称的结论) <qj> 题意:4维空间里n个点,是否能够中心对称。 首先利用所有点求出 ...
分类:其他好文   时间:2018-06-16 13:40:30    阅读次数:251
ACM训练小结-柳志轩-2018年6月15日
今天题目情况如下:A题:给出若干条边的边长,问这些边按顺序能否组成一个凸多边形,并求出这个多边形的最小包含圆。答题情况:无思路。正解(某种):第一问很简单。对第二问,如果R大于可行的最小R,那么按照放在圆上的方法算出asin(li/2R)其和大于R,说明此R可以缩小。当然R也有最小值为Max(li) ...
分类:其他好文   时间:2018-06-15 22:43:13    阅读次数:284
py基础(数据类型)
数据类型: 整数: 例如:1,100,-8080,0,等等。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。 浮点: 比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如 ...
分类:其他好文   时间:2018-06-14 14:43:15    阅读次数:332
树状数组简述
树状数组是一种单点修改并查询前缀和的数据结构 查询和修改时间复杂度都是log(n) 对于树状数组我们首先需要知道lowbit的概念 lowbit即是x & -x 通俗点是一个数二进制下的从后往前数第一个1所对应的值 具体算法的话就是两个 一个是修改函数如下 void add(int pos, int ...
分类:编程语言   时间:2018-06-13 00:56:58    阅读次数:191
p1917
关于二分的重要性 这题,题意是没有看懂的(汉),但是看懂了图,那就搞吧。 写了一个数组大小为50010的后发现大数据是会越界的。嗯嗯?这不是一个水题么?于是仔细阅读题目后发现:如果还想用数组记录下每个时刻的位置的音符的话是要开50000*50000的一维数组的,肯定是爆炸的。 于是想到了前缀和,但是 ...
分类:其他好文   时间:2018-06-12 20:58:21    阅读次数:181
树状数组区间修改,区间更新:差分数组的运用
树状数组最原始的作用就是求前缀和,可以实现单点修改和区间查询。 但是假设现在有: 1.区间修改,单点查询 2.区间修改,区间查询 但是又不想敲线段树怎么办? 就用树状数组喽。 假设现在有一个原数组a(假设a[0] = 0),有一个数组d,d[i] = a[i] - a[i-1],那么 a[i] = ...
分类:编程语言   时间:2018-06-12 11:44:41    阅读次数:168
bzoj1878 [SDOI2009]HH的项链——树状数组
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1878 离线树状数组,巧妙的思路呢; 给每种项链记录一个最后出现的位置lst,根据项链最后出现是否在区间内来计算种类数; 于是就用树状数组求前缀和来得到结果。 代码如下: ...
分类:编程语言   时间:2018-06-11 13:47:50    阅读次数:178
[PKUSC2018]最大前缀和(DP)
题意:求一个序列随机打乱后最大前缀和的期望。 考场上发现不管怎么设状态都写不出来,实际上只要稍微转换一下就好了。 一个前缀[1..k]是最大前缀,当且仅当前面的所有后缀[k-1,k],[k-2,k],...,[1,k]都大于0,后面的所有前缀[k+1,k+2],[k+1,k+3],...,[k+1, ...
分类:其他好文   时间:2018-06-10 11:44:21    阅读次数:455
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!