摘要:
二分查找算法 二分查找算法是一个非常常用的算法,也能解决很多问题,只要在一个区间内存在一个元素,使得这个数的左边满足某种性质,但是右边不满足这个性质,就可以用二分查找算法找出这个元素。 整数的二分查找 整数的二分查找会产生很多的边界问题 bool check(int); int bsearch_1( 阅读全文
摘要:
题解:第k个数 第k个数 给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。 输入格式 第一行包含两个整数 n 和 k。 第二行包含 n 个整数(所有整数均在1~109109范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 数据范围 1≤n 阅读全文
摘要:
算法:前缀和与差分 一维前缀和 a[N]为一数组,若存在s[N], 使得s[i]=a[1]+a[2]+a[3]+...+a[i], 则称s[N]为a[N]的前缀和数组。 前缀和用来求一个数组内给定区间所有元素的和,将其时间复杂度降为O(1). #include <iostream> using na 阅读全文