算法
I can丶
这个作者很懒,什么都没留下…
展开
-
动态规划
目录01背包完全背包最长上升子序列最长公共子序列01背包int N,V; // 物品数量、背包重量int value[MAX],volume[MAX]; // 物品价值、物品重量int dp[MAX]; // dp结果void solve(){ memset(dp,0,sizeof(dp)); for(int i=1;i<=N;i++) fo...原创 2018-07-11 19:23:09 · 166 阅读 · 0 评论 -
搜索算法
目录深度优先搜索(dfs)以八皇后问题为例深度优先搜索(dfs)以八皇后问题为例#define MAX 105int n,vis[3][MAX];int cnt=0;void dfs(int d){ if(d==n+1){ cnt++; return; } for(int j=1;j<=n;j++){ if(!vis[0][j] &...原创 2018-07-05 14:04:38 · 221 阅读 · 1 评论 -
素数筛
目录埃氏筛线性筛(欧拉筛)埃氏筛int prime[MAX],is_prime[MAX],tot=0;void sieve(){ memset(is_prime,1,sizeof(is_prime)); // 初始化为都是素数 for(int i=2;i<MAX;i++){ if(is_prime[i]){ prime[tot++]=i; /...原创 2018-07-05 14:11:25 · 180 阅读 · 0 评论 -
手写基础排序及查找算法
目录冒泡排序插入排序选择排序快速排序归并排序二分查找冒泡排序void bubble_sort(int a[],int n){ int t; for(int i=n-1;i>=0;i--) for(int j=0;j<i;j++) if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a...原创 2018-07-16 17:16:28 · 193 阅读 · 0 评论 -
图论算法
目录并查集最小生成树(克鲁斯卡尔)最短路(Dijkstra)最短路(SPFA)最短路(Floyd)拓扑排序欧拉路径并查集int fa[MAX];void init(){ for(int i=0;i<MAX;i++)fa[i]=i;}int find(int i){ int temp=i; while(temp!=fa[temp])t...原创 2018-07-07 20:55:04 · 427 阅读 · 0 评论 -
大数算法
目录大数相加大数相减大数相乘大数相除大数相加string add(string a,string b){ int temp=0;char c;string ans=""; while(a.size()>b.size())b='0'+b; // 补零 while(a.size()<b.size())a='0'+a; for(int i=0,j=a...原创 2018-08-21 18:43:23 · 422 阅读 · 0 评论