算法设计与分析
半山乱步
繁星瞬变,智慧永恒
展开
-
【算法设计与分析】回溯—n皇后问题
强烈推荐的教程:算法与数据结构,回溯法求解八皇后,最经典的递归问题_哔哩哔哩_bilibili#include<iostream>#include<vector>using namespace std;long long t;//put_queen函数用来改变attack矩阵void put_queen(int k,int i,vector<vector<int>> &attack){ //k是第几行,i是第几列 t++;原创 2022-05-13 22:21:26 · 259 阅读 · 0 评论 -
【算法设计与分析】动态规划问题
1.最长公共子序列问题#include<iostream>#include<vector>#include<algorithm>#include<string>using namespace std;int main(){ string str1; string str2; cin>>str1; cin>>str2; int n=str1.size(); int m=str原创 2022-05-13 20:34:57 · 107 阅读 · 0 评论 -
【算法设计与分析】回溯-组合问题
#include<bits/stdc++.h>using namespace std;vector<vector<int>> result; //存放所有符合条件的路径的结果集合resultvector<int> path; //存放符合条件的路径pathvoid backtrack(int n, int k, int startIndex){ if (path.size() == k) { result.push_back(pat.原创 2022-04-23 06:57:57 · 147 阅读 · 0 评论 -
【算法设计与分析】回溯-全排列问题
输入n,输出1-n的全排列#include<iostream>#define ll long longusing namespace std;void displaySolution(int a[],int n){ for (int i = 0; i < n; i++) { cout << a[i] << " "; } cout << endl;}void dif(int a[],int原创 2022-04-17 21:39:05 · 222 阅读 · 0 评论