<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36,  comments - 3,  trackbacks - 0
    Problem Description
    世界杯結束了,意大利人連本帶利的收回了法國人6年前欠他們的債,捧起了大力神杯,成就了4星意大利.
    世界杯雖然結束了,但是這界世界杯給我們還是留下許多值得回憶的東西.比如我們聽到了黃名嘴的3分鐘激情解說,我們懂得了原來可以向同一個人出示3張黃牌,我們還看到了齊達內的頭不僅能頂球還能頂人…………
    介于有這么多的精彩,xhd決定重溫德國世界杯,當然只是去各個承辦世界杯比賽的城市走走看看.但是這需要一大比錢,幸運的是xhd對世界杯的熱愛之情打動了德國世界杯組委會,他們將提供xhd在中國杭州和德國任意世界杯承辦城市的往返機票,并說服了這些城市在xhd到達這座城市時為他提供一筆生活費以便他在那里參觀時用,當參觀完時剩余的錢也將留給xhd,但當生活費不夠時他們將強行結束xhd的這次德國之行,除了這個,他們還有一個條件,xhd只能根據他們所給的路線參觀.比如有3座城市a,b,c,他們給定了a-b-c-a的路線,那么xhd只有3種參觀順序abc,bca,cab.由于各個城市所提供的生活費和在那里的花費都不同,這使xhd很頭痛,還好我們事先知道了這筆生活費和花費.請問xhd最多能順利參觀幾座城市?
     

    Input
    每組輸入數據分兩行,第一行是一個正整數n(1<=n<=100000),表示有n座城市.接下來的一行按照給定的路線順序的輸出這n個城市的生活費和花費,w1,l1,w2,l2,……,wn,ln,其中wi,li分別表示第i個城市的生活費和花費,并且它們都是正整數.
     

    Output
    對應每組數據輸出最多能參觀的城市數.
     

    Sample Input
    3 3 2 3 4 2 2 3 3 2 3 4 2 3
     

    Sample Output
    3 2

    /*狀態方程:F[I]=MAX(F[I-1]+A[I],A[I])*/
    #include
    <stdio.h>
    #include
    <string.h>
    #include
    <stdlib.h>
    #define MAX 100000
    int dp[MAX];
    int sum[MAX];
    int a[2*MAX];
    int max(int a,int b)
    {
        
    return a>b? a:b;
    }

    int main()
    {
        
    int i,a1,a2,n;
        
    while(scanf("%d",&n)!=EOF)
        
    {
            memset(dp,
    0,sizeof(dp));
            
    int num;
            
    for(i=0;i<n;i++)
            
    {
                scanf(
    "%d%d",&a1,&a2);
                a[i]
    =a[i+n]=a1-a2;
            }

            
    if(a[0]>=0)
                dp[
    0]=1;
            sum[
    0]=a[0];
            num
    =dp[0];
            
    for(i=1;i<2*n;i++)
            
    {
                
    if(num==n)
                    
    break;
                
    if(a[i]>=0)
                
    {
                    
    if(sum[i-1]>=0)
                    
    {
                        
                        dp[i]
    =dp[i-1]+1;
                        
    //if(num<=dp[i])
                        
    //    num=dp[i];
                        num=max(dp[i],num);
                        sum[i]
    =sum[i-1]+a[i];
                    }

                    
    else
                    
    {
                        sum[i]
    =a[i];
                        dp[i]
    =1;
                    }

                }

                
    else
                
    {
                    
    if(sum[i-1]+a[i]>=0)
                    
    {
                        dp[i]
    =dp[i-1]+1;
                        
    //if(num<=dp[i])
                        
    //    num=dp[i];
                        num=max(dp[i],num);
                        sum[i]
    =sum[i-1]+a[i];
                    }

                    
    else 
                    
    {
                        dp[i]
    =0;
                        sum[i]
    =a[i];
                    }

                }

            }

            printf(
    "%d\n",num);
        }

    }


    本題目可以用DP做也可以不用,dp的話是為最長公共子序列,記得是循環就行。
    posted on 2013-03-18 09:45 天YU地___PS,代碼人生 閱讀(127) 評論(0)  編輯  收藏 所屬分類: acm
    <2013年3月>
    242526272812
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

     一定要好好學習,天天向上!

    常用鏈接

    留言簿

    隨筆分類(8)

    隨筆檔案(35)

    文章分類

    文章檔案(1)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 2022久久国产精品免费热麻豆| 亚洲av永久无码精品网站| 91精品国产免费久久国语麻豆| 有码人妻在线免费看片| 亚洲综合激情五月丁香六月| 亚洲一区二区电影| 在线精品亚洲一区二区三区 | 亚洲精品成人片在线观看精品字幕 | 久久久久久久久免费看无码| 三级网站免费观看| 午夜成人无码福利免费视频| 亚洲乱码无人区卡1卡2卡3| 亚洲一卡2卡三卡4卡有限公司| 亚洲精品无码久久千人斩| 日本中文一区二区三区亚洲| 在线观看免费人成视频色| 最近2019年免费中文字幕高清| 中文字幕无线码中文字幕免费| 免费人成大片在线观看播放电影| 亚洲欧美日韩自偷自拍| 亚洲六月丁香婷婷综合| 亚洲欧洲在线播放| 亚洲黄色免费网站| 亚洲第一福利网站| 亚洲不卡av不卡一区二区| 亚洲色婷婷综合开心网| 亚洲国产精品成人网址天堂| 四虎影视永久免费观看网址| 日本特黄a级高清免费大片| 啦啦啦www免费视频| 啦啦啦中文在线观看电视剧免费版| 国产精品色拉拉免费看| 永久黄色免费网站| 1000部拍拍拍18勿入免费凤凰福利 | 成人毛片18岁女人毛片免费看| 黄色片在线免费观看| 无码免费午夜福利片在线| 99久久这里只精品国产免费| av免费不卡国产观看| 大地资源二在线观看免费高清| 成人爽A毛片免费看|