![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oj
文章平均质量分 75
黑衣少年
回首再逐江湖梦
展开
-
sicily 1050 Numbers & Letters
思路说明: 回溯的思想,5个数,先任意找2个数进行加减乘除,把这2个数运算后的结果当做一个数,按相同的方法搜下去 把4个数任取2个然后合并成3个,再继续搜下去 详细解释: 任意找两个数,两重for循环,得到所有可能情况 保存中间结果,在dfs函数里,新建立一个长度5的int数组,其中第0位保存中间结果,其它依次保存选取两个数后剩下来的数 其中dfs时原创 2013-10-19 00:53:04 · 928 阅读 · 2 评论 -
sicily 1024 Magic Island
思路说明: 遍历一个树,得到树上的最长路径详细解释: 定义一个struct,三个int分别表示起点,终点,权值 树的表示,用vector数组,vector[i]表示以第i点为起点的边的集合 某个点可能和多个点相连,要计算比较最大值易错点: 节点访问的标记位置个人心得: vector数组,可以用下标访问,以前学过,用原创 2013-10-19 01:22:21 · 773 阅读 · 0 评论 -
soj 1509 rails 栈的应用
思路说明: 这一题就是给定一个1~N排列,判定是否是1~n输入序列的出栈序列,其中1~n可以任意时刻出栈入栈,也是黑书上一道例题吧详细解释: 对输入序列从头开始检索,fp是输入序列的下标,rp是输出序列的下标,并且新建一个栈 if( fp==rp) fp++,rp++; else{ while( !st.empty() && s原创 2013-10-25 02:21:03 · 1034 阅读 · 1 评论 -
soj 1152,1153 马的周游问题
思路说明: 运用回溯的思想,搜索马的移动,加速得到解,选择的时候优先子选择数目少的位置,即拐角处详细解释: 马的移动和走迷宫一样的枚举#include#include#include#include#include#includeusing namespace std;typedef struct posi{原创 2013-10-21 01:40:40 · 1064 阅读 · 2 评论 -
uva 106 Fermat vs. Pythagoras (勾股数组性质的研究)
思路解释: 主要是根据定理来求素勾股数,然后对每一组勾股数乘以相应系数,就得到所有勾股数详细解释 若果 a, b, c 三者互质(它们的最大公因数是 1),它们就称为素勾股数。 以下的方法可用来找出素勾股数。设 m > n 、 m 和 n 均是正整数, b= m^2 − n^原创 2013-10-26 04:01:08 · 717 阅读 · 0 评论 -
uva 108 Maximum Sum 最大子矩阵和
思路说明: 简单的说求最大子矩阵和,先将矩阵转化为一维,然后在一维区间上求最大子区间和详细解释: 子矩阵在列上可以变化,行上也可以变化 先假定只可以在行上变化,那么我们要看的就是所有1*k,2*k,3*k,......k*k的矩阵 1*k的矩阵有k个,2*k的矩阵原创 2013-10-20 02:52:57 · 744 阅读 · 0 评论 -
hdu 1003 Max Sum
思路说明: 这是一道简单却有点意思的题(虽然我WA了好几次),只要你知道dp,最核心的求最大子段和就解决了 动态转移方程是sum[j]=max(sum[j-1]+a[j],a[j])详细解释: sum[j]表示从0到j,最大连续子段和,直接的想就是前面的和小于0的话,子段就重新开始了,和前面没有关系了原创 2013-10-20 02:21:06 · 678 阅读 · 0 评论 -
leetcode sqrt
这题是给出一个x,求平方根。 一种直接二分,一种牛顿迭代求不动点。 二分:class Solution {public: bool isAns(long long r, long long x) { if (r*r<=x && (r + 1)*(r + 1)>x) return true; return false;原创 2015-06-11 10:37:50 · 389 阅读 · 0 评论 -
codevs 1380 没有上司的舞会(树形dp)
树形dp经典题的稍微变化题目Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起与会。思路:dp[i][0] 代表i不去,i为根子树的最大欢乐度 dp[i][1] 代表i去,i子树的最大欢乐度i是叶子:dp[i][0] = 0原创 2015-06-11 21:27:51 · 473 阅读 · 0 评论