• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C小加

            厚德 博學(xué) 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            DP

            1、每一行最多只可以走一次捷徑,每一列也是最多只可以走一次捷徑

            2、每次走過捷徑后的橫坐標(biāo)和縱坐標(biāo)都要大于之前的坐標(biāo)

            只要求出從起點(diǎn)到終點(diǎn)所經(jīng)過的最多的捷徑,就能得到最少的路程。每一步的最優(yōu)解用之前走過的路徑所求,滿足無后效性,每一個(gè)子狀態(tài)都可以求出最優(yōu)解,滿足最優(yōu)子結(jié)構(gòu),可以用dp解決。

            f[i]=max(f[j]+1,f[i]);

            當(dāng)j點(diǎn)坐標(biāo)小于點(diǎn),i點(diǎn)為捷徑時(shí),走到i點(diǎn)坐標(biāo)時(shí)經(jīng)過的最多捷徑數(shù)=max(走到j點(diǎn)的最多捷徑數(shù)+1,走到i點(diǎn)時(shí)的最多捷徑數(shù))

            最后找出最大的f(i)就是能經(jīng)過最多的捷徑

            注意坐標(biāo)的輸入沒有順序性,要進(jìn)行排列。

            #include <iostream>
            #include <cstring>
            #include <algorithm>
            #include <cmath>
            #include <cstdio>
            using namespace std;
            const int MAXN=1003;
            typedef struct
            {
                int a,b;
            }point;
            point p[MAXN];
            int f[1003];
            bool cmp(point p1,point p2)
            {
                if(p1.a==p2.a) return p1.b<p2.b;
                return p1.a<p2.a;
            }
            int main()
            {
                //freopen("1.in","r",stdin);
                int m,n;
                while(cin>>n>>m)
                {
                    int k;
                    cin>>k;
                    for(int i=0;i<k;i++)
                    {
                        cin>>p[i].a>>p[i].b;
                        f[i]=1;
                    }
                    sort(p,p+k,cmp);//如果橫坐標(biāo)相等,按照縱坐標(biāo)從小到大排序,否則按照橫坐標(biāo)從小到大排序
                    int v=0,flag=0;
                    
                    //dp
                    for(int i=0;i<k;i++)
                    {
                        for(int j=0;j<=i;j++)
                        {
                            if(p[i].a>p[j].a)
                            {
                                if(p[i].b>p[j].b) f[i]=max(f[j]+1,f[i]);
                            }
                        }

                    }
                    //求用到最多捷徑的點(diǎn)
                    int ma=*max_element(f,f+k);
                    cout<<(int)((m+n-2*ma)*100+ma*100*sqrt(2.0)+0.5)<<endl;

                }


                return 0;
            }
                    

            Feedback

            # re: Ural 1119. Metro NYOJ 195 飛翔 解題報(bào)告  回復(fù)  更多評(píng)論   

            2012-02-26 02:31 by 四季青租房
            最近也想學(xué),
            發(fā)現(xiàn)了此處
            哈哈
            91久久精一区二区三区大全| 国产精品久久久福利| 国产毛片欧美毛片久久久| 亚洲色大成网站WWW久久九九| 久久精品www人人爽人人| 久久国产精品偷99| 久久久一本精品99久久精品88| 国产成人精品久久一区二区三区av | 精品无码久久久久久午夜| Xx性欧美肥妇精品久久久久久| 久久热这里只有精品在线观看| 久久r热这里有精品视频| 中文字幕乱码人妻无码久久| 无码精品久久一区二区三区 | 久久男人AV资源网站| 狠狠色丁香久久综合五月| 久久国产色av免费看| 午夜精品久久久久久影视777| 91亚洲国产成人久久精品| 久久久久人妻精品一区二区三区| 合区精品久久久中文字幕一区| 88久久精品无码一区二区毛片 | 青青青青久久精品国产 | 国产精品热久久无码av| 久久w5ww成w人免费| 亚洲精品乱码久久久久66| 欧美亚洲国产精品久久高清| 伊人久久大香线蕉精品不卡| 亚洲国产精品狼友中文久久久| 久久精品国产精品亚洲下载 | 午夜天堂精品久久久久| 亚洲精品乱码久久久久久蜜桃不卡| 久久频这里精品99香蕉久| 精品久久久久久久国产潘金莲| 中文字幕久久亚洲一区| yy6080久久| 亚洲狠狠婷婷综合久久蜜芽| 久久精品国产亚洲AV香蕉| 国内精品人妻无码久久久影院导航| 99久久免费国产精品特黄| 7777久久久国产精品消防器材|