码迷,mamicode.com
首页 >  
搜索关键字:区间    ( 16036个结果
bzoj3817 Sum 类欧几里得算法
这道题目solution写了两种做法,都讲一下吧。        首先,令x=r^0.5,显然,如果x>2,则可以不断减2到小于二;如果x>1,那么变为2-x。因此此时必有x        题目等价于在数轴从0~n,以y长度为一个区间(左闭右开)黑白交替染色,求黑色部分覆盖的整点减去白色部分覆盖的整点。然后把最后面零散的部分暴力计算,如果最后一个是黑色的也暴力计算。那么这个时候黑白段数相等,且...
分类:编程语言   时间:2016-05-13 01:05:04    阅读次数:177
HDU 1556 Color the ball
Description1..N 给出N个更新a, b [a, b]区间内所有数 + 1 最后问 1..N是多少Algorithm线段树 写了一个线段树的类 然后线段树的核心数组不能放在类里面,不然就爆炸了 于是放在线段树外 过了 此外JAVA TLE 写了C++的这个线段树是一个完全二叉树 用数组实现 (a数组) a中的每一个元素记录这个区间[l, r] 加的次数x 0号节点...
分类:其他好文   时间:2016-05-13 00:58:23    阅读次数:209
HDU 3473-Minimum Sum(划分树-求区间sigma最小值)
Minimum Sum Time Limit: 16000/8000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3710    Accepted Submission(s): 852 Problem Description You are given N po...
分类:其他好文   时间:2016-05-13 00:47:22    阅读次数:352
计数排序
前几篇博客排序算法都是 用的比较排序,时间复杂度最低的是 O(nlgn),这也是比较排序最优的时间复杂度。 这次计数排序用的是线性时间复杂度的排序,也就是说不是通过比较来确定排序顺序的。 计数排序是 假设n个元素中的每一个都是在0到k区间内的一个整数,也就是整个数组里最大的数是 k,这是我们需要一个数组B[]来存放排序的输出,用C[]来提供临时存储的空间。其中,特别有意思的是,C[i],它保存...
分类:编程语言   时间:2016-05-13 00:45:53    阅读次数:145
VIJOS 1923 漫长的等待
题意简述给定n个数a[i] n<=10^5 1<=a[i]<=10^9 m次询问 m<=10^6 每次循环第l个数到第r个数之间,数的大小在[k,w]中的数的个数分析题目求的是一个二维区间和 二维树状数组? 然而n在10^5的数量级 时间与空间承受不了二维树状数组能同时支持询问和修改 然而这题套用二维BIT的话并不需要随时修改 使用二维BIT未免大材小用了再仔细分析题目 题目后...
分类:其他好文   时间:2016-05-13 00:19:59    阅读次数:136
《STL源码剖析》学习笔记-第6章(一) set相关算法
STL中定义的set要求元素不得重复且已经排序。而set算法要求的都是有序区间(输出也是有序的),但元素可以重复出现。STL提供了4个set相关的算法,分别是并集(union)、交集(intersection)、差集(difference)和对称差集(symmetric difference),这4个算法接受的set必须是有序区间,都至少接受4个参数,分别表示两个set区间。一般而言,set算法前4...
分类:编程语言   时间:2016-05-13 00:18:51    阅读次数:254
GDOI2016口胡题解
DAY 1t1:暂无。 t2:先把区间合并,然后每个位置都会属于一个区间。设f[i,j]表示以A串第i位和B串第j位匹配为结尾的LCS。那么转移有两种情况,一种是第j位可以放一个和A串第i位一样的字符,只要当前j所在的区间还未被使用的A串第i位字符个数不为0即可。如何知道使用了的个数?因为你清楚f[i-1,j-1]的值,而A串又是固定不动的,设i-f[i-1,j-1]=k,belong[j]表示j...
分类:其他好文   时间:2016-05-12 23:14:53    阅读次数:126
【BZOJ4385】[POI2015]Wilcze do?y【单调队列】【前缀和】【Two Pointers】
【题目链接】 题解: 如果区间[j, i]固定,那么一定是将权值最大的一段变为0。 用单调队列维护一段区间内权值最大的子段下标(这里记录右端点下标,设为x),枚举右端点i,用尺取法计算出j。 一段区间[j, i]合法的条件是sum[i] - sum[j - 1] - (sum[x] - sum[x - d]) 复杂度: 时间复杂度:因为每个点最多遍历2次,复杂度为O(n)...
分类:其他好文   时间:2016-05-12 22:08:36    阅读次数:238
HDU 1698 Just a Hook 线段树成段更新
算是我真正意义上的区间更新的第一题,我是这样理解区间更新的: 为了节省时间,在更新区间的时候不必每次都更新到叶子节点。如果当前节点的的区间被包含在查询区间内,就暂时只更新这个节点。但是如果仅仅这样,将来在下次更新的时候,如果涉及了该节点的孩子节点,就会出错。 所以有一个办法:在更新的时候,如果我们明确知道了该节点的儿子节点涉及到了将要更新的区间,就事先把它的左右儿子节点按照父节点的val更新了...
分类:其他好文   时间:2016-05-12 21:29:56    阅读次数:163
CSU 1728 线形逐步共聚合反应(三分)
题意:给你n个东西,然后每个东西里面a物质各加了ai,然后让你往每个东西里面加等量的b物质,要求这里面 |sum(a)-sum(b)|最大的一个区间的这个值最小,问你b物质应该加多少? 题解:假设b物质加x,让s(i,j)=sigma(a[k]-x)要求的是最小化 max|s(i,j)| (i,j都属于1到n) 光这么看的话基本是没有什么想法的,我就是太蠢,在这里愣了好久不知道怎么做,其实应该...
分类:其他好文   时间:2016-05-12 21:29:32    阅读次数:132
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!