算法竞赛宝典第二部
slyzs
这个作者很懒,什么都没留下…
展开
-
阶乘0个数(分治算法实现)——暂未完成,二分细节不明
/* 目的:找出谁的阶乘正好末尾零的个数为Q 给出末尾0的个数范围<10^8 根据n!算0的个数公式 1.能够算出来上限是5 0000 0000 2.能够算出来n!0的个数与Q的关系,而且两者呈正相关,与二分法可挂钩 */ #include<iostream> #include<cstdlib> using namespace int solve(int n)...原创 2019-01-24 20:24:54 · 357 阅读 · 0 评论 -
棋子移动(递归算法)
将所有问题化为一个问题的递归 #include<iostream> using namespace std; void move(int k) { if(k==4) { cout<<4<<','<<5<<"-->"<<9<<','<<10&am原创 2019-01-31 15:02:47 · 2820 阅读 · 1 评论 -
地盘划分 ——朴素递归算法与优化版
小结:每次递归开始一个新的局面,之前的局面解决后,返回一个值,然后最开始的递归得到结果 #include&lt;iostream&gt; using namespace std; int z(int a,int b) { int s; if(a==b) return 1; else if(a&gt;b) { a=a-b; s=z(a,b)+1; return s; } ...原创 2019-01-31 17:04:02 · 530 阅读 · 0 评论 -
折半查找法(递归二分算法)(非递归二分算法)
#include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;` int main``原创 2019-01-23 10:40:03 · 177 阅读 · 0 评论 -
dp自顶而下与自底而上的Fibonacci实现
其实dp思想就是,暂时给你存着,别重复计算 相比冗杂不存储每次都重来的头铁递归,dp省时不少 #include<iostream> using namespace std; int fib1(int n,int arr[]) //自顶向下——备忘录 有返回值 { if(n==0) { arr[n]=0; return 0; ...原创 2019-02-27 14:58:46 · 195 阅读 · 0 评论 -
N皇后问题的普通递归与模拟
以后直接写功能函数,不要总是试图一步到位。 对于每一个x,每一个y都给它试试,如果行,立马对下一个进行匹配。 #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; using namespace std; int n, a原创 2019-02-26 20:35:13 · 117 阅读 · 0 评论