- 博客(15)
- 资源 (10)
- 收藏
- 关注
原创 表达式求值
Description 给出的表达式全为合法的四则运算表达式,含括号。 Input 每行一个表达式,数字全为int型整数,长度不超过100字符 Output 输出表达式的值,一律保留小数点后4位。 Sample Input 1 1+2 -1+2 -1+(-2) Sample Output 1.0000 3.0000 1.0000 -3.
2012-03-27 10:35:16 548
原创 判断表达式是否合法(推荐:*****)
Problem D: 表达式 Time Limit: 1 Sec Memory Limit: 4 MB SUBMIT: 375 Solved: 31 [SUBMIT][STATUS] Description 设S是一个合法的表达式,E为一个数字字符序列,则合法的表达式可以表示为:E, +E, -E, (S),+(S),-(S),S+(S),S-(S),S*(S
2012-03-21 16:56:55 1974
原创 富爸爸---财富自由之路
为什么不找一份工作 明确自身的特点 不同的象限,不同的人们 E:雇员,employee S:自由职业者(亲自做事的人),self-employed B:企业主(雇别人做事),business I:投资者,investor 作为伟大的领导者,我们首先必须是伟大的聆听者,如果你没有听清别人使用的语言,那么你将无法感受他们的灵魂,如果你没有感受到他们的灵魂,那么你永远也不会知道你在跟谁交谈
2012-03-16 20:30:15 1935
原创 富爸爸---穷爸爸
穷爸爸,富爸爸 钱来了又去,但如果你了解钱是如何运转的,就掌握了驾驭它的力量,并开始积累财富 穷人与破产者的区别是,破产是暂时的,贫穷是永久的。 热情是爱与恨的混合物。 他们并不计较市场时机,就像一位冲浪者,他们时刻等待着下一次浪的高高托起。 富人不为钱工作 对于穷爸爸,稳定的工作是一切; 对于富爸爸,不断地学习是一切; 管理一家公司最困难的工作是对人员的管理,学会在危险形势下领导
2012-03-16 20:29:30 1189
原创 草民经济学
作者南勇,畅销书还有《给你一个公司,看你怎么管》 本书特点,语言通俗易懂,对身边的经济现象进行了深刻的分析,语言幽默风趣但不缺乏逻辑。 第一章:给我一点耐心,给您一点基础 (经济学基本名词) GDP:国内生产总值 GNP:国民生产总值 汇率:及本国货币的价格,参考物是别国的货币 储蓄只能让穷人更穷,学会投资才能翻身 通胀:市场行情偏热,人们争相购物 通缩:市场行情偏冷,
2012-03-16 20:28:08 5146 1
原创 307 Sticks(*****)经典DFS+剪枝
/* 推荐题型:五星 经典DFS + 剪枝 题意:长度相同的木棒被分成许多段,求木棒原来状态的最短长度 此题重在剪枝,主要剪枝思路有: 使用数组a存储被分解成的各个部分的长度,木棒的每段被称之为s ①搜索范围从max到sum,且必须能被sum整除 ②为避免重复,组合成木棒的s从大到小排序,每根木棒的第一个s,也要求从大到小排序 ③在某层搜索中,如果a[i]没有使用,且a[i]==a[i+1],则
2012-03-09 22:29:48 793
原创 331 Mapping the Swaps(***)题不错
/* 使用冒泡排序更好,WA 思路:首先计算出最小移动次数,再进行dfs深搜 思路很重要,有了思路就去实现,如果思路能够得到一些改进更好! */ #include #include int n; int A[10]; int min; int ans; int c[50]; int search() { int AA[10]; memcpy(AA,A,sizeof(A)); int i
2012-03-09 22:28:33 539
原创 165 Stamps(*****)推荐
/* 推荐题型:五星,题很不错,锻炼思维。想到了要进行两次递归搜索,一次选值,一次判断。但是选值时会出现问题,因为无法知道上届。所以遇到了瓶颈,看别人代码后,很不错。dfs中的嵌套在两条if语句中,所以程序肯定会存在终止的情况。 题意:k种邮票,面值自定,共h张,求可组合成的最大值。要求从1开始连续。 */ #include #include int h,k; int ans[15],res
2012-03-06 08:08:58 576
原创 539 The Settlers of Catan
/* 一次AC,简单题 纠错经历: ①处需要正反标记 题意:每一条边只能走一次,求最长线。 思路:回溯 */ #include #include int n,m; bool G[30][30],visit[30][30]; int ans; void dfs(int cur,int count) { bool ok=false; for(int i=0;i<n;i++) if(G[c
2012-03-06 06:38:12 683
原创 639 Don't Get Rooked
/* 一次AC,题不难。 找错经历: ①处出错,不能使用sizeof()计算形参中数组长度 ②G的状态应分三种情况讨论。 题意:一个棋盘,放置rook,要求不能在同一行或同一列,除非中间有墙。 思路:回溯+状态存储,G值为0表示有墙,为1表示可放,为-1表示有冲突。 */ #include #include int n; int ans; void dfs1(int (*G)[7],int
2012-03-06 06:36:42 593
原创 301 Transportation(****)
/* 推荐题型:四星 题意:从A到B,接受那些订单可使船的受益最大。要求订单要么完全接受,要么完全拒绝 思路:子类枚举,回溯 回溯概念:在递归构造过程中,生成和检查过程有机结合起来,从而减少不必要的枚举。并不仅仅是指将状态恢复到原来的情况。 */ #include #include #include int n1,n2,n3; struct Node { int a; int b;
2012-03-06 06:35:47 551
原创 140 Bandwidth
/* 题目不难,一次AC 题意:将图中各节点排在一条线上,依次找出各节点到相邻节点的最长距离,各节点最长距离的最大值即为带宽。输出带宽最小的序列,和带宽的值,如果出现多种情况,输出字典序最小的那种。 思路:深搜+回溯+状态存储 */ #include #include #include #include char line[100]; bool G[30][30],visit[30];
2012-03-06 06:34:02 616
转载 如何传递二维数组
“除了第一维以外的所有维的长度都是元素类型的一部分,必须明确指定”——C++ Primer 二维数组指针 void funtion_name(int (*a)[10], int m, int n);//注意使用括号 或者 void funtion_name(int a[][10], int m, int n); 二维数组的引用 void funtion_name(int (
2012-03-04 20:00:05 468
原创 10012 How Big Is It?(****)
/* 题意:一堆小球,要求使用最小的矩形将它们全部装起来。 要求小球必须接地,至少与其他一个小球相邻 思路:涉及到状态转移,用到动态规划思想。原来通过深搜,剪枝结果WA,后来想到两个相邻小球半径相差很大的情况,于是没有了做题思路。看别人代码后,搜索中添加两个数组,A[i]表示第i个小球的半径大小,c[i]表示第i个小球排完后右边界最远的位置。于是有状态转移方程: c[i]=max(c[j]+2*
2012-03-02 22:36:53 578
原创 208 Firetruck(****)
/* 推荐:四星。 题意:求从消防站到火场路径有多少,并逐个输出 思路:深度搜索,状态存储 结果程序运行超时 可能存在数据,起点和终点不连通,但起点周围是一个稠密图。 这样会导致程序无解,但耗时很大。 如果可以先把那些可以到达终点的节点找出来,再在其中进行搜索就可避免! 解法一:通过深度搜索找出 解法二:通过并查集 解法三:tarjan算法,未解决。。。 */ //错误代码: #include
2012-03-02 22:34:47 554
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人