摘要: CF 600B 题目大意:给定n,m,数组a(n个数),数组b(m个数),对每一个数组b中的元素,求数组a中小于等于数组该元素的个数。 解题思路:对数组a进行排序,然后对每一个元素b[i],在数组a中进行二分查找第一个大于b[i]的位置即为结果 /* CF 600B Queries about le 阅读全文
posted @ 2016-04-10 16:33 tan90丶 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 二分查找前提条件:带查找的数列有序 二分查找,也叫折半查找,它遵循三步法,把原序列分成元素个数尽量接近的两个子序列,然后递归查找。二分查找只适用于有序序列。 时间复杂度:O(logn) 尽管可以递归实现,但二分查找一般写成非递归的。 /* @function:在有序序列A中查找key的位置 @par 阅读全文
posted @ 2016-04-10 16:05 tan90丶 阅读(729) 评论(0) 推荐(0) 编辑
摘要: CF 628C 题目大意:给定一个长度为n(n < 10^5)的只含小写字母的字符串,以及一个数d,定义字符的dis--dis(ch1, ch2)为两个字符之差, 两个串的dis为各个位置上字符的dis之和,求和给定的字符串的dis为d的字符串,若含有多个则输出任意一个,不存在输出-1 解题思路:简 阅读全文
posted @ 2016-04-10 14:07 tan90丶 阅读(341) 评论(0) 推荐(0) 编辑