![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《算法笔记》
Carney_Lsz
要相信每天都值得期待.
展开
-
有关lower_bound()和upper_bound()的使用
对lower_bound函数来说,它寻找的是第一个满足条件“值大于等于x”的元素的位置;而对于upper_bound函数来说,它寻找的是第一个满足条件“值大于x”的元素的位置。lower_bound函数://a[]为递增序列,x为欲查询的数,函数返回第一个大于等于x的元素位置//二分上下界为左闭右闭的[left,right],传入的初值为[0,n]int lower_bound(int a[],int left,iint right,int x){ int mid; //mid为原创 2020-10-05 10:51:39 · 161 阅读 · 0 评论 -
【PAT】Shortest Distance(前缀和)
思路:这道题时间卡的比较死,因此可以利用前缀和来计算两点距离不需要再次循环,从而大大的缩短时间,提高效率;其思路不难,值得注意的是a与b没说明大小,因此需要在写代码时比较一下。AC:#include <iostream>#include<algorithm>#include<cmath>using namespace std;int dist[100010];int sum[100010]={0};int main(){ int N;原创 2020-07-20 09:18:20 · 177 阅读 · 0 评论 -
八皇后问题(回溯法)
八皇后问题(英文:Eight queens),是由国际西洋棋棋手马克斯·贝瑟尔于1848年提出的问题,是回溯算法的典型案例。问题表述为:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。如果经过±90度、±180度旋转,和对角线对称变换的摆法看成一类,共有42类。 回溯算法思路八皇后问题如果用穷举...原创 2020-10-24 18:15:44 · 13811 阅读 · 3 评论 -
【PAT】PAT Ranking
PAT:A1025PAT Ranking(25 分)Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ranklists will be merged immediately ..原创 2020-07-19 15:39:00 · 109 阅读 · 0 评论 -
全排列问题解法
全排列的定义: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。有关代码:利用递归思想:#include <iostream>#include <cstdio>using namespace std;void permutation(int k, int n, int a[]){ //递归到底层 if(k == n-1) { ...原创 2020-07-19 15:27:07 · 263 阅读 · 0 评论