二分
雪山上的小草
每天都是初学者
展开
-
hdu5726GCD
题目连接题意:给n个数,再来q个询问,每次给出l,r 输出gcd(a[l][,a[l+1],........,a[r])和区间最小公约数与该最小公约数相同的区间的个数求最小公约数gcd用倍增RMQ定义f[i][k]为从a[i]开始长度为2^k的区间的最小公约数那么f[i][k]=gcd(f[i][k-1],f[i+(1<<(k-1))][k-1]举个例子:n=5,a[5]={1,2,4...原创 2017-10-21 20:46:49 · 192 阅读 · 0 评论 -
二分查找各种姿势
最原始的二分查找:查找等于key的元素下标/** * 二分查找,找到该值在数组中的下标,否则为-1 */ static int binarySerach(int[] array, int key) { int left = 0; int right = array.length - 1; // 这里必须是 <= while (left <= rig...转载 2018-03-23 17:54:54 · 157 阅读 · 0 评论