acwing-递归实现排列型枚举


#include <iostream>using namespace std;const int N = 10;int path[N];//保存序列bool state[N];//保存状态int n;void dfs(int u){ if(u>n){ //递归边界

acwing 递归实现指数型枚举


#include <iostream>using namespace std;const int N=20;int n;bool vis[N]; //判断选还是不选void DFS(int u) //第几层就是筛选第几个数字{ if(u>n) //不可以有等号,如果有等号会少

Acwing-二进制中1的个数


题目a >> k & 1 可以取第该数字的二进制第k位的值比如 10 >> 2 & 110的二进制为 1010 ,右移2位为 0010,&1得0000,也就是0,第二位也是0参考答案

字符串匹配BF


参考:https://blog.csdn.net/raelum/article/details/128823560#include <iostream>#include <string>using namespace std;/*1、s[ ]是模式串,即比较长的字符串。2、p

acwing-单调栈问题


图来自:https://www.acwing.com/solution/content/27437/参考:https://raelum.blog.csdn.net/article/details/128969669//数组栈 #include <iostream>using namesp

选择排序详解


选择排序 (Selection Sort)选择排序是一种简单的排序算法。它的基本思想是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。步骤:首先在

C++ 高精度加法


#include <iostream>#include <vector>using namespace std;vector<int> add(vector<int> &A, vector<int> &B){ if (

【深基15.例1】询问学号


【深基15.例1】询问学号题目描述有 n(n≤2×106)n(n \le 2 \times 10^6)n(n≤2×106) 名同学陆陆续续进入教室。我们知道每名同学的学号(在 111 到 10910^9109 之间),按进教室的顺序给出。上课了,老师想知道第 iii 个进入教室的同学的学号是什么(最

c语言qsort方法使用


#include <stdio.h>#include <stdlib.h>int cmp(const void *a,const void *b){// return *(int*)a-*(int*)b; //正序 从小到大// return *(int*)b-*

Leetcode-704. 二分查找


Leetcode-704. 二分查找C语言题解int search(int* nums, int numsSize, int target){ int index = binarySearch(nums,0,numsSize-1,target); return index;}int bi