代码改变世界

排列生成算法--C++

2015-05-27 23:13 by KI@#, 290 阅读, 0 推荐, 收藏,
摘要:1 #include 2 using namespace std; 3 //初始化,注意两边的初始化,简化算法 4 void Init(int n , int *arr , bool * flags) 5 { 6 arr[0] = 0xfffffff; 7 for(i... 阅读全文

Bitonic旅行路线问题

2015-02-23 21:33 by KI@#, 728 阅读, 0 推荐, 收藏,
摘要:接着上一篇的动态规划问题的一道题目:欧几里德货郎担问题是对平面给定的n个点确定一条连结各点的、闭合的游历路线问题。图1(a)给出了七个点问题的解。Bitonic旅行路线问题是欧几里德货郎担问题的简化,这种旅行路线先从最左边开始,严格地由左至右到最右边的点,然后再严格地由右至左到出发点,求路程最短的路... 阅读全文

动态规划学习中的一道题目

2015-02-23 16:57 by KI@#, 504 阅读, 0 推荐, 收藏,
摘要:记得初中时候的一篇文章说,做学问,必须要有学和问两个方面。做了一些动态规划题目之后偶然看到这个介绍动态规划的文章。然后遇见第一道题目就卡壳。经过反思文章以及自己思考,总算对题目有了一些理解。下面分享给大家,初学者们看到这个题目不至于太过茫然——像我一样。工厂生产某种产品,每单位(千件)的成本为1(千... 阅读全文

hdu 1078 记忆化搜索

2015-02-16 11:23 by KI@#, 217 阅读, 0 推荐, 收藏,
摘要:题意:每一位置有特定量食物。耗子从(0,0)开始一次只能向左或右前进不多于k步且下一个位置的食物必须比当前位置多,问耗子所能吃到的食物的最大量。1、此题目为搜索的题目,寻找能够满足条件的位置。2、求最大食物量,不同位置有有限个选择(只能去食物更多的地方),分别选择出最优后,搜索过程中可求出(0,0)... 阅读全文

uva 129 回溯法入门

2015-02-14 21:12 by KI@#, 729 阅读, 1 推荐, 收藏,
摘要:题意:给出n,l;要求按特定格式输出由前l个大写字母构成的按字母表排列的第n个没有连续重复子串的字符串以及该字符串长度。1、避免相邻的重复子串:生成字符串方式为逐个在后面添加字符,只要每次在添加字符后检查与新添加的字符相关的字符串时候满足条件即可。2、要求按字母表顺序生成子串:从A开始,逐个向后生成... 阅读全文

hdu3127

2015-02-13 21:51 by KI@#, 247 阅读, 0 推荐, 收藏,
摘要:背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。也可以将背包问题描述为决定性问题,即在总重量不超过W的... 阅读全文