随笔分类 -  C++

摘要:const * 后面是常量指针* const 是常量 阅读全文
posted @ 2014-08-27 20:44 hansongjiang8 阅读(123) 评论(0) 推荐(0)
摘要:为了在人面前畅快的吹牛逼,你必须学会背后努力 -----张小二。写在转载之前:sizeof到底是多少?本来我没有关注,只是有次室友问了我几个sizeof的问题,我被问住了,他当时问我了sizeof(a);是数组,则是数组的字节大小,如果 void fun(int a[],int len){ cout... 阅读全文
posted @ 2014-07-26 23:45 hansongjiang8 阅读(287) 评论(0) 推荐(0)
摘要:经过一段时间的闭馆修炼,张小二我又学到了不少东西,准备去会一会那个变态的面试官,我的未来他做主。M:是你小子。z:心理说,(是你大爷我),脸上满脸堆笑,连声说,是我是我,M:我们的大门随时向你打开,只要你达到我们的要求,废话少说,我们开始吧;3z:so eazy,1 。树有边和点组成,是一种特殊的图... 阅读全文
posted @ 2014-06-28 00:44 hansongjiang8 阅读(324) 评论(0) 推荐(0)
摘要:以前一想到学贪心的时候学到了,其实贪心算法的应用是前提的,在当前情况的币值下,例如我们常见 1,2 ,5,10都是精心设计的。其实大多数应该用动态规划,当然本文只用了搜素。具体思路看下面的连接。 http://www.acmerblog.com/dp6-coin-change-4973.html根据这个博客学习了下,我是按照我以前写的整数分解来写的,其实主要是分解的时候防止重复 例如 1 2 ... 阅读全文
posted @ 2014-06-26 20:50 hansongjiang8 阅读(547) 评论(0) 推荐(0)
摘要:测试的数据都正确啊,跟别人正确代码也对比了一下,一直wrong ans,这道题是搞不定了,思路是这样的,一个int 的数,例如 一个数的二进制是1001100,那么大于这个数的最小的有相同个数1的数是都少?我的思路是这样:既然最小那么我就每次加一试试:,然后判断1个数是否相同,以上个数为例。1001... 阅读全文
posted @ 2014-06-23 20:16 hansongjiang8 阅读(116) 评论(2) 推荐(0)
摘要:主要思想来自 http://blog.csdn.net/wuyanyi/article/details/7243580 题目的连接,头次提交的同学需要注册 http://acm.nyist.net/JudgeOnline/problem.php?pid=258 此题多年前出现在江湖之中,微软面试100题有,2014网易有道又冲出江湖,此题是单调栈的使用,想了两天,明白一点。得不断的思考啊 其实还... 阅读全文
posted @ 2014-06-23 13:43 hansongjiang8 阅读(349) 评论(0) 推荐(0)
摘要:d[n]=min(dp[n-1]+1,dp[n/2]); n为偶数dp[n]=dp[n-1]+1; n为奇数其实dp[n-1]和dp[n/2]哪个小呢?我们用二进制表示一个数 因为此时n为偶数所以,尾为0,我们希望通过减去一能否可以xxxxx数出现更多的0;1.右移动一位:减少一位,末尾的0去掉2.... 阅读全文
posted @ 2014-05-26 13:08 hansongjiang8 阅读(209) 评论(0) 推荐(0)
摘要:d[n]=min(dp[n-1]+1,dp[n、2]); n为偶数dp[n]=dp[n-1]+1;答案为18怎么通过计算求得答案?#includeusing namespace std;int d[2014];int min(int x,int y){ if(x>y) return y; ... 阅读全文
posted @ 2014-05-15 12:52 hansongjiang8 阅读(233) 评论(0) 推荐(0)
摘要:dp[ i][j]=max(四个方向点)+1; 四个方向上的点应该存在,且大于i,j,表示以i,j开始的点最长路径,递归的结束条件不用判断,因为 dp[][]最大数位置肯定 直接结束,随后次大值肯定能结束,以此类推,所以可以执行,但自下而上动态规划不好写。因为要确定这些数的大小,麻烦。 #include#includeusing namespace std;int dp[101][101];i... 阅读全文
posted @ 2014-05-11 19:07 hansongjiang8 阅读(166) 评论(0) 推荐(0)
摘要:虽然不难,我却调了2个小时,手太生题目:4.在二元树中找出和为某一值的所有路径题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如 输入整数22和如下二元树 10 / \ 5 12 / \ 4 7则打印出两条... 阅读全文
posted @ 2014-05-10 16:38 hansongjiang8 阅读(168) 评论(0) 推荐(0)
摘要:这个方程有两种形式,本文采用if(s[i]=s[j]) dp[i][j]=d[i-1][j-1] dp[i][j]=min(dp[i][k]+dp[k+1][j],dp[i][j]) (i=#include#includeusing namespace std;#define min(x,y) (x... 阅读全文
posted @ 2014-05-04 21:18 hansongjiang8 阅读(128) 评论(0) 推荐(0)
摘要:输入 1500 3150 300100 200 输出结果470 471100 200150 300470 471 #include #includeusing namespace std;struct node{ int a ; int b;}s[100];int compare(const void *a,const void *b){ node *pa=(node *... 阅读全文
posted @ 2014-05-01 15:53 hansongjiang8 阅读(182) 评论(0) 推荐(0)