• <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久久精品视频| 久久无码人妻精品一区二区三区| 成人国内精品久久久久影院VR| 久久高潮一级毛片免费| 免费久久人人爽人人爽av| 久久ww精品w免费人成| 久久精品国产精品亜洲毛片| 久久人人爽人人爽人人av东京热| 国产精品gz久久久| 久久婷婷色香五月综合激情 | 国产一级做a爰片久久毛片| 久久精品一区二区三区中文字幕| 人人狠狠综合88综合久久| 丰满少妇人妻久久久久久 | 99热都是精品久久久久久| 无夜精品久久久久久| 久久久久久综合一区中文字幕 | 伊人色综合久久天天人手人婷| 久久中文精品无码中文字幕| 亚洲va中文字幕无码久久| 亚洲色婷婷综合久久| 精品熟女少妇aⅴ免费久久| 蜜桃麻豆www久久国产精品| 久久香综合精品久久伊人| 91亚洲国产成人久久精品网址| 亚洲中文字幕无码久久精品1 | 青青青伊人色综合久久| 久久久国产视频| 一本一道久久a久久精品综合| 国产福利电影一区二区三区久久老子无码午夜伦不 | 99精品久久精品一区二区| 久久综合日本熟妇| 亚洲国产成人久久综合碰碰动漫3d | 狠狠色婷婷综合天天久久丁香| 精品一二三区久久aaa片| 伊人久久无码精品中文字幕| 国产福利电影一区二区三区久久老子无码午夜伦不 | 色欲综合久久躁天天躁| 日韩十八禁一区二区久久| 国内精品久久久久影院网站| 日韩精品久久久久久|