2014年7月21日
摘要: 题意:给N个不同的花,和M个花瓶,不同的花放在不同的花瓶内有不同的美观度。 求放入N个花后,最大美观度为多少?做法:用f[i][j]来表示前i朵花放在前j个花瓶的最大美观度,有两种情况: 1.f[i-1][j-1]加上当前值。 2.不加当前值。代码:#include #include #incl... 阅读全文
posted @ 2014-07-21 17:09 一锅土豆 阅读(95) 评论(0) 推荐(0) 编辑
  2014年7月19日
摘要: 题意:有N个牛舍排在一条线上,坐标分别为X,求把C个牛各放入一个牛舍时最大化的最近的两头牛之间的距离。做法:用二分法,和贪心法。将距离分割,判断最小距离为d是能否满足条件,最终选取最大值。代码:#include #include #include using namespace std;int n,... 阅读全文
posted @ 2014-07-19 16:39 一锅土豆 阅读(101) 评论(0) 推荐(0) 编辑
  2014年7月18日
摘要: 题意:给T组数据,给出一个存钱罐存钱前后质量,再给出N种放入的钱币的币值和重量,不计数量,求使得该存钱罐达到之后质量的最小存储金额。做法:用完全背包。建立一个数组,用无限大的一个值初始化每个元素,并使f[0]=0;用完 全背包公式即可得出答案。代码:#include #include #includ... 阅读全文
posted @ 2014-07-18 21:30 一锅土豆 阅读(87) 评论(0) 推荐(0) 编辑
  2014年7月17日
摘要: 题意:溜石游戏。在一给定大小的矩形冰面上,散布若干石块,给定石头的初始位置和终点,求从起点到达终点的最小步数,超过10次则视作不可达。其中规则如下,若石头与石块有相邻则不能向该方向滑动;每次溜石只能到达有石块的地方,且将其立即敲碎;若出界则视作失败。思路:1.建立两个数组作为方向数组。 2.在深搜函... 阅读全文
posted @ 2014-07-17 14:12 一锅土豆 阅读(107) 评论(0) 推荐(0) 编辑
  2014年7月16日
摘要: 题意:给T组数据,求每组数据序列和最大的序列,输出最大值和起止位置。做法:建立一个数组a[n]记录数据,f[n]记录到该点时的最大和;递推可得,如果f[n-1]>=0,f[n]=f[n-1]+a[n];反之,f[n]=a[n];代码:#include #include using namespace... 阅读全文
posted @ 2014-07-16 17:58 一锅土豆 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意:给A,B,C,D四组长度相同为n的数组,在每个数组中分别找一个数a,b,c,d使得a+b+c+d=0。问一共有多少组这样的数据?做法:将A和B左右数组排列相加的所有情况并放入vector1中,C和D的也按上述方式放 入vector2中。在v1中用二分查找所有和v2中元素相加为0的数。代码:#i... 阅读全文
posted @ 2014-07-16 10:43 一锅土豆 阅读(119) 评论(0) 推荐(0) 编辑
  2014年7月15日
摘要: vector成员函数1)、vecto v; //创建一个空的vector对象,这个对象的元素的类型为T,T是需要指定的。2)、vector v(n); //创建一个vector对象,v.size()为n, 每个元素的值都会是系统默认的值,如果T是类,就会是默认构造函数来初始化。3)、vector v... 阅读全文
posted @ 2014-07-15 22:40 一锅土豆 阅读(850) 评论(0) 推荐(0) 编辑
  2014年7月14日
摘要: 题意:在一张形状不规则的棋盘上(用#表示棋盘位置,. 表示非棋盘位置),要放置N个 棋子,且不同行不同列。问有几种放法?做法:首先做出正方形规则棋盘放个数为边长的棋子的算法, 再加上坐标为“#”才能放的限制, 最后在函数中增加一个没有回溯法的递归用于当棋子数量小于边长时。代码:#include #i... 阅读全文
posted @ 2014-07-14 19:09 一锅土豆 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题意:定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找... 阅读全文
posted @ 2014-07-14 17:03 一锅土豆 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题意:在X轴上,有两个点(0#include using namespace std;queue que;int num=0;int n,k;int m,i;int sum[100000];void dps (int k){ m=que.size(); for(i=0;i0&&sum[... 阅读全文
posted @ 2014-07-14 16:45 一锅土豆 阅读(137) 评论(0) 推荐(0) 编辑