码迷,mamicode.com
首页 >  
搜索关键字:区间    ( 16036个结果
BZOJ 2006 NOI 2010 超级钢琴 堆+主席树
题目大意:给出一些音符,将它们组成和旋。和旋只能由[l,r]个音符组成。优美程度为所有音符的和。求k个和旋的又优美程度的最大和。 思路:先处理出来前缀和,以便O(1)去除一段的和。然后考虑对于一个音符来说,向左边扩展的音符是一段长度为r - l + 1的区间,取出的最大和是sum[i] - sum[p],sum[i]是一定的,要想让整段和最大,需要让sum[p]最小。之后就是区间k小值和...
分类:其他好文   时间:2014-12-12 19:16:03    阅读次数:167
【DFS序列】【莫队算法】【权值分块】bzoj2809 [Apio2012]dispatching
题意:在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大首先,我们将树处理出dfs序,将子树询问转化成区间询问。然后我们发现,对于单一节点来说,“使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大”可以贪心地搞...
分类:编程语言   时间:2014-12-12 16:36:36    阅读次数:249
特殊质数构造
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1226   题意:如果质数可以由如下公式构造出来,那么称质数是可造的。               给定一个区间,求在这个区间内有多少个可造的质数,其中。   分析:     代码: #include #include #include...
分类:其他好文   时间:2014-12-12 13:19:47    阅读次数:128
c++ mktime()
今天联系写一个日历的程序,需要算出月份中的第一天是星期几,用到了mktime()这个函数,感觉这个函数挺有用的,分享给大家。原型:time_t mktime(struct tm *)其中的tm结构体定义如下:struct tm {int tm_sec; /* 秒 – 取值区间为[0,59] */in...
分类:编程语言   时间:2014-12-12 11:22:51    阅读次数:215
组合题目的分析
首先不妨考虑1个特殊情况,当n趋于无穷的时候,|t| = 1, 显然可以。                              然后考虑任意一个长度为2*n的区间。不妨设为[a, a + 2n] , 考虑该区间的任意                一个整数m, 显然m = (a + n) + r, 其中r属于[-n, n]。故包含在该区间的ai都可以                写...
分类:其他好文   时间:2014-12-12 01:24:09    阅读次数:186
BZOJ 3798 特殊的质数 分块打表
题目大意:求[l,r]区间内有多少个质数可以分解为两个正整数的平方和 考虑到对于一个数Check一下是O(√n)的 我们可以将3*10^8分成3000块 每块10W 对于整块的打表求出有多少个质数 块内暴力 令n为块的大小 则时间复杂度为O(n√n) 打表时忘加优化忘开O2 打了一下午 各种酸爽 #include #include #include #include #includ...
分类:其他好文   时间:2014-12-11 20:53:49    阅读次数:533
BZOJ 3790 神奇项链 Hash+二分+树状数组
题目大意:给定一个串,问这个串最少可以由回文串拼接多少次而成(拼接可以重叠) 首先将每两个字符之间插入占位符,然后Hash+二分搞出所有极大回文串(可以用manacher,我不会) 问题转化成了给定一些区间,求最少的能覆盖整个数轴的区间 将所有区间按照某一端点排序 然后上树状数组即可 回头还是去学学manacher吧。。。 #include #include #include #i...
分类:编程语言   时间:2014-12-11 15:53:11    阅读次数:207
hihoCoder 1078 线段树的区间修改
还是最基础的线段树噢  这次是区间修改 #include #include #include #define lc p<<1,s,mid #define rc p<<1|1,mid+1,e #define mid (s+e)/2 using namespace std; const int N = 100005; int sum[4 * N], setv[4 * N]; void pushup...
分类:其他好文   时间:2014-12-11 14:09:01    阅读次数:235
1355 巧克力 (线段树点+区间)
继续最水的线段树  简单粗暴 #include #include #include #define lc p<<1,s,mid #define rc p<>1) using namespace std; const int N = 100005; int add[4 * N], maxv[4 * N]; void pushup(i...
分类:其他好文   时间:2014-12-11 14:08:18    阅读次数:263
【分块】【权值分块】bzoj1901 Zju2112 Dynamic Rankings
论某O(n*sqrt(n))的带修改区间k大值算法。首先对序列分块,分成sqrt(n)块。然后对权值分块,共维护sqrt(n)个权值分块,对于权值分块T[i],存储了序列分块的前i块的权值情况。对于区间询问,需要获得区间中每个值出现的次数,然后按权值扫O(sqrt(n)),完整的部分我们可以通过权值...
分类:其他好文   时间:2014-12-11 13:59:55    阅读次数:573
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!