刘汝佳紫书
zzz130981
这个作者很懒,什么都没留下…
展开
-
树 UVa 548
高能预警:此文作者水平极差,漏洞百出,错误俯拾皆是,行文毫无逻辑!仅供自己研究所用。 递归遍历=深度优先搜索=dfs,二叉树中为先序、中序、后序遍历。 或者说是深度优先搜索,我把它称为纵向优先搜索,有点类似于在根节点处倒了很多水,水流下去的感觉。问题分解:1、读入和保存。2、建树。3、计算每个叶子到根的路径上的权和。4、比较哪个叶子上权和最小。5、如果有大于一个叶子权和最小,取出叶子上权最小的那个...原创 2018-02-26 19:43:21 · 254 阅读 · 0 评论 -
天平 UVa 839
高能预警:此文作者水平极差,漏洞百出,错误俯拾皆是,行文毫无逻辑!此文仅供作者自己研究所用。 不得不承认,刘汝佳老师实在是太厉害了(或许是因为我太弱鸡了、、、) 个人认为,最好理解这段代码的方式是这样:以题目给出的样例输入和图为例。递归函数有这样的性质:子函数没有结束之前,母函数是不会结束的。借用刘汝佳老师在紫书(P.77)中举得例子:知府还不知道今年收了多少粮食,皇帝怎么可能知道?也就是说,母...原创 2018-02-26 21:28:11 · 294 阅读 · 0 评论 -
油田 uva 572
高能预警:此文作者水平极差,漏洞百出,错误俯拾皆是,行文毫无逻辑!此文仅供作者自己研究所用。 所谓八连块没有什么神奇的,就是尽可能地把@字符连在一起,看能形成几块@的集合体。#include<cstdio>#include<cstring>using namespace std;const int maxn = 100 + 5;char pic[maxn][ma...原创 2018-02-27 10:28:27 · 335 阅读 · 0 评论 -
暴力求解法 分数拆分 uva 10976
#include<cstdio>using namespace std;const int maxn = 1000;int a[maxn],b[maxn];int main() { int k, x, y; while(~scanf("%d", &k)) { int i = 0; for(y = k + 1; y <...原创 2018-03-02 21:19:17 · 243 阅读 · 0 评论 -
二叉树的层次遍历 UVa122
拿到问题之后,看似很庞大的问题,不要害怕和焦虑,只要把问题一步步分解开来就好了。 作为任何一道题目,都需要输入、处理、输出三部分。 首先是输入。 然后是处理,看看题目,二叉树的层次遍历。那就很简单了,分为二叉树和层次遍历两个部分。 二叉树:怎样建树?怎样把输入保存在二叉树中? 如何层次遍历? 作为比较麻烦的检测输入是否合法,等把主体框架搭起来之后在收拾它也不迟。#include<cstdi...原创 2018-02-24 21:03:21 · 294 阅读 · 0 评论 -
二叉树重建 uva 536
#include<iostream>#include<cstring>using namespace std;char pre_order[27];char in_order[27];void build(int l1, int r1, int l2, int r2, int p) { if(l1 > r1) return ; for( p ...原创 2018-03-03 20:02:15 · 186 阅读 · 0 评论