新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> We choose to study algorithmic problems,  not because they are easy,  but because they are hard.
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机理论与工程『 算法理论与分析 』 → 怎么求Greatest Common Increasing Subsequence 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 24144 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 怎么求Greatest Common Increasing Subsequence 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     eyounx 帅哥哟,离线,有人找我吗?金牛座1982-5-3
      
      
      威望:9
      等级:大四(GRE考了1400分!)(版主)
      文章:272
      积分:1260
      门派:GOOGLEBBS.NET
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给eyounx发送一个短消息 把eyounx加入好友 查看eyounx的个人资料 搜索eyounx在『 算法理论与分析 』的所有贴子 访问eyounx的主页 引用回复这个贴子 回复这个贴子 查看eyounx的博客11
    发贴心情 

    初始 v = -inf,程序:
      int GCIS(v, a[1 to x], b[1 to y]) {
        if( x<1 || y<1 ){
            return 0;
        }else if( v>a[1] ){
            return GCIS(v, a[2 to x], b[1 to y]);
        }else if( v>b[1] ){
            return GCIS(v, a[1 to x], b[2 to y]);
        }else{
            len1 = 1+GCIS(a[1], a[2 to x], b[2 to y]);
            len2 = GCIS(v, a[2 to x], b[1 to y]);
            len3 = GCIS(v, a[1 to x], b[2 to y]);
            return a[1]==b[1] ? max(len1, len2, len3) : max(len2,len3);
        }
      }

    给定a[1-x],b[1-x],v=-inf,x>=1,y>=1后,
    如果a[1]==b[1],那么GCIS(a,b)只有两种种情况:
    1. 取a[1](==b[1])为GCIS(a,b)中的一个元素,GCIS(a,b)的余下元素为GCIS(a+1,b+1),并且GCIS(a,b)余下元素都应该不比a[1]小。
    2. 不取a[1](==b[1])为GCIS(a,b)中的元素,则GCIS(a,b)可能有两种:GCIS(a,b+1)和GCIS(a+1,b)
    如果a[1]!=b[1],那么没有理由将a[1]或b[1]作为GCIS中的元素,因此GCIS(a,b)=GCIS(a,b+1)或GCIS(a+1,b)

    给定a[1-x],b[1-x],v,x>=1,y>=1后,
    GCIS(a,b)都必须不小于v
    所以如果a[1]<v, a[1]不可能在GCIS(a,b)中,故GCIS(a,b)=GCIS(a+1,b);
    如果b[1]<v, b[1]不可能在GCIS(a,b)中,故GCIS(a,b)=GCIS(a,b+1);
    如果b[1]>=v && a[1]>=v,那么有可能a[1],b[1]出现在GCIS(a,b)中,分a[1]==b[1]和a[1]!=b[1]两种情况,与上面相同

    给定a[1-x],b[1-x],v,x<1或y<1后,
    GCIS(a,b) = 0 (因为a或b为空)

    ----------------------------------------------
    member of LAMDA, CS, NJU
    http://lamda.nju.edu.cn/
    http://lamda.nju.edu.cn/yuy

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/19 14:21:00
     
     Logician 帅哥哟,离线,有人找我吗?天蝎座1984-10-28
      
      
      威望:9
      头衔:逻辑爱好者
      等级:研三(收到IBM CRL的Offer了)(版主)
      文章:1219
      积分:10357
      门派:IEEE.ORG.CN
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Logician发送一个短消息 把Logician加入好友 查看Logician的个人资料 搜索Logician在『 算法理论与分析 』的所有贴子 点击这里发送电邮给Logician  访问Logician的主页 引用回复这个贴子 回复这个贴子 查看Logician的博客12
    发贴心情 
    赞啊!
    我怎么就没想到呢?

    以下是引用eyounx在2005-3-19 14:21:53的发言:
    初始 v = -inf,程序:
       int GCIS(v, a[1 to x], b[1 to y]) {
         if( x<1 || y<1 ){
             return 0;
         }else if( v>a[1] ){
             return GCIS(v, a[2 to x], b[1 to y]);
         }else if( v>b[1] ){
             return GCIS(v, a[1 to x], b[2 to y]);
         }else{
             len1 = 1+GCIS(a[1], a[2 to x], b[2 to y]);
             len2 = GCIS(v, a[2 to x], b[1 to y]);
             len3 = GCIS(v, a[1 to x], b[2 to y]);
             return a[1]==b[1] ? max(len1, len2, len3) : max(len2,len3);
         }
       }

    给定a[1-x],b[1-x],v=-inf,x>=1,y>=1后,
    如果a[1]==b[1],那么GCIS(a,b)只有两种种情况:
    1. 取a[1](==b[1])为GCIS(a,b)中的一个元素,GCIS(a,b)的余下元素为GCIS(a+1,b+1),并且GCIS(a,b)余下元素都应该不比a[1]小。
    2. 不取a[1](==b[1])为GCIS(a,b)中的元素,则GCIS(a,b)可能有两种:GCIS(a,b+1)和GCIS(a+1,b)
    如果a[1]!=b[1],那么没有理由将a[1]或b[1]作为GCIS中的元素,因此GCIS(a,b)=GCIS(a,b+1)或GCIS(a+1,b)

    给定a[1-x],b[1-x],v,x>=1,y>=1后,
    GCIS(a,b)都必须不小于v
    所以如果a[1]<v, a[1]不可能在GCIS(a,b)中,故GCIS(a,b)=GCIS(a+1,b);
    如果b[1]<v, b[1]不可能在GCIS(a,b)中,故GCIS(a,b)=GCIS(a,b+1);
    如果b[1]>=v && a[1]>=v,那么有可能a[1],b[1]出现在GCIS(a,b)中,分a[1]==b[1]和a[1]!=b[1]两种情况,与上面相同

    给定a[1-x],b[1-x],v,x<1或y<1后,
    GCIS(a,b) = 0 (因为a或b为空)


    ----------------------------------------------
    Three passions, simple but overwhelmingly strong, 
    have governed my life: the longing for love, the
    search for knowledge, and unbearable pity for the
    suffering of mankind.
                                - Bertrand Russell

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/19 16:39:00
     
     eyounx 帅哥哟,离线,有人找我吗?金牛座1982-5-3
      
      
      威望:9
      等级:大四(GRE考了1400分!)(版主)
      文章:272
      积分:1260
      门派:GOOGLEBBS.NET
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给eyounx发送一个短消息 把eyounx加入好友 查看eyounx的个人资料 搜索eyounx在『 算法理论与分析 』的所有贴子 访问eyounx的主页 引用回复这个贴子 回复这个贴子 查看eyounx的博客13
    发贴心情 
    看懂了?

    呵呵,有人评价我写的东西不是写给人看的,居然能看懂,佩服佩服  ^_^

    ----------------------------------------------
    member of LAMDA, CS, NJU
    http://lamda.nju.edu.cn/
    http://lamda.nju.edu.cn/yuy

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/19 16:47:00
     
     Logician 帅哥哟,离线,有人找我吗?天蝎座1984-10-28
      
      
      威望:9
      头衔:逻辑爱好者
      等级:研三(收到IBM CRL的Offer了)(版主)
      文章:1219
      积分:10357
      门派:IEEE.ORG.CN
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Logician发送一个短消息 把Logician加入好友 查看Logician的个人资料 搜索Logician在『 算法理论与分析 』的所有贴子 点击这里发送电邮给Logician  访问Logician的主页 引用回复这个贴子 回复这个贴子 查看Logician的博客14
    发贴心情 
    以下是引用eyounx在2005-3-19 16:47:17的发言:
    看懂了?

    呵呵,有人评价我写的东西不是写给人看的,居然能看懂,佩服佩服  ^_^


    看懂了呀。
    很好懂呀。

    ----------------------------------------------
    Three passions, simple but overwhelmingly strong, 
    have governed my life: the longing for love, the
    search for knowledge, and unbearable pity for the
    suffering of mankind.
                                - Bertrand Russell

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/19 17:43:00
     
     Logician 帅哥哟,离线,有人找我吗?天蝎座1984-10-28
      
      
      威望:9
      头衔:逻辑爱好者
      等级:研三(收到IBM CRL的Offer了)(版主)
      文章:1219
      积分:10357
      门派:IEEE.ORG.CN
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Logician发送一个短消息 把Logician加入好友 查看Logician的个人资料 搜索Logician在『 算法理论与分析 』的所有贴子 点击这里发送电邮给Logician  访问Logician的主页 引用回复这个贴子 回复这个贴子 查看Logician的博客15
    发贴心情 
    突然意识到,你这个算法是指数时间的呀...................
    没有多项式的吗?

    以下是引用eyounx在2005-3-19 10:36:11的发言:
    晕,重来:
      int GCIS(v, a[1 to x], b[1 to y]) {
        if( v>a[1] && v>b[1] ){
            return GCIS(v, a[2 to x], b[2 to y]);
        }else if( v>a[1] ){
            return GCIS(v, a[2 to x], b[1 to y]);
        }else if( v>b[1] ){
            return GCIS(v, a[1 to x], b[2 to y]);
        }else{
            len1 = 1+GCIS(a[1], a[2 to x], b[2 to y]);
            len2 = GCIS(v, a[2 to x], b[1 to y]);
            len3 = GCIS(v, a[1 to x], b[2 to y]);
            return a[1]==b[1] ? max(len1, len2, len3) : max(len2,len3);
        }
      }
      GCIS就是求最大公共升串,这里没有加dp

    ----------------------------------------------
    Three passions, simple but overwhelmingly strong, 
    have governed my life: the longing for love, the
    search for knowledge, and unbearable pity for the
    suffering of mankind.
                                - Bertrand Russell

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/20 16:19:00
     
     eyounx 帅哥哟,离线,有人找我吗?金牛座1982-5-3
      
      
      威望:9
      等级:大四(GRE考了1400分!)(版主)
      文章:272
      积分:1260
      门派:GOOGLEBBS.NET
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给eyounx发送一个短消息 把eyounx加入好友 查看eyounx的个人资料 搜索eyounx在『 算法理论与分析 』的所有贴子 访问eyounx的主页 引用回复这个贴子 回复这个贴子 查看eyounx的博客16
    发贴心情 
    dp啊,存下来就可以了

    ----------------------------------------------
    member of LAMDA, CS, NJU
    http://lamda.nju.edu.cn/
    http://lamda.nju.edu.cn/yuy

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/20 19:12:00
     
     Logician 帅哥哟,离线,有人找我吗?天蝎座1984-10-28
      
      
      威望:9
      头衔:逻辑爱好者
      等级:研三(收到IBM CRL的Offer了)(版主)
      文章:1219
      积分:10357
      门派:IEEE.ORG.CN
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Logician发送一个短消息 把Logician加入好友 查看Logician的个人资料 搜索Logician在『 算法理论与分析 』的所有贴子 点击这里发送电邮给Logician  访问Logician的主页 引用回复这个贴子 回复这个贴子 查看Logician的博客17
    发贴心情 
    实现上似乎还是有一点问题。
    DP时v也是一个参数,那么怎么在不浪费太多空间的情况下,保存这样一个由3个参数确定的量,同时做更多的优化(比如有些搜索如果在3个参数上都不占优势,就不用再进行下去了)呢?

    以下是引用eyounx在2005-3-20 19:12:27的发言:
    dp啊,存下来就可以了

    ----------------------------------------------
    Three passions, simple but overwhelmingly strong, 
    have governed my life: the longing for love, the
    search for knowledge, and unbearable pity for the
    suffering of mankind.
                                - Bertrand Russell

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/20 20:40:00
     
     eyounx 帅哥哟,离线,有人找我吗?金牛座1982-5-3
      
      
      威望:9
      等级:大四(GRE考了1400分!)(版主)
      文章:272
      积分:1260
      门派:GOOGLEBBS.NET
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给eyounx发送一个短消息 把eyounx加入好友 查看eyounx的个人资料 搜索eyounx在『 算法理论与分析 』的所有贴子 访问eyounx的主页 引用回复这个贴子 回复这个贴子 查看eyounx的博客18
    发贴心情 
    是阿,三个参数有点困难,想一想

    ----------------------------------------------
    member of LAMDA, CS, NJU
    http://lamda.nju.edu.cn/
    http://lamda.nju.edu.cn/yuy

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/22 13:44:00
     
     arxor 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:23
      积分:151
      门派:XML.ORG.CN
      注册:2005/3/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给arxor发送一个短消息 把arxor加入好友 查看arxor的个人资料 搜索arxor在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看arxor的博客19
    发贴心情 
    如果不需重构造解,只求长度,可以通过逐步调整达到O(n^2)时间,O(n)空间

    ----------------------------------------------
    ->Seeking -> #&*^($*&@(&^@#(*%&^)@$ -> Solved ->Seeking -> ^&*#)*(%&(*&^*&% -> Solved ->Seeking -> *(#%*)%*&*^(% -> Solved ->... ->Seeking -> ~(^_^)~ -> Solved ->Died

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/21 13:09:00
     
     ... 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2005/5/7

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给...发送一个短消息 把...加入好友 查看...的个人资料 搜索...在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看...的博客20
    发贴心情 
    以下是引用arxor在2005-4-21 13:09:05的发言:
    如果不需重构造解,只求长度,可以通过逐步调整达到O(n^2)时间,O(n)空间

    请问这个如何做到的?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/7 22:46:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 算法理论与分析 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/27 16:18:13

    本主题贴数24,分页: [1] [2] [3]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    105.469ms