• <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>

            Sephiroth's boring days!!!

            Love just for you.

            置頂隨筆 #

            [置頂]注目了阿?。。 ?/a>

            更換blog ,因?yàn)樘厥庠? http://www.cnblogs.com/sephirothlee/

            posted @ 2010-09-11 12:09 Sephiroth Lee 閱讀(181) | 評(píng)論 (0)編輯 收藏

            2010年9月11日 #

            注目了阿?。。 ?/a>

            更換blog ,因?yàn)樘厥庠? http://www.cnblogs.com/sephirothlee/

            posted @ 2010-09-11 12:09 Sephiroth Lee 閱讀(181) | 評(píng)論 (0)編輯 收藏

            2010年9月7日 #

            WIN7體驗(yàn)

            今天用差不多半天的時(shí)間把WIN7裝好了,太累人了。

            顯卡還是太垃圾…… 等放假去賓館卸一個(gè)回來(lái)!!……(有點(diǎn)不好的說(shuō))

            1G的內(nèi)存,占用量一直在54%左右。確實(shí)很吃硬件。

            posted @ 2010-09-07 10:09 Sephiroth Lee 閱讀(293) | 評(píng)論 (0)編輯 收藏

            2010年9月4日 #

            “長(zhǎng)沙一中學(xué)習(xí)”-day4

            今天上午是搜索。

            1. 最少乘法次數(shù)
            2. 彩票問(wèn)題
            3. 黑白棋游戲
            4. pku1729
            5. 多處理機(jī)調(diào)度問(wèn)題
            6. 魔盤(pán)
            7. 最短編號(hào)序列
            8. 任務(wù)安排
            9. 數(shù)字游戲(c&m)
            10. 埃及分?jǐn)?shù)
            11. antiprime

            下午是數(shù)學(xué)的一些東西。

            1. 第二類(lèi)string數(shù)
            2. 卡特蘭數(shù)
            3. polya原理
            4. 整數(shù)分解
            5. 極值問(wèn)題
            6. Kathy函數(shù)
            7. 錯(cuò)排問(wèn)題
            8. 求Fibonacci數(shù)列
            9. 毛毛蟲(chóng)
            10. 一序列
            11. 圓桌吃飯
            12. 01串問(wèn)題
            13. 算術(shù)表達(dá)式的計(jì)算

            posted @ 2010-09-04 07:56 Sephiroth Lee 閱讀(492) | 評(píng)論 (1)編輯 收藏

            2010年9月2日 #

            時(shí)間奔流

            時(shí)間

            奔流。

            本來(lái)是EVA的一個(gè)同人小說(shuō)、某網(wǎng)友的ID?,F(xiàn)在突然有這種感覺(jué)了。

            五天的集訓(xùn),現(xiàn)在第三天就要結(jié)束了,明天就是3號(hào)。

            4號(hào),5號(hào),6號(hào)回東區(qū)。然后猛補(bǔ)文化課,再有一個(gè)月,就開(kāi)始最后的準(zhǔn)備了。

            11月21日,上戰(zhàn)場(chǎng)的日子。

            為了寶貝兒,為了我自己。

            001

            posted @ 2010-09-02 21:54 Sephiroth Lee 閱讀(554) | 評(píng)論 (2)編輯 收藏

            “長(zhǎng)沙一中學(xué)習(xí)”-day3

            上午講的動(dòng)態(tài)規(guī)劃的優(yōu)化。有很多經(jīng)典的例題。

            1. 寶物篩選
            2. 農(nóng)田個(gè)數(shù)
            3. 花店櫥窗布置
            4. 乘車(chē)路線
            5. 疊放箱子
            6. 演唱組
            7. divide
            8. 添加號(hào)
            9. 走道鋪磚問(wèn)題
            10. 股票問(wèn)題
            11. 火車(chē)票
            12. 殺螞蟻
            13. 瑰麗華爾茲

            下午開(kāi)始了搜索,有點(diǎn)暈。

            1. 走迷宮問(wèn)題
            2. 訂貨單
            3. 計(jì)算機(jī)網(wǎng)絡(luò)連接
            4. N皇后
            5. Betsy’s tour

            晚上好好休息。

            posted @ 2010-09-02 20:58 Sephiroth Lee 閱讀(296) | 評(píng)論 (0)編輯 收藏

            樹(shù)歸-珠寶

            【描述】

            給一棵n個(gè)結(jié)點(diǎn)的樹(shù),給每個(gè)點(diǎn)安排一個(gè)正整數(shù)編號(hào),使得相鄰點(diǎn)具有不同的編號(hào),編號(hào)的總和盡量小。
            【輸入】
            第一行:n(n<=50,000)
            以下n-1行,每行兩個(gè)數(shù)u,v(1<=u,v<=n),表示u 和v有一條邊
            【輸出】
            僅一行,為最小編號(hào)和
            【樣例輸入】
            8
            1 2
            1 3
            1 4
            1 5
            5 6
            5 7
            5 8
            【樣例輸出】
            11

            【分析】

            f[i][j]表示i這個(gè)點(diǎn)標(biāo)j這個(gè)數(shù)所能到達(dá)的最小總值??刂苆的范圍到30肯定過(guò)。

              1: #include <stdio.h>
            
              2: #include <iostream>
            
              3: #define MAXINT 10000000
            
              4: #define maxn 50010
            
              5: using namespace std;
            
              6: 
            
              7: int f[maxn][31];
            
              8: int bl[maxn][maxn/100];
            
              9: int son[maxn][maxn/100],root[maxn];
            
             10: int n;
            
             11: int x,y;
            
             12: int ans=MAXINT;
            
             13: 
            
             14: void maket(int x)
            
             15: {
            
             16:     for (int i=1;i<=bl[x][0];++i)
            
             17:     {
            
             18:         int k=bl[x][i];
            
             19:         if (k==root[x]) continue;
            
             20:         son[x][++son[x][0]]=k;
            
             21:         root[k]=x;
            
             22:         maket(k);
            
             23:     }
            
             24: }
            
             25: 
            
             26: void dp(int x)
            
             27: {
            
             28:     if (f[x][1]) return;
            
             29:     for (int i=1;i<=30;++i)
            
             30:     {
            
             31:         for (int j=1;j<=son[x][0];++j)
            
             32:         {
            
             33:             int tt=son[x][j];
            
             34:             dp(tt);
            
             35:             int minn=MAXINT;
            
             36:             for (int jj=1;jj<=30;++jj)
            
             37:                 if (jj!=i)
            
             38:                     if (f[tt][jj]<minn)
            
             39:                         minn=f[tt][jj];
            
             40:             f[x][i]+=minn;
            
             41:         }
            
             42:         f[x][i]+=i;
            
             43:     }
            
             44: }
            
             45: 
            
             46: int main()
            
             47: {
            
             48:     freopen("gems.in","r",stdin);
            
             49:     freopen("gems.out","w",stdout);
            
             50:     
            
             51:     scanf("%d",&n);
            
             52:     for (int i=1;i<n;++i)
            
             53:     {
            
             54:         scanf("%d%d",&x,&y);
            
             55:         bl[x][++bl[x][0]]=y;
            
             56:         bl[y][++bl[y][0]]=x;
            
             57:     }
            
             58:     maket(1);
            
             59:     dp(1);
            
             60:     for (int i=1;i<=30;++i)
            
             61:         if (f[1][i]<ans)
            
             62:             ans=f[1][i];
            
             63:     printf("%d\n",ans);
            
             64:     return 0;
            
             65: }
            
             66: 

            posted @ 2010-09-02 20:40 Sephiroth Lee 閱讀(350) | 評(píng)論 (0)編輯 收藏

            動(dòng)態(tài)規(guī)劃-皇宮看守

            【問(wèn)題描述】

            太平王世子事件后,陸小鳳成了皇上特聘的御前一品侍衛(wèi)。

            皇宮以午門(mén)為起點(diǎn),直到后宮嬪妃們的寢宮,呈一棵樹(shù)的形狀;某些宮殿間可以互相望見(jiàn)。大內(nèi)保衛(wèi)森嚴(yán),三步一崗,五步一哨,每個(gè)宮殿都要有人全天候看守,在不同的宮殿安排看守所需的費(fèi)用不同。

            可是陸小鳳手上的經(jīng)費(fèi)不足,無(wú)論如何也沒(méi)法在每個(gè)宮殿都安置留守侍衛(wèi)。

            幫助陸小鳳布置侍衛(wèi),在看守全部宮殿的前提下,使得花費(fèi)的經(jīng)費(fèi)最少。

            【數(shù)據(jù)輸入】

            輸入數(shù)據(jù)由文件名為INPUT.TXT的文本文件提供。輸入文件中數(shù)據(jù)表示一棵樹(shù),描述如下:

            第1行 n,表示樹(shù)中結(jié)點(diǎn)的數(shù)目。

            第2行至第n+1行,每行描述每個(gè)宮殿結(jié)點(diǎn)信息,依次為:該宮殿結(jié)點(diǎn)標(biāo)號(hào)i(0<i<=n),在該宮殿安置侍衛(wèi)所需的經(jīng)費(fèi)k,該邊的兒子數(shù)m,接下來(lái)m個(gè)數(shù),分別是這個(gè)節(jié)點(diǎn)的m個(gè)兒子的標(biāo)號(hào)r1,r2,...,rm。

            對(duì)于一個(gè)n(0 < n <= 1500)個(gè)結(jié)點(diǎn)的樹(shù),結(jié)點(diǎn)標(biāo)號(hào)在1到n之間,且標(biāo)號(hào)不重復(fù)。

            【數(shù)據(jù)輸出】

            輸出到OUTPUT.TXT文件中。輸出文件僅包含一個(gè)數(shù),為所求的最少的經(jīng)費(fèi)。

             

             

             

             

             

             

            輸入數(shù)據(jù)示例  輸出數(shù)據(jù)示例

                  25

            【分析】

            分別用f[i][0]表示i點(diǎn)放看守,f[i][1]表示i點(diǎn)不放看守i點(diǎn)被兒子監(jiān)視,f[i][2]表示i點(diǎn)不放看守i點(diǎn)被父節(jié)點(diǎn)監(jiān)視三個(gè)情況下的最小費(fèi)用。

            f[i][0]=所有子節(jié)點(diǎn)t的f[t][0],f[t][1],f[t][2]中最小的一個(gè)的合+k[i]

            f[i][1]=某個(gè)子節(jié)點(diǎn)放看守+其他節(jié)點(diǎn)的f[t][0],f[t][1]中最小的一個(gè)的合

            f[i][2]=所有子節(jié)點(diǎn)的f[t][1]的合

              1: #include <stdio.h>
            
              2: #include <iostream>
            
              3: #define maxn 1510
            
              4: #define MAXINT 10000000
            
              5: using namespace std;
            
              6: 
            
              7: int son[maxn][maxn];
            
              8: int m[maxn];
            
              9: int n,x;
            
             10: int k[maxn];
            
             11: int tem[maxn];
            
             12: bool ro[maxn];
            
             13: int v;
            
             14: int f[maxn][3];
            
             15: 
            
             16: void dp(int x)
            
             17: {
            
             18:     if (f[x][0]) return;
            
             19:     for (int i=1;i<=m[x];++i)
            
             20:     {
            
             21:         int t=son[x][i];
            
             22:         dp(t);
            
             23:         f[x][0]+=min(f[t][0],min(f[t][1],f[t][2]));
            
             24:         f[x][2]+=f[t][1];
            
             25:     }
            
             26:     f[x][0]+=k[x];
            
             27:     memset(tem,0,sizeof(tem));
            
             28:     int tot=0;
            
             29:     for (int i=1;i<=m[x];++i)
            
             30:     {
            
             31:         int t=son[x][i];
            
             32:         tem[i]=min(f[t][0],f[t][1]);
            
             33:         tot+=tem[i];
            
             34:     }
            
             35:     f[x][1]=MAXINT;
            
             36:     for (int i=1;i<=m[x];++i)
            
             37:     {
            
             38:         int t=son[x][i];
            
             39:         if (tot-tem[i]+f[t][0]<f[x][1]) f[x][1]=tot-tem[i]+f[t][0];
            
             40:     }
            
             41: }
            
             42: 
            
             43: int main()
            
             44: {
            
             45:     freopen("guard.in","r",stdin);
            
             46:     freopen("guard.out","w",stdout);
            
             47:     
            
             48:     scanf("%d",&n);
            
             49:     for (int i=1;i<=n;++i)
            
             50:     {
            
             51:         scanf("%d",&x);
            
             52:         scanf("%d%d",&k[x],&m[x]);
            
             53:         for (int j=1;j<=m[x];++j)
            
             54:         {
            
             55:             scanf("%d",&son[x][j]);
            
             56:             ro[son[x][j]]=1;
            
             57:         }
            
             58:     }
            
             59:     for (int i=1;i<=n;++i)
            
             60:         if (!ro[i])
            
             61:         {
            
             62:             v=i;
            
             63:             break;
            
             64:         }
            
             65:     //for (int i=1;i<=n;++i)
            
             66:     //f[i][2]=f[i][1]=MAXINT;
            
             67:     dp(v);
            
             68:     printf("%d\n",min(f[v][0],f[v][1]));
            
             69:     return 0;
            
             70: }
            
             71: 

            posted @ 2010-09-02 19:58 Sephiroth Lee 閱讀(1065) | 評(píng)論 (1)編輯 收藏

            聚會(huì)的快樂(lè)

            題目見(jiàn)ural1039

              1: #include <stdio.h>
            
              2: #include <stdlib.h>
            
              3: #include <iostream>
            
              4: #define maxn 6010
            
              5: using namespace std;
            
              6: 
            
              7: struct ss
            
              8: {
            
              9:     int ro,nu;
            
             10: } a[maxn];
            
             11: int w[maxn];
            
             12: int f[maxn][2];
            
             13: int n;
            
             14: int x,y;
            
             15: int t[maxn];
            
             16: 
            
             17: int cmp(const void*a,const void*b)
            
             18: {
            
             19:     ss c=*(ss*)a,d=*(ss*)b;
            
             20:     if (c.ro<d.ro) return -1;
            
             21:     if (c.ro>d.ro) return 1;
            
             22:     return 0;
            
             23: }
            
             24: 
            
             25: void dp(int x)
            
             26: {
            
             27:     if (f[x][1]) return;
            
             28:     for (int i=t[x];i<t[x+1];++i)
            
             29:     {
            
             30:         int k=a[i].nu;
            
             31:         dp(k);
            
             32:         f[x][1]+=f[k][0];
            
             33:         f[x][0]+=max(f[k][0],f[k][1]);
            
             34:     }
            
             35:     f[x][1]+=w[x];
            
             36: }
            
             37: 
            
             38: int main()
            
             39: {
            
             40:     freopen("party.in","r",stdin);
            
             41:     freopen("party.out","w",stdout);
            
             42:     
            
             43:     scanf("%d",&n);
            
             44:     for (int i=1;i<=n;++i) scanf("%d",&w[i]);
            
             45:     scanf("%d%d",&x,&y);
            
             46:     while (!((!x)&&(!y)))
            
             47:     {
            
             48:         a[x].nu=x;
            
             49:         a[x].ro=y;
            
             50:         scanf("%d%d",&x,&y);
            
             51:     }
            
             52:     for (int i=1;i<=n;++i)
            
             53:         if (!a[i].ro)
            
             54:             a[i].nu=i;
            
             55:     a[0].ro=-1;
            
             56:     qsort(a,n+1,sizeof(ss),cmp);
            
             57:     for (int i=1;i<=n;++i)
            
             58:         if (!t[a[i].ro])
            
             59:             t[a[i].ro]=i;
            
             60:     t[n+1]=n+1;
            
             61:     for (int i=n;i>0;--i)
            
             62:         if (!t[i])
            
             63:             t[i]=t[i+1];
            
             64:     dp(0);
            
             65:     printf("%d\n",max(f[0][1],f[0][0]));
            
             66:     return 0;
            
             67: }
            
             68: 

            posted @ 2010-09-02 19:15 Sephiroth Lee 閱讀(446) | 評(píng)論 (0)編輯 收藏

            任務(wù)安排

            【描述】

            N個(gè)任務(wù)排成一個(gè)序列在一臺(tái)機(jī)器上等待完成(順序不得改變),這N個(gè)任務(wù)被分成若干批,每批包含相鄰的若干任務(wù)。從時(shí)刻0開(kāi)始,這些任務(wù)被分批加工,第i個(gè)任務(wù)單獨(dú)完成所需的時(shí)間是Ti。在每批任務(wù)開(kāi)始前,機(jī)器需要啟動(dòng)時(shí)間S,而完成這批任務(wù)所需的時(shí)間是各個(gè)任務(wù)需要時(shí)間的總和(同一批任務(wù)將在同一時(shí)刻完成)。每個(gè)任務(wù)的費(fèi)用是它的完成時(shí)刻乘以一個(gè)費(fèi)用系數(shù)Fi。請(qǐng)確定一個(gè)分組方案,使得總費(fèi)用最小。 例如:S=1;T={1,3,4,2,1};F={3,2,3,3,4}。如果分組方案是{1,2}、{3}、{4,5},則完成時(shí)間分別為{5,5,10,14,14},費(fèi)用C{15,10,30,42,56},總費(fèi)用就是153。

            【輸入】

            第一行是N(1<=N<=5000)。 第二行是S(0<=S<=50)。 下面N行每行有一對(duì)數(shù),分別為T(mén)i和Fi,均為不大于100的正整數(shù),表示第i個(gè)任務(wù)單獨(dú)完成所需的時(shí)間是Ti及其費(fèi)用系數(shù)Fi。

            【輸出】

            一個(gè)數(shù),最小的總費(fèi)用。
            【樣例】

            BATCH.IN BATCH.OUT
            5
            1
            1 3
            3 2
            4 3
            2 3
            1 4
            153

            【分析】

            dp[i]:完成工作1到工作I的費(fèi)用+因增加S從I到N增加的費(fèi)用的總和的最小費(fèi)用。

            dp[i]=min{dp[k-1]+s*(f[n]-f[k-1])+t[i]*(f[i]-f[k-1])}

              1: #include <stdio.h>
            
              2: #include <iostream>
            
              3: #define MAXINT 10000000
            
              4: #define maxn 5010
            
              5: using namespace std;
            
              6: 
            
              7: int n,s;
            
              8: int t[maxn],f[maxn],dp[maxn];
            
              9: int tem;
            
             10: 
            
             11: int main()
            
             12: {
            
             13:     freopen("batch.in","r",stdin);
            
             14:     freopen("batch.out","w",stdout);
            
             15:     
            
             16:     scanf("%d%d",&n,&s);
            
             17:     for (int i=1;i<=n;++i)
            
             18:     {
            
             19:         scanf("%d%d",&t[i],&f[i]);
            
             20:         t[i]+=t[i-1];
            
             21:         f[i]+=f[i-1];
            
             22:     }
            
             23:     for (int i=1;i<=n;++i) dp[i]=MAXINT;
            
             24:     dp[0]=0;
            
             25:     for (int i=1;i<=n;++i)
            
             26:         for (int k=1;k<=i;++k)
            
             27:         {
            
             28:             tem=dp[k-1]+s*(f[n]-f[k-1])+t[i]*(f[i]-f[k-1]);
            
             29:             if (tem<dp[i]) dp[i]=tem;
            
             30:         }
            
             31:     printf("%d\n",dp[n]);
            
             32:     return 0;
            
             33: }
            
             34: 

            posted @ 2010-09-02 18:39 Sephiroth Lee 閱讀(297) | 評(píng)論 (0)編輯 收藏

            動(dòng)態(tài)規(guī)劃-關(guān)燈

            【描述】

            多瑞卡得到了一份有趣而高薪的工作。每天早晨他必須關(guān)掉他所在村莊的街燈。所有的街燈都被設(shè)置在一條直路的同一側(cè)。
            多瑞卡每天到早晨5點(diǎn)鐘都按時(shí)起床,然后他開(kāi)始關(guān)燈。開(kāi)始時(shí),他站在某一盞路燈的旁邊。
            每盞燈都有一個(gè)給定功率的電燈泡,因?yàn)槎喽丝ㄓ兄杂X(jué)的節(jié)能意識(shí),他希望在耗電能總數(shù)最少的情況下將所有的燈關(guān)掉。
            多端卡因?yàn)樘哿?,所以只能?m/s的速度行走。關(guān)燈不需要花費(fèi)額外的時(shí)間,因?yàn)楫?dāng)他通過(guò)時(shí)就能將燈關(guān)掉。
            編寫(xiě)程序,計(jì)算在給定路燈設(shè)置,燈泡功率以及多端卡的起始位置的情況下關(guān)掉所有的燈需耗費(fèi)的最小能量。
            【輸入】
            輸入文件的第一行包含一個(gè)整數(shù)N,2≤N≤1000,表示該村莊路燈的數(shù)量。
            第二行包含一個(gè)整數(shù)V,1≤V≤N,表示多瑞卡開(kāi)始關(guān)燈的路燈號(hào)碼。
            接下來(lái)的N行中,每行包含兩個(gè)用空格隔開(kāi)的整數(shù)D和W,用來(lái)描述每盞燈的參數(shù),其中0≤D≤1000,0≤W≤1000。D表示該路燈與村莊開(kāi)始處的距離(用米為單位來(lái)表示),W表示燈泡的功率,即在每秒鐘該燈泡所消耗的能量數(shù)。路燈是按順序給定的。
            【輸出】
            輸出文件的第一行即唯一的一行應(yīng)包含一個(gè)整數(shù),即消耗能量之和的最小值。注意結(jié)果不超過(guò)1,000,000,000。
            【樣例】

            POWER.IN POWER.OUT
            4
            3
            2 2
            5 8
            6 1
            8 7
            56

            【分析】

            用c[i][j]表示關(guān)掉i到j(luò)的燈,剩下的燈的功率。

            f[i][j][0]表示v左面關(guān)掉i,右面關(guān)掉j盞燈,最后停到左面。

            f[i][j][1]表示v左面關(guān)掉i,右面關(guān)掉j盞燈,最后停到右面。

            初始條件:

            f[0,0,0]=f[1,0,0]=0

            轉(zhuǎn)移方程://對(duì)于所有的i和j,滿足0<i<=v-1,0<j<=n-v

            f[0,I,0]=f[0,i-1,0]+c[v-i+1,v]*(d[v-i+1]-d[v-i]){從i-1走到i所耗功率}

            f[1,I,0]=f[0,I,0]+c[v-I,v]*(d[v]-d[v-i]){ {從i走到v所耗功率}

            f[1,0,j]=f[1,0,j-1]+c[v,v+j-1]*(d[v+j]-d[v+j-1])

            f[0,0,j]=f[1,0,j]+c[v,v+j]*(d[v+j]-d[v])

            f[0,I,j]=min{f[0,i-1,j]+(d[v-i+1]-d[v-i])*c[v-i+1,v+j],f[1,i-1,j]+(d[v+j]-d[v-i])*c[v-i+1,v+j]}

            f[1,I,j]=min{f[1,I,j-1]+(d[v+j]-d[v+j-1])*c[v-I,v+j-1],f[0][I,j-1]+(d[v+j]-d[v-i])*c[v-I,v+j-1]}

            最終結(jié)果: Result=min{f[0,v-1,n-v],f[1,v-1,n-v]}

              1: #include <stdio.h>
            
              2: #include <iostream>
            
              3: #define maxn 1010
            
              4: using namespace std;
            
              5: 
            
              6: int c[maxn][maxn];
            
              7: int sum[maxn][maxn];
            
              8: int d[maxn],w[maxn];
            
              9: int n,v;
            
             10: int f[maxn][maxn][2];
            
             11: 
            
             12: int main()
            
             13: {
            
             14:     freopen("power.in","r",stdin);
            
             15:     freopen("power.out","w",stdout);
            
             16:     
            
             17:     scanf("%d%d",&n,&v);
            
             18:     for (int i=1;i<=n;++i) scanf("%d%d",&d[i],&w[i]);
            
             19:     for (int i=1;i<=n;++i)
            
             20:         for (int j=i;j<=n;++j)
            
             21:             sum[i][j]=sum[i][j-1]+w[j];
            
             22:     for (int i=1;i<=n;++i)
            
             23:         for (int j=i;j<=n;++j)
            
             24:             c[i][j]=sum[1][n]-sum[i][j];
            
             25:     memset(f,63,sizeof(f));
            
             26:     f[0][0][0]=f[0][0][1]=0; //0left 1right
            
             27:     for (int i=1;i<=v-1;++i)
            
             28:     {
            
             29:         f[i][0][0]=f[i-1][0][0]+c[v-i+1][v]*(d[v-i+1]-d[v-i]);
            
             30:         f[i][0][1]=f[i][0][0]+c[v-i][v]*(d[v]-d[v-i]);
            
             31:     }
            
             32:     for (int j=1;j<=n-v;++j)
            
             33:     {
            
             34:         f[0][j][1]=f[0][j-1][1]+c[v][v+j-1]*(d[v+j]-d[v+j-1]);
            
             35:         f[0][j][0]=f[0][j][1]+c[v][v+j]*(d[v+j]-d[v]);
            
             36:     }
            
             37:     for (int i=1;i<=v-1;++i)
            
             38:         for (int j=1;j<=n-v;++j)
            
             39:         {
            
             40:             f[i][j][0]=min(f[i-1][j][0]+c[v-i+1][v+j]*(d[v-i+1]-d[v-i]),f[i-1][j][1]+c[v-i+1][v+j]*(d[v+j]-d[v-i]));
            
             41:             f[i][j][1]=min(f[i][j-1][1]+c[v-i][v+j-1]*(d[v+j]-d[v+j-1]),f[i][j-1][0]+c[v-i][v+j-1]*(d[v+j]-d[v-i]));
            
             42:         }
            
             43:     printf("%d\n",min(f[v-1][n-v][1],f[v-1][n-v][0]));
            
             44:     return 0;
            
             45: }
            
             46: 
            
             47: 

            posted @ 2010-09-02 11:54 Sephiroth Lee 閱讀(470) | 評(píng)論 (0)編輯 收藏

            僅列出標(biāo)題  下一頁(yè)
            free counters
            国产美女久久精品香蕉69| 久久美女人爽女人爽| 国产AV影片久久久久久| 国产69精品久久久久777| 午夜久久久久久禁播电影| 久久99久久99精品免视看动漫| 久久一区二区三区免费| 久久久久久亚洲精品不卡| 久久久久人妻一区精品果冻| 品成人欧美大片久久国产欧美...| 国产精品久久久久久久久免费| 成人国内精品久久久久影院| 99精品久久精品| 亚洲精品高清国产一久久| 草草久久久无码国产专区| 久久精品国产亚洲7777| 久久免费国产精品| 国产精品久久婷婷六月丁香| 狠狠色丁香久久婷婷综合_中| 久久精品极品盛宴观看| 久久久久久精品久久久久| 7777精品伊人久久久大香线蕉| 精品国产青草久久久久福利| 久久精品人人槡人妻人人玩AV| 丁香狠狠色婷婷久久综合| 88久久精品无码一区二区毛片| 久久久久久av无码免费看大片| 久久亚洲欧洲国产综合| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲色欲久久久综合网| 久久青青草原国产精品免费| 久久久精品久久久久特色影视| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久伊人中文无码| 久久精品国产亚洲αv忘忧草| 99久久超碰中文字幕伊人| 99国内精品久久久久久久| 久久无码高潮喷水| 久久99热狠狠色精品一区| 色8激情欧美成人久久综合电| 少妇久久久久久久久久|