啊哈算法学习笔记
wikioi_bai
时间并不会因为你的迷茫和迟疑而停留,就在你看这篇文章的同时,不知道有多少人在冥思苦想,在为算法废寝忘食,不知道有多少人在狂热地拍着代码,不知道又有多少提交一遍又一遍地刷新着OJ的status页面……
没有谁生来就是神牛,而千里之行,始于足下!
展开
-
暴力枚举之火柴棍等式
/* 有是一道有关暴力枚举的题目,其实题目很简单,就是给你m根火柴,看你能摆出来多少 个逻辑上成立的加法等式,不难发现,去掉+和=就只剩下了m-4根火柴来组成数字了, 那么我们只需要依次枚举A,B,C就可以达到要求了,为了减少时间的复杂度,我们只要 枚举两个变量A,B就好C的枚举可以通过A+B得到,那么我们就很容易的发现,时间复杂度 由原来的O(n3)->原创 2014-11-26 21:17:07 · 877 阅读 · 0 评论 -
炸弹人(暴力枚举)
/* 依次枚举每一个点,很水的一道搜素题目,被我写的这么弱智,其实也是看啊哈上面 写的,说实话,这样的写法真的是简单易懂,很能理解暴力枚举的特点,一个一个点 的枚举,一个一个点的找,只要找到了我们需要的目标解,ok记录下来,继续往下找 然后对于所有找到的解进行更新,找到一个最大的,那么就是我们所说的ans了。 记住4方向搜索的方法,以后会陆续更新8方向的原创 2014-11-26 21:20:49 · 990 阅读 · 0 评论 -
搜素之任意数的拆分和
# include # include using namespace std; int a[1001] = {1}; int n,t; int ans = 0; int print( int t ) { cout<<n<<"="; for ( int i = 1;i <= t-1;i++ ) { cout<<a[i]<<"+";原创 2014-11-26 21:18:37 · 516 阅读 · 0 评论 -
第一章---桶排序2
# include # include using namespace std; int main(void) { int book[1001]; for ( int i = 0;i <= 1000;i++ )book[i] = 0; int n;cin>>n; int t; for ( int i = 1;i <= n;i++ ) {原创 2014-11-25 20:40:56 · 427 阅读 · 0 评论 -
第一章排序----桶排序
# include # include using namespace std; int main(void) { int a[11]; int t; for ( int i = 0;i <= 10;i++ )a[i] = 0; for ( int i = 1;i <= 5;i++ ) { cin>>t;原创 2014-11-25 20:39:54 · 477 阅读 · 0 评论