
递归
WildKid1024
骐骥一跃,不能十步。驽马十驾,功在不舍!
展开
-
UVA 536——Tree Recovery
题意:给定一颗树的先根遍历和中根遍历,然后求后根遍历。 思路:先根遍历的第一个为root,然后找到root在中根的位置,进而递归左右儿子求解。 code: #include #include #include #include #include using namespace std; char s1[30],s2[30]; void sol(int p1,原创 2016-03-21 08:53:45 · 345 阅读 · 0 评论 -
UVA 11988——Broken Keyboard (a.k.a. Beiju Text)
题意:给定一个字符串,然后【会将光标跳转到头,】会将光标调到尾,问最后正确的输入。 思路:直接用list来模拟即可,【的时候就在头插,】就在尾插,也可根据递归顺序解。 code: #include using namespace std; char s[100001]; void dfs(int lt,int rt){ int st=rt; while原创 2016-03-21 16:49:41 · 434 阅读 · 0 评论 -
hdu 5802——Windows 10
题意:给定两个音量,需要从l调到r,每次只能向上一下或者向下(1,2,4,2^n)下(连续向下的情况下),每次可以停歇或向上来打断向下的连续性,最少需要多少步?思路:当l小于r时显然答案是r-l,当l>r时那么不停地下降到r附近,此时只需要在r的上方和下方挑选最少的步数即可。注意向上也可以打断向下的连续性。code:#include <iostream> #include <cstdio> #inc原创 2016-08-06 12:19:06 · 429 阅读 · 0 评论