码迷,mamicode.com
首页 >  
搜索关键字:离散化    ( 1590个结果
vijos 1002过河[单调dp,滚动数组,离散化]
这道题是NOIP第一道DP优化题,看似容易,实际上想要满分也颇有难度。 传送门:1002 过河 算法 此题显然要用到DP,DP方程也显而易见: if (stone[i]) f[i]=min{f[i-j]}+1; (S else f[i]=min{f[i-j]}; 这样的时间复杂度为 O(LT) ,空间复杂度为 O(L) 。 而此题的L高达 10亿 ,所以这种朴素的方法只能得 30...
分类:编程语言   时间:2014-10-22 14:44:16    阅读次数:309
BZOJ 2141 排队 分块+树状数组
题目大意:给定一个序列,m次交换两个数,求初始逆序对数及每次交换后的逆序对数 首先离散化,分块,对于每块建立一个树状数组,保存这个块中的所有元素 然后对于每个询问(x,y) (x a[i] a[i]>a[x] ++ans a[i] a[i]>a[y] --ans 然后对于块中的树状数组处理,块外的暴力 注意此题元素有重复 亲测可信 RANK5吓尿0.0 为何块套树要比树套树还快…...
分类:编程语言   时间:2014-10-22 14:42:48    阅读次数:286
BZOJ1645 [Usaco2007 Open]City Horizon 城市地平线
本来想打线段树的说。。。就是把坐标离散化了,然后区间最大求和即可。。。后来觉得有点烦的说(silver题就要线段树。。。),于是看了下usaco的题解,发现了个高端的东西:善用STL里的容器和迭代器就可以了。以下就是高端程序: 1 /*********************************...
分类:其他好文   时间:2014-10-21 17:15:11    阅读次数:243
HDU1542Atlantis(扫描线)
HDU1542Atlantis(扫描线) 题目链接 题目大意:给你n个覆盖矩形,问最后覆盖的面积。 解题思路:将每个矩形拆成两条线段,一条是+1的,另一条是减1的,然后扫描先从上往下扫描,碰到加1的那条线段,那么这条线段范围内的节点的覆盖信息就+1,直到碰到减1这个线段范围内的节点的覆盖信息都需要减1。这样说可能理解不了,就可以画画矩形然后画下扫描线在理解理解。然后就是需要离散化...
分类:其他好文   时间:2014-10-19 15:43:22    阅读次数:285
UVA11983 - Weird Advertisement(扫描线)
UVA11983 - Weird Advertisement(扫描线) 题目链接 题目大意:给你n个覆盖矩形,问哪些整数点是被覆盖了k次。 题目大意:这题和hdu1542是一个题型,但是这题求的是覆盖k次的点,所以pushup里面就要改一下,具体的看代码把,大概的意思就是每次都是通过下面的两个孩子节点的覆盖信息更新父节点的覆盖信息。然后这题也是需要离散化建树。比较需要注意的是这题...
分类:其他好文   时间:2014-10-19 15:39:40    阅读次数:317
hdu 4288 线段树+离线+离散化
http://acm.hdu.edu.cn/showproblem.php?pid=4288 开始的时候,果断TLE,做的方法是,线段树上仅仅维护%5==3的坐标,比如1 2 3 4 5 6 7  如果删除第三个数,就将3,6的位置全+1,就是向右偏移以为,但是求和还是很慢,所以即使10秒,还是TLE。。。 正确做法: 1、节点内维护sum[0...4]分别代表区间内%5==i的和 2、结...
分类:其他好文   时间:2014-10-17 18:49:40    阅读次数:188
CodeForces 19D Points(离散化+线段树+单点更新)
题目链接: huangjing 题意:给了三种操作 1:add(x,y)将这个点加入二维坐标系 2:remove(x,y)将这个点从二维坐标系移除。 3:find(x,y)就是找到在(x,y)右上方的第一个点。 思路:我们可以建立n个set以x为横坐标,那么我们这个题就转化为找一个最小的x是否存在满足条件,那么x一旦被找到,那么纵坐标就自然而然的找到了,当然更新操作就是对maxy的...
分类:其他好文   时间:2014-10-17 09:06:24    阅读次数:193
poj 2689 素数筛选的巧妙使用
题目:    给出一个区间[L,R]求在该区间内的素数最短,最长距离。 (R    由数论知识可得一个数的因子可在开根号内得到。所以,我们可以打出5*10^4内得素数。然后,在用一次筛法把在[L,R]内得合数找到,则剩下的就是素数了。这里要用到离散化,把一个数 x - L 保存在数组里。因为,直接保存肯定不行,但是我们发现区间特点较小。所以,可以想到离散化。   #include #i...
分类:其他好文   时间:2014-10-16 17:58:12    阅读次数:223
hdu1542 线段树+扫描线+离散化
线段树+扫描线...
分类:其他好文   时间:2014-10-15 03:30:29    阅读次数:276
hdu4288 Coder(线段树+离散化)
题目链接: huangjing 题意: 题目中给了三个操作 1:add x 就是把x插进去  2:delete x 就是把x删除 3:sum 就是求下标%5=3的元素的和。 还有一个条件是插入和删除最后都要保证数列有序。。。 首先告诉一种暴力的写法。。因为时间非常充足,需要对stl里面的函数有所了解。。 就是直接申明一个vector的容器,然后直接用vector里面的操作比如...
分类:其他好文   时间:2014-10-14 00:39:57    阅读次数:295
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!