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

數據加載中……

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 閱讀(508) 評論(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>
            狠狠色丁香婷婷综合| 亚洲欧洲日韩女同| 久久精品国产99国产精品澳门| 正在播放欧美视频| 国产日韩在线一区| 免费成人在线观看视频| 蜜桃av久久久亚洲精品| 日韩视频二区| 亚洲综合999| 亚洲成在线观看| 亚洲国产精品一区二区第一页| 欧美成人久久| 亚洲欧美综合网| 久久精品国产99| 日韩一本二本av| 亚洲欧美日韩在线| 亚洲第一搞黄网站| 一区二区高清在线| 激情成人亚洲| 99精品视频一区| 韩国女主播一区| 亚洲另类春色国产| 合欧美一区二区三区| 亚洲韩日在线| 国产一区二区三区久久悠悠色av| 亚洲成色www8888| 国产精品日韩精品欧美精品| 卡一卡二国产精品| 国产精品久久久久久久久借妻| 开心色5月久久精品| 欧美性猛交xxxx乱大交退制版| 久久理论片午夜琪琪电影网| 欧美精品一线| 美女视频一区免费观看| 国产精品久久国产精品99gif | 日韩视频免费观看| 午夜日韩视频| 亚洲一区二区高清| 久久一区二区三区四区| 性欧美8khd高清极品| 欧美精品午夜视频| 欧美α欧美αv大片| 国产欧美丝祙| 亚洲无限av看| 夜夜嗨av一区二区三区免费区| 欧美在线一二三四区| 亚洲欧美一级二级三级| 欧美日韩91| 亚洲第一级黄色片| 亚洲第一区中文99精品| 久久国产精品一区二区| 午夜亚洲福利在线老司机| 欧美日产一区二区三区在线观看 | 欧美亚洲三级| 欧美连裤袜在线视频| 欧美激情精品久久久| 亚洲成人在线观看视频| 久久国产免费| 久久在线免费观看视频| 国产一区二区三区高清播放| 午夜在线a亚洲v天堂网2018| 欧美一级久久久| 国产精品区一区二区三区| 一区二区三区三区在线| 亚洲欧美日韩视频二区| 国产精品伦子伦免费视频| 在线视频精品| 欧美一级视频精品观看| 国产视频自拍一区| 久久国产精品一区二区三区四区 | 欧美一区综合| 国产欧美一区二区精品婷婷| 香蕉乱码成人久久天堂爱免费| 欧美在线视频一区二区| 国产一区二区三区电影在线观看| 欧美亚洲综合久久| 美女国内精品自产拍在线播放| 亚洲福利视频二区| 欧美精品日韩| 中文在线资源观看网站视频免费不卡 | 在线播放精品| 欧美电影免费观看| 一级日韩一区在线观看| 久久精品91久久香蕉加勒比| 国产一区免费视频| 牛牛国产精品| 亚洲视屏一区| 麻豆久久精品| 日韩一级片网址| 国产精品主播| 蜜桃精品久久久久久久免费影院| 亚洲国产一区二区精品专区| 亚洲一区在线直播| 一区二区三区无毛| 欧美日韩一区二区三区在线视频| 亚洲女优在线| 亚洲国产成人在线| 欧美伊人精品成人久久综合97| 亚洲第一精品夜夜躁人人爽| 欧美日韩亚洲一区二| 欧美主播一区二区三区| 亚洲精品韩国| 久久久综合网站| 亚洲一区综合| 亚洲国产精品一区| 国产精品亚洲成人| 欧美韩国日本一区| 欧美综合第一页| 在线中文字幕不卡| 欧美韩国日本综合| 久久久精品网| 亚洲一区二区在线| 亚洲黄色精品| 国内成人精品一区| 国产精品久久久久9999吃药| 欧美成人国产一区二区 | 久久精品亚洲精品国产欧美kt∨| 亚洲欧洲精品一区二区精品久久久| 国产精品magnet| 欧美高清你懂得| 久久精品色图| 午夜精品久久久久久久久久久久| 亚洲精品视频中文字幕| 欧美freesex8一10精品| 久久久久久久综合狠狠综合| 亚洲视频 欧洲视频| 91久久国产综合久久| 狠狠88综合久久久久综合网| 国产欧美另类| 国产精品你懂的在线| 欧美日韩视频免费播放| 欧美精品日韩综合在线| 欧美a级片一区| 玖玖视频精品| 美女亚洲精品| 免费视频一区二区三区在线观看| 欧美一区二区三区另类| 欧美一级成年大片在线观看| 亚洲综合三区| 亚洲免费影院| 午夜一区二区三区不卡视频| 亚洲影院高清在线| 午夜精品一区二区在线观看 | 欧美激情一区二区三区在线| 麻豆久久久9性大片| 蜜臀久久99精品久久久画质超高清 | 亚洲欧美经典视频| 亚洲视频免费在线| 亚洲制服av| 欧美亚洲在线播放| 久久国产88| 久久蜜臀精品av| 欧美电影电视剧在线观看| 欧美国产亚洲视频| 亚洲三级色网| 亚洲视频图片小说| 欧美一级精品大片| 久色成人在线| 欧美精品一区二区三区蜜桃| 欧美日韩在线观看一区二区三区| 国产精品成人一区二区三区夜夜夜 | 欧美激情国产日韩| 欧美视频三区在线播放| 国产精品日韩二区| 黄色成人在线| 夜夜嗨av一区二区三区网站四季av| 亚洲视频观看| 久久久久久久999| 亚洲国产精品成人综合| 一区二区三区高清| 久久精品动漫| 欧美日韩一区二区三区高清| 国产老肥熟一区二区三区| 一区二区三区在线视频观看| aⅴ色国产欧美| 久久av一区| 亚洲欧洲精品一区| 欧美一区二区视频在线| 欧美成人国产| 国产欧美综合一区二区三区| 亚洲欧洲日本专区| 久久国产天堂福利天堂| 最新日韩在线| 久久精品国产久精国产一老狼 | 久久久久久一区二区| 欧美日韩国产三区| 精品1区2区| 午夜视频在线观看一区二区三区 | 久久视频一区| 在线视频免费在线观看一区二区| 久久精品国产亚洲精品| 欧美视频三区在线播放| 亚洲成色777777女色窝| 羞羞视频在线观看欧美| 亚洲黄色小视频| 久久久久一区二区三区| 国产精品欧美日韩| 一区二区国产日产| 欧美www在线| 久久精品1区|