随笔分类 -  二分查找

gym101102D Rectangles (rmq+二分)
摘要:题意: 给你一个n*m(1e3)的矩阵,让你找出元素全部相同的子矩阵的个数。 思路: 可以预处理向左和向上的最大相同长度,然后对于每列用rmq维护一个区间最小值, 这个值表示向左延伸的长度,然后对于当前的元素,二分查找距离他最近的值小于他的上一个位置, 然后当前位置的贡献就是向左延伸的长度*纵坐标之 阅读全文

posted @ 2016-12-09 17:17 恶devil魔 阅读(196) 评论(0) 推荐(0)

hihocoder1200 Increase Charisma Points(二进制log拆解答案)
摘要:题意: 给定一张N个点的完全图,可以从任何一个点出发,同一个点可以经过多次。询问总路径长度不超过M的情况下,最多能够经过多少个点。 思路: 首先我们能够想到一个最简单的模拟算法。 建立数组dist[][],dist[i][j]表示经过i个点后,最后停留在j所以经过的最短路径长度。 那么有如下递推公式 阅读全文

posted @ 2016-09-06 11:12 恶devil魔 阅读(309) 评论(0) 推荐(0)

HDU5726 GCD(rmq+二分)
摘要:这道题是2016第一场多校的1004,趁机优化了一发 题意:10W长度的数组,10W个询问,让你回答任意两点间的gcd和全局相同gcd的数量 思路:用由于gcd一段固定以后具有单调性的,用rmq nlogn预处理出所有gcd 然后用二分遍历枚举所有gcd的个数,存在mp里 然后对于每次询问,用nlo 阅读全文

posted @ 2016-07-20 13:13 恶devil魔 阅读(218) 评论(0) 推荐(0)

HDU2899 Strange fuction(简单三分)
摘要:Problem Description Now, here is a fuction: F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 #include #include #include #include #include #include using namesp... 阅读全文

posted @ 2015-08-23 19:26 恶devil魔

二分模版
摘要:详情请见http://blog.csdn.net/int64ago/article/details/7425727//二分查找(找到返回左端,找不到返回右端)int bSearch(int x,int y,int g){ int mid,l=x,r=y; while(l>1; ... 阅读全文

posted @ 2015-08-16 09:56 恶devil魔

导航