ACWing
MaxVen
这个作者很懒,什么都没留下…
展开
-
94. 递归实现排列型枚举(dfs递归枚举 ,next_permutation)
94. 递归实现排列型枚举把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1DFS版本#include<iostream>#include<cstdio&原创 2020-11-04 20:04:42 · 271 阅读 · 0 评论 -
92. 递归实现指数型枚举(二进制,dfs)
92. 递归实现指数型枚举从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3每个数 选不选对应一种情况2^n种情况#include<iostream>#原创 2020-11-04 19:34:55 · 154 阅读 · 0 评论 -
AcWing 842. 排列数字
AcWing 842. 排列数字dfs就是一个递归的过程n=4时的 过程推理n=4的过程分析:dfs内嵌dfs对于 第一层for()也就是 i=1的时候 第一层dfs(1)第二层 for ()i=2 第二层dfs(2)的时候 a[0]=1;a[1]=2;st[1]=1;st[2]=1;最内层的DFS 因为前面几层的标记 (st[i]=1)最后只有一个数字4符合倒数第二层 同理 有2个数字 因为for循环 倒数第二个数会依次扫到 3 4然后依次调用2次 最后结果 是 1234原创 2020-10-09 20:05:31 · 142 阅读 · 0 评论 -
AcWing 831. KMP字符串
kmp 就是子串求出next 数组后当 子串 匹配主串时 某位置不匹配直接跳转到 子串 next数组位置节省了 前缀的 匹配时间 1 2 3 4 5 6 7 8 9 主:a a b a a b a a c 子:aabaac 010120 当主6位置和子6位置不匹配的时候 这时候不是从子串的 第一位开始 而是直接判断子串的第三位 和目前的i也就是第原创 2020-10-06 07:37:44 · 76 阅读 · 0 评论 -
高精度(791.792.793.794 加减乘除)
AcWing 791. 高精度加法注意点:auto尾数下标为 length()-1 或者 size() -1AC代码#include<iostream>#include<cstring>#include<vector>using namespace std;vector<int> add(vector<int> &a...原创 2020-02-09 15:00:32 · 296 阅读 · 0 评论 -
二分专题(789-整数二分,790-浮点数二分)
二分两个 注意点在求数字范围时 中点的确认再求某以固定数字时 左右均为中点值AcWing 789. 数的范围AC代码及详解//AcWing 789. 数的范围#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int N...原创 2020-01-10 17:36:12 · 211 阅读 · 0 评论 -
一维/二维 前缀和及差分
AcWing 795. 前缀和听名字就是 数组当前位置 内部存的数 是他之前及本身的 和原本a[10]存的自己 现在 sum[0]=a[0],sum[1]=a[0]+a[1];以此类推。AC代码#include<iostream>using namespace std;const int N=1e5+10;int num[N];int main(){ int ...原创 2019-11-29 10:07:20 · 214 阅读 · 0 评论 -
ACwing 787. 归并排序
/* ACwing787. 归并排序*/#include<iostream>#include<cstring>#include<cmath>using namespace std;const int N=1e5+10;int num[N],temp[N];int n;void merge_sort(int l,int r){ i...原创 2019-11-24 20:34:24 · 112 阅读 · 0 评论 -
AcWing 快速排序(785,786)
模板题 AcWing 785. 快速排序#include<iostream>using namespace std;const int maxn=1e6+10;int num[maxn];void quick_sort(int num[], int l,int r){ if(l>=r) return ; int i=l-1,j=r+1; int ...原创 2019-11-18 21:42:00 · 238 阅读 · 0 评论