青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

數據加載中……

URAL 1018 A Binary Apple Tree

A Binary Apple Tree


Time Limit: 1.0 second
Memory Limit: 16 MB
Let's imagine how apple tree looks in binary computer world. You're right, it looks just like a binary tree, i.e. any biparous branch splits up to exactly two new branches. We will enumerate by natural numbers the root of binary apple tree, points of branching and the ends of twigs. This way we may distinguish different branches by their ending points. We will assume that root of tree always is numbered by 1 and all numbers used for enumerating are numbered in range from 1 to N, where N is the total number of all enumerated points. For instance in the picture below N is equal to 5. Here is an example of an enumerated tree with four branches:
2   5
\ /
3 4
\ /
1
As you may know it's not convenient to pick an apples from a tree when there are too much of branches. That's why some of them should be removed from a tree. But you are interested in removing branches in the way of minimal loss of apples. So your are given amounts of apples on a branches and amount of branches that should be preserved. Your task is to determine how many apples can remain on a tree after removing of excessive branches.

Input

First line of input contains two numbers: N and Q (1 ≤ QN; 1 < N ≤ 100). N denotes the number of enumerated points in a tree. Q denotes amount of branches that should be preserved. Next N−1 lines contains descriptions of branches. Each description consists of a three integer numbers divided by spaces. The first two of them define branch by it's ending points. The third number defines the number of apples on this branch. You may assume that no branch contains more than 30000 apples.

Output

Output should contain the only number — amount of apples that can be preserved. And don't forget to preserve tree's root ;-)

Sample

input output
5 2
1 3 1
1 4 10
2 3 20
3 5 20
                                 21

簡析:
      這是一個簡單的樹形動態規劃問題,大概可以拿來當這類題目的入門訓練題.雖然這是URAL上的第一個樹形DP,但是我奇怪的是它的通過率并不很高.
      對于原題目的圖形,用數組value[a][b]表示a,b點間蘋果的個數,用nd[p].L,nd[p].R分別表示節點p的左右兒子.通過build_tree(1)獲得數組nd[],從而獲得整棵樹的信息.
接著,用ans[p][i]表示以節點p為祖宗的子樹,保留的枝條不超過i條時所能保留的最多的蘋果,狀態轉移有一下幾種情況.
在除去多余枝條的后的圖中,
1.  p只與一個兒子相連:
    ans[p][i]=max(ans[left_son][i-1]+value[left_son][p],ans[right_son][i-1]+value[right_son][p]);
2.  p與兩個兒子相連:
    for (int j=0;j<=i-2;++j)
      ans[p][i]=max(ans[p][i],ans[left_son][j]+ans[right_son][i-j-2]+d); 
    這里,d=value[left_son][p]+value[right_son][p];

算法在o(N*Q*Q)級別
 1 #include<iostream>
 2 using namespace std;
 3 const int MAXN=102;
 4 int n,q,value[MAXN][MAXN],ans[MAXN][MAXN];
 5 struct node
 6 {
 7   int l,r;
 8 }nd[MAXN];
 9 
10 void build_tree(int p)
11 {
12   int flg=0;
13   for (int i=1;i<=n;++i)
14     if (value[p][i] && (!nd[i].l))
15       {
16     flg=1;
17     if (nd[p].l==0) nd[p].l=i;
18     else
19       {nd[p].r=i; break;}
20       }
21   if (!flg) return;
22   if (nd[p].l) build_tree(nd[p].l);
23   if (nd[p].r) build_tree(nd[p].r);
24 }
25 
26 void calc(int p)
27 {
28   if (!nd[p].l) return;
29   int l=nd[p].l,r=nd[p].r;
30   calc(l);
31   calc(r);
32   ans[p][1]=max(value[l][p],value[r][p]);
33 
34   int d=value[l][p]+value[r][p];
35   for (int i=2;i<=q;++i)
36   {  
37     ans[p][i]=max(ans[l][i-1]+value[l][p],ans[r][i-1]+value[r][p]);
38     for (int j=0;j<=i-2;++j)
39       ans[p][i]=max(ans[p][i],ans[l][j]+ans[r][i-j-2]+d);
40   }
41 }
42 
43 
44 int main()
45 {
46   //freopen("data.in","r",stdin);
47   //freopen("data.out","w",stdout);
48   cin >> n >> q;
49   memset(value,0,sizeof(value));
50   for (int i=1;i<n;++i)
51     {
52       int a,b,c;
53       cin >> a >> b >> c;
54       value[a][b]=c;
55       value[b][a]=c;
56     }
57   memset(nd,0,sizeof(nd));
58   build_tree(1);
59   calc(1);
60   cout << ans[1][q] << endl;
61   return 0;
62 }
63 



