算法分析与设计第三章
凌晨四点的洛杉矶fly
这个作者很懒,什么都没留下…
展开
-
全排列问题
#include<bits/stdc++.h>using namespace std;int b[100];int vis[3000];int n;//求1到n的全排列void dfs(int t){ if(t>n) { for(int i=1;i<=n;i++) { cout<&l...原创 2019-09-02 19:12:16 · 81 阅读 · 0 评论 -
整数划分问题
#include<bits/stdc++.h>using namespace std;int sum(int n,int m)//把正整数n划分成最大项为m的方法数。{ if(n==1||m==1)return 1; else if(n==m)return 1+sum(n,m-1); else if(m>n)return sum(n,n); ...原创 2019-09-02 19:13:59 · 148 阅读 · 0 评论 -
循环赛日程表
#include<bits/stdc++.h>using namespace std;int a[1000][1000];void f(int k){ a[1][1]=1; a[1][2]=2; a[2][1]=2; a[2][2]=1; int n=2; for(int w=2; w<=k; w++) {...原创 2019-09-03 09:48:13 · 172 阅读 · 0 评论 -
找第k小的数
#include<bits/stdc++.h>using namespace std;int a[100];int select(int left,int right,int k){ if(left>=right)return a[left]; int i=left; int j=right; int prior=a[left]; ...原创 2019-09-11 15:13:21 · 590 阅读 · 0 评论 -
求数组中第k小的元素
方法一:分治:#include<iostream>using namespace std;int a[100];int f(int left,int right){ if(left==right) { if(a[left]>0)return a[left]; else return 0; }...原创 2019-09-11 16:37:15 · 248 阅读 · 0 评论