HDU 1542 [POJ 1151] Atlantis (矩形面积并) 题意: 求N<=100个矩形的面积并 分析: 离散化: 这些技巧都是老生常谈的了, 不然浮点数怎么建树, 离散化x坐标就可以了 扫描线: 首先把矩形按y轴分成两条边, 上边和下边, 对x轴建树, 扫描线可以看成一根平行于x轴的 ...
分类:
其他好文 时间:
2018-02-12 11:17:20
阅读次数:
305
"题目链接" 考虑$[1,i]$的$mex[i]$,显然是单调的 而对于$[l,r]$与$[l+1,r]$,如果$nxt[a[l]] r$,那么$[l+1,r]$中所有$ a[l]$的数显然要改成$a[l]$ 询问排序,离散化,预处理下nxt[],剩下就是线段树的区间更新、查询了 cpp / 离散化 ...
分类:
其他好文 时间:
2018-02-11 22:41:33
阅读次数:
199
洛谷P2070 刷墙 离散化题意 区间覆盖 求覆盖了2次以上的线段有多少长 离散化一下,一条线段两个点,2n个点排序一下就行了 ...
分类:
其他好文 时间:
2018-02-11 22:40:53
阅读次数:
110
对于这种题: 给定n个数,如果一个数出现x次,则对答案的贡献为x^2,求这n个数对答案的贡献是多少。 n<=100000。 简单来说: 1 2 2 1^1+2^2 = 5 1 2 2 2 3 1 3 1 = 11 那么如果开一个数组来真正存这些你要平方的这些数,那这中间会有很多的“空档”,占内存不说 ...
分类:
其他好文 时间:
2018-02-06 12:56:57
阅读次数:
127
平面上圆的凸包算法 我们之前探讨过这个有趣的问题: 平面上有若干圆,求包含这些圆的所有凸集的交。 根据之前讨论的结果,直接按圆心排序做扫描线的方法是错误的。我们需要考虑圆上的每一个点是否可以作为凸包上的一部分。 然而圆上的点的数目是无限多的。我们需要借助离散化的思想:因为我们发现凸包一定是由若干圆弧 ...
分类:
编程语言 时间:
2018-02-06 01:21:03
阅读次数:
368
Once Bob saw a string. It contained so many different letters, that the letters were marked by numbers, but at the same time each letter could be met ...
分类:
其他好文 时间:
2018-02-05 12:47:47
阅读次数:
477
"Luogu" 写个并查集来维护就行了。先合并所有相等的变量,如果有两个不相等的变量相等,那么就输出NO。注意得先合并所有相等的变量,再来判断。因为如果两个操作一起搞的话,可能会有两个变量在某次查询的时候不相等,但后面被合并了。还有就是$i,j$贼jb大,要离散化一下。 cpp include co ...
分类:
其他好文 时间:
2018-02-01 23:15:36
阅读次数:
211
一、HashMap底层实现 简单的可以从以下两个纬度去理解HashMap的底层实现原理。 数组:充当索引 链表:处理碰撞 HashMap用一个指针数组table,离散化key的作用,当加入一个 key 的时候,通过Hash算法,计算出 key所在的数组下标 i,如果table[i]位置的对象元素为n ...
分类:
其他好文 时间:
2018-01-28 20:05:05
阅读次数:
141
URAL 2072 思路: dp+离散化 由于湿度的范围很大,所以将湿度离散化 可以证明,先到一种湿度的最左端或者最右端,然后结束于最右端或最右端最优,因为如果结束于中间,肯定有重复走的路 状态:dp[i][0]表示湿度为i结束于左端最优的步数 dp[i][1]表示湿度为i结束于右端最优的步数 初始 ...
分类:
其他好文 时间:
2018-01-28 17:21:08
阅读次数:
189
题目链接 矩阵加速floyd……牛逼牛逼。 注意离散化,注意更新的时候要用旧的权值矩阵更新。 ...
分类:
其他好文 时间:
2018-01-28 11:23:51
阅读次数:
149