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

            poj1201

            Intervals

            Time Limit: 2000MS Memory Limit: 65536K
            Total Submissions: 15733 Accepted: 5871

            Description

            You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn.
            Write a program that:
            reads the number of intervals, their end points and integers c1, ..., cn from the standard input,
            computes the minimal size of a set Z of integers which has at least ci common elements with interval [ai, bi], for each i=1,2,...,n,
            writes the answer to the standard output.

            Input

            The first line of the input contains an integer n (1 <= n <= 50000) -- the number of intervals. The following n lines describe the intervals. The (i+1)-th line of the input contains three integers ai, bi and ci separated by single spaces and such that 0 <= ai <= bi <= 50000 and 1 <= ci <= bi - ai+1.

            Output

            The output contains exactly one integer equal to the minimal size of set Z sharing at least ci elements with interval [ai, bi], for each i=1,2,...,n.

            Sample Input

            5
            3 7 3
            8 10 3
            6 8 1
            1 3 1
            10 11 1

            Sample Output

            6
            這題最多可能有5w的點,但是給的邊數有5w
            而且要注意的是 對每個區間[i-1,i]都有>=0 <=1的條件
            如果直接建圖的話,邊數可能有15w
            所以時間上bellman_ford 可能很難承受
            所有要優化
            對于那些默認的條件,顯然我們可以不用把這些邊加進去,
            在每次判斷時候,判斷一邊即可
            對于bellman_ford 還有優化是,如果一次循環中沒有修改任何值,則說明bellman_ford已經得到解了,
            沒必要繼續執行了 直接推出就行了
            目標是求dist[mx]-dist[mn]
            #include<algorithm>
            #include
            <iostream>
            #include
            <cstring>
            #include
            <cstdio>
            #include
            <cstdlib>
            #include
            <string>
            #include
            <cmath>
            using namespace std;
            #define inf 0x7ffffff
            #define max 50004
            struct node 
            {
                
            int u,v,w;
            }
            edge[max];
            int n,dist[max],mn,mx;
            void init()
            {
                
            int i;
                
            for(i=0;i<max;i++) dist[i]=0;
                mx
            =1;mn=inf;
            }

            void bellman_ford()
            {
                
            int k,t;
                
            bool flag=true;
                
            while(flag)
                
            {
                    flag
            =false;
                    
            for(k=0;k<n;k++)
                    
            {
                        t
            =dist[edge[k].u]+edge[k].w;
                        
            if (dist[edge[k].v]>t)
                        
            {
                            dist[edge[k].v]
            =t;
                            flag
            =true;
                        }

                    }

                    
            for(k=mn;k<mx;k++)
                    
            {
                        t
            =dist[k-1]+1;
                        
            if (dist[k]>t)
                        
            {
                            dist[k]
            =t;
                            flag
            =true;
                        }

                    }

                    
            for(k=mn;k<mx;k++)
                    
            {
                        
            if (dist[k-1]>dist[k])
                        
            {
                            dist[k
            -1]=dist[k];
                            flag
            =true;
                        }

                    }

                }

            }

            int main()
            {
                
            int i,u,v,w;
                
            while (scanf("%d",&n)!=EOF)
                
            {
                    
            for(i=0;i<n;i++)
                    
            {
                        scanf(
            "%d%d%d",&u,&v,&w);
                        edge[i].u
            =v;
                        edge[i].v
            =u-1;
                        edge[i].w
            =-w;
                        
            if (u<mn)
                        
            {
                            mn
            =u;
                        }

                        
            if (v>mx)
                        
            {
                            mx
            =v;
                        }

                    }

                    bellman_ford();
                    printf(
            "%d\n",dist[mx]-dist[mn-1]);
                }

                
            return 0;
            }

            posted on 2012-04-03 17:38 jh818012 閱讀(187) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內容較長,點擊標題查看
            • --王私江
            久久精品亚洲精品国产色婷| 久久久久一本毛久久久| 91精品国产91久久久久久蜜臀| 久久精品成人| 91精品久久久久久无码| 久久精品亚洲精品国产欧美| 久久久久精品国产亚洲AV无码| 久久精品三级视频| 久久精品亚洲中文字幕无码麻豆| 久久国产一区二区| 99久久国产亚洲高清观看2024 | 性做久久久久久久久| 久久笫一福利免费导航 | 国产精品午夜久久| 精品久久久久久亚洲精品 | 麻豆精品久久久久久久99蜜桃 | 久久se精品一区精品二区| 精品久久久久久中文字幕| 国产精品久久婷婷六月丁香| 国产亚洲美女精品久久久久狼| 久久成人小视频| 久久综合伊人77777麻豆| 久久精品成人影院| 女人香蕉久久**毛片精品| 香蕉久久夜色精品国产小说| 97久久婷婷五月综合色d啪蜜芽| 狠狠色丁香久久婷婷综合| 久久免费香蕉视频| 国内精品免费久久影院| 久久久久久免费视频| 亚洲国产成人乱码精品女人久久久不卡| 开心久久婷婷综合中文字幕| 精品欧美一区二区三区久久久 | 久久免费视频6| 精品国产一区二区三区久久蜜臀| 久久热这里只有精品在线观看| 99久久国产主播综合精品| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 欧美麻豆久久久久久中文| 久久久精品久久久久特色影视| 国产综合精品久久亚洲|