码迷,mamicode.com
首页 >  
搜索关键字:lis    ( 17068个结果
UVA10599 - Robots(II)(变形的LIS)
题意:一个机器人在n * m的网格里面捡垃圾,机器人只能向右或向下走,求出能捡到的垃圾数量的最大值,有多少条路径可以达到最大值,以及输出其中一条路径。 思路:按照题意可以看出,因为机器人只能向右和向下走,所以纵坐标就不重要的,而横坐标是递增的。当将所有拥有垃圾的格子经过计算得到它的一维值(唯一的),得到一组的数组。那就可以转化为求最长上升子序列。但这个LIS的条件是mod(m)要大于前一...
分类:其他好文   时间:2014-07-26 17:22:22    阅读次数:282
在O(1)时间内删除单向链表结点
原理: 1.若待删结点在单链表中间,则获取结点下一个结点的值,并复制给待删结点,然后删除待删结点的下一个结点。 2.若待删结点在单链表尾部,则顺序遍历单链表,删除。 3.若链表只有一个结点,正是待删结点,则删除之,并修改相关指针。 核心代码: //在O(1)时间删除结点。注:必须保证pDel为链表中的结点 void DeleteNode(List *lis...
分类:其他好文   时间:2014-07-26 02:56:47    阅读次数:343
protobuf example make backup
# See README.txt..PHONY: all cpp java python cleanall: cpp #java pythoncpp: add_person_cpp list_people_cpp temp_cppjava: add_person_java lis...
分类:其他好文   时间:2014-07-24 22:01:12    阅读次数:290
HDU 1950 Bridging signals
那么一大篇的题目描述还真是吓人。仔细一读其实就是一个LIS,还无任何变形。刚刚学会了个二分优化的DP,1A无压力。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int ...
分类:其他好文   时间:2014-07-23 18:00:44    阅读次数:180
HDU 1025 Constructing Roads In JGShining's Kingdom
这是最大上升子序列的变形,可并没有LIS那么简单。需要用到二分查找来优化。看了别人的代码,给人一种虽不明但觉厉的赶脚直接复制粘贴了,嘿嘿原文链接:http://blog.csdn.net/ice_crazy/article/details/7536332假设存在一个序列d[1..9] = 2 1 5...
分类:其他好文   时间:2014-07-23 12:04:56    阅读次数:276
hdu 4352 XHXJ's LIS (数位dp)
XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 755    Accepted Submission(s): 289 Problem Description #define xhxj (X...
分类:其他好文   时间:2014-07-22 00:27:36    阅读次数:244
HDU 3998
http://acm.hdu.edu.cn/showproblem.php?pid=3998求LIS的长度,并且求有多少组互不相交的LIS求组数用最大流建图如下:if(dp[i]==1)add(S,i,1) ; if(dp[i]==ans)add(i+n,T,1) ;if(j>i && dp[j.....
分类:其他好文   时间:2014-07-22 00:04:33    阅读次数:194
查找最长递增子序列
一般情况: #include #include #include using namespace std; int a[1005],dp[1005],n; int LIS() { int i,j,ans,m; dp[1] = 1; ans = 1; for(i = 2;i<=n;i++) { m = 0; for(...
分类:其他好文   时间:2014-07-21 11:23:15    阅读次数:185
编程算法 - 最长上升子序列问题 代码(C)
最长上升子序列问题 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有一个长为n的数列a. 请求出这个序列中最长上升子序列的长度. 最长上升子序列的数字之间可以有间隔.即最长上升子序列(LIS, Longest Increasing Subsequence), 例如: n=5, a={4,2,3,1,5}, result=3(2,3,5).使用动...
分类:其他好文   时间:2014-07-20 22:34:43    阅读次数:297
最长递增的子序列(模板)
一般情况: [cpp] view plaincopy #include   #include   #include   using namespace std;    int a[1005],dp[1005],n;    int LIS()  {      int i,j,ans,m;      dp[1] = 1;      ans = 1;      for(i = 2...
分类:其他好文   时间:2014-07-20 09:28:19    阅读次数:280
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!