posted on 2009-07-19 23:02 Chen Jiecao 閱讀(502) 評論(0)  編輯 收藏 引用 所屬分類: URAL

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美视频在线观看 亚洲欧| 久久精品免费电影| 欧美日韩精品欧美日韩精品一| 在线观看欧美| 亚洲风情在线资源站| 女女同性精品视频| 一区二区三区免费看| 亚洲无亚洲人成网站77777| 国产精品女主播一区二区三区| 欧美一区1区三区3区公司| 欧美在线黄色| 亚洲黄色在线观看| 99国产麻豆精品| 国产欧美日韩亚洲| 欧美激情在线| 国产精品美女久久| 久久久久久久国产| 欧美激情一区二区在线| 亚洲欧美色婷婷| 久久视频国产精品免费视频在线| 亚洲日本成人网| 亚洲一区二区综合| 91久久精品国产91久久| 亚洲午夜精品久久| 在线日本高清免费不卡| 一区二区三区日韩欧美| 精品69视频一区二区三区| 亚洲欧洲精品一区二区| 国产欧美一区二区色老头| 亚洲高清在线| 国产在线高清精品| 99一区二区| 亚洲欧洲日本国产| 欧美一区二区三区久久精品 | 欧美区亚洲区| 久久精品国产77777蜜臀| 欧美精品三级日韩久久| 久久久久久穴| 国产精品国产三级国产aⅴ入口| 久久亚洲图片| 国产精品日韩在线观看| 亚洲日本成人网| 在线观看精品| 欧美伊人精品成人久久综合97| 亚洲婷婷综合色高清在线| 蜜臀va亚洲va欧美va天堂| 久久久久久电影| 午夜精品短视频| 欧美区一区二| 91久久久久久| 91久久午夜| 麻豆精品一区二区av白丝在线| 久久精品视频亚洲| 国产欧美不卡| 亚洲午夜免费福利视频| 亚洲视频图片小说| 欧美激情第8页| 欧美成人国产va精品日本一级| 国产一区在线播放| 午夜精品一区二区三区在线播放 | 一区二区三区日韩欧美精品| 农村妇女精品| 91久久精品美女高潮| 亚洲国产精品尤物yw在线观看 | 亚洲国产成人精品视频| 一区在线播放| 久久一区二区视频| 欧美成人a视频| 亚洲国产一区在线| 欧美久久99| 日韩特黄影片| 亚洲一区在线观看免费观看电影高清| 欧美日韩国产天堂| 夜夜爽av福利精品导航 | 影院欧美亚洲| 另类国产ts人妖高潮视频| 男男成人高潮片免费网站| 在线看片日韩| 欧美.日韩.国产.一区.二区| 91久久精品美女高潮| 9i看片成人免费高清| 欧美深夜影院| 欧美一区二区高清| 欧美va天堂| 一本久道久久综合狠狠爱| 欧美日韩在线免费视频| 午夜精品剧场| 欧美成人免费在线| 在线视频亚洲欧美| 国产香蕉久久精品综合网| 久久在线91| 艳女tv在线观看国产一区| 久久精品毛片| 日韩写真视频在线观看| 国产精品乱看| 久久综合图片| 一本色道久久综合狠狠躁篇的优点 | 免费看精品久久片| 日韩视频在线观看一区二区| 欧美一区二区在线| 亚洲经典自拍| 国产酒店精品激情| 欧美激情综合亚洲一二区| 亚洲男人av电影| 最新日韩精品| 久久精品欧美日韩| 99国内精品久久| 亚洲欧洲综合| 久久只精品国产| 亚洲一区二区欧美日韩| 狠狠色丁香久久婷婷综合_中| 欧美精品一区二区三区四区| 欧美一区二区精品久久911| 91久久视频| 蜜桃久久精品一区二区| 亚洲校园激情| 亚洲福利免费| 国产日韩欧美在线| 国产精品国产亚洲精品看不卡15| 久久深夜福利| 欧美在线一二三四区| 一区二区三区精品国产| 亚洲高清自拍| 欧美成人高清视频| 久久久综合网站| 久久精品一区| 亚洲免费视频网站| 亚洲天堂网站在线观看视频| 亚洲国产婷婷综合在线精品| 国产日韩欧美a| 国产精品永久| 国产精品日韩一区二区| 欧美视频在线一区| 欧美日韩一区二区三区免费看| 美女精品自拍一二三四| 久久精品国语| 久久激情视频久久| 久久精品国产2020观看福利| 欧美亚洲综合另类| 午夜精品久久久久久99热软件| 中文成人激情娱乐网| 在线亚洲精品| 亚洲校园激情| 亚洲一区二区三区免费观看| 亚洲一区二区三区久久| 亚洲午夜精品一区二区| 一区二区三区精品久久久| 中文精品一区二区三区| 亚洲一区二区三区午夜| 亚洲一区高清| 欧美在线观看视频一区二区| 久久久精品一区| 老司机免费视频一区二区三区| 免费久久99精品国产自| 欧美精品高清视频| 国产精品v日韩精品| 国产精品资源| 在线观看91精品国产入口| 亚洲激情国产精品| 亚洲视频免费| 久久成人久久爱| 欧美大片网址| 一区二区福利| 欧美影院成人| 另类激情亚洲| 国产精品99一区| 伊人精品成人久久综合软件| 亚洲精品资源| 午夜日韩在线观看| 久久综合激情| 日韩视频国产视频| 欧美一级成年大片在线观看| 美女视频一区免费观看| 欧美日韩午夜视频在线观看| 国产日韩欧美不卡| 亚洲激情视频在线播放| 亚洲欧美在线另类| 欧美va亚洲va日韩∨a综合色| 亚洲精品视频免费| 欧美在线你懂的| 欧美人与禽猛交乱配| 国产亚洲成av人片在线观看桃| 亚洲精品视频在线观看网站| 午夜精品短视频| 亚洲国产经典视频| 欧美一级大片在线观看| 欧美日韩成人综合| 在线观看日韩| 久久久久久综合网天天| 国产精品v欧美精品v日韩| 亚洲高清视频在线观看| 先锋影院在线亚洲| 亚洲国产精品精华液2区45| 亚洲欧美日韩综合aⅴ视频| 欧美激情中文字幕一区二区| 精品1区2区3区4区| 午夜精品一区二区在线观看| 亚洲欧洲精品一区二区精品久久久| 久久成人精品| 国产欧美日本在线|