题目:一条龙有n个头。有m个勇者。勇者的能力值大于龙头的大小就能打败他,每一个勇者须要能力值对等的佣金, 问使用至少多少钱能够杀掉龙。 分析:贪心。首先,将龙和勇者斗都递增排序;然后,每次雇佣当前能力值最小的能够杀龙的勇者就可以。 (假设当前的勇者导致不适最优解,则他之前有比他佣金高的,则他一定更早
                            
                            
                                分类:
其他好文   时间:
2016-02-04 11:25:54   
                                阅读次数:
112
                             
                    
                        
                            
                            
                                广搜与深搜的小区别 一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解,必需记实并完成全数搜索,故一般情况下,深搜需要很是高效的剪枝(优化). 像
                            
                            
                                分类:
其他好文   时间:
2016-02-02 22:26:26   
                                阅读次数:
571
                             
                    
                        
                            
                            
                                题目大意:有一头奶牛要上太空,他有非常多种石头,每种石头的高度是hi,可是不能放到ai之上的高度。而且这样的石头有ci个将这些石头叠加起来。问可以达到的最高高度。解题思路:首先对数据进行升序排序。这样才是一个标准的多重背包的问题为什么要排序?由于仅仅有这样才干得到最优解,假设一開始就是高的在前面,那...
                            
                            
                                分类:
其他好文   时间:
2016-01-23 10:25:01   
                                阅读次数:
166
                             
                    
                        
                            
                            
                                好难。。。想了半天,用了类似于POJ 3186那样的DP写了一发,结果WA(其实写的时候也觉得过不了的。。。。)结果看了别人的题解报告,发现真的有点难想到。。。。。。首先要知道一个结论:构造好之后最优解的数组中的每一个数字肯定在原数组中能找到dp[i][j] 以第i个数字结尾,第i个数字用第j小的数...
                            
                            
                                分类:
其他好文   时间:
2016-01-21 10:26:58   
                                阅读次数:
153
                             
                    
                        
                            
                            
                                0-背景临近毕业答辩,检测重复率,抽盲审等事宜接踵而至。很不幸,女票抽中盲审。我送助攻,和她一起修改论文,所以,这几天写了点代码,可以整理一下。多机器作业排序问题很简单,举个栗子🌰(从她论文中偷了一张图,23333),把所有工件,A,B,C,D加工完要用多久?前提是一台机器只能一次加工一个工件。(...
                            
                            
                                分类:
编程语言   时间:
2016-01-18 22:24:10   
                                阅读次数:
1367
                             
                    
                        
                            
                            
                                求解线性规划最优解问题(全部转化成约束条件=),并且求最大值问题)bzoj1061 志愿者招募题目大意:给定n天,每天需要志愿者ai人;m类志愿者,从si~ti天工作,每人要ci元。求最小费用。思路:根据题意可以列出目标函数是min sigma(i=1~m)cixi,约束条件是 sigma(i=1~...
                            
                            
                                分类:
其他好文   时间:
2016-01-10 21:19:17   
                                阅读次数:
187
                             
                    
                        
                            
                            
                                贪心算法就是一种比较简单的算法。贪心算法总是会选择当下的最优解,而不去考虑这一次的选择会不会对未来的选择造成影响。使用贪心算法通常表明,实现者希望做出的这一系列局部“最优”选择能够带来最终的整体“最优”选择。如果是这样的话,该算法将会产生一个最优解,否则,则会得到一个次优解。然而,对很多问题来说,寻...
                            
                            
                                分类:
编程语言   时间:
2016-01-04 18:12:40   
                                阅读次数:
188
                             
                    
                        
                            
                            
                                可以用三维dp来保存状态,dp[i][j][k]表示在前i个字符变换了j步之后方向为k(k = 1 or k = 0)的最优解,也就是离原点的最大距离。这里规定0方向为正方向,1位负方向,表示的是当前这个人朝哪个方向。这两个方向是对立的。所以就可以递推一个关系式,分第i个字符为'F'or'T'时如果...
                            
                            
                                分类:
其他好文   时间:
2015-12-30 21:48:33   
                                阅读次数:
222
                             
                    
                        
                            
                            
                                填坑系列考虑所有经过两个点的直线,一定有最优解。再考虑确定一个点,按极角顺序枚举所有直线,从而O(1)转移信息。还有代码实现技巧 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 const int N = 1000 + 10; ....
                            
                            
                                分类:
其他好文   时间:
2015-12-29 09:53:42   
                                阅读次数:
190
                             
                    
                        
                            
                            
                                Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多....
                            
                            
                                分类:
编程语言   时间:
2015-12-25 23:54:51   
                                阅读次数:
272