随笔分类 -  算法相关

摘要:此题为给一个集合,求所有子集中的某一个子集,这个子集满足条件:1,此集合的和为一个level2幸运数字,该数字要么全是7,要么全是42,该集合为满足条件中所有数组中和最大的一个3,如果有多个这样的数组,返回字典序最小的那个。其中比较重要的算法就是求一个集合的所有子集:如下:int [] number... 阅读全文
posted @ 2015-09-30 16:56 hitz&x 阅读(474) 评论(0) 推荐(0)
摘要:主要思路:分治思想先将数组打乱取数组第一个元素k作为比对标准,将大数组拆分,循环,将大于k的放置于右侧,将小于k的放置于左侧while(true){while(k>a[++i]);while(k=j)break;swap(a,i,j);}swap(a,low,j);最后将k放入j的位置接着递归,将数... 阅读全文
posted @ 2015-09-30 16:55 hitz&x 阅读(149) 评论(0) 推荐(0)
摘要:推荐的好题不一定是难题,但往往带有那么一点代表性。凡是由别人推荐的题目,偶会加上推荐人ID和blog地址。偶自己推荐的题目,偶会尽量推荐一份简洁的代码。当天推荐的题会以红色标记。Single Round MatchSRM 522 DIV1 1050pt ( 很不错的dp题,先需要思考来分析各种情况 ... 阅读全文
posted @ 2015-09-30 16:55 hitz&x 阅读(241) 评论(0) 推荐(0)
摘要:写法分类: --|递归:代码简便,耗费资源 --|迭代 :相反解空间分类: --|子集树所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间成为子集树。如0-1背包问题,从所给重量、价值不同的物品中挑选几个物品放入背包,使得在满足背包不超重的情况下,背包内物品价值最大。它的解... 阅读全文
posted @ 2015-09-30 16:54 hitz&x 阅读(211) 评论(0) 推荐(0)
摘要:0 1 背包问题递归求满足两个条件的子集树#include#define N 3#define C 15int w[N]={10,8,5};int v[N]={5,4,1};int x[N]={0,0,0};int cur_weight = 0;int cur_value = 0;int best_... 阅读全文
posted @ 2015-09-30 16:54 hitz&x 阅读(151) 评论(0) 推荐(0)
摘要:最短路径问题递归方法求解#include#define N 4#define NO_PATH -1#define MAX_WEIGHT 4000int City_Graph[N+1][N+1];int x[N+1];int isIn[N+1];int bestw;int cw;int bestx[N... 阅读全文
posted @ 2015-09-30 16:54 hitz&x 阅读(274) 评论(0) 推荐(0)