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

心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0

NOIp2006年的第二題,典型的動態規劃,物品之間有依賴關系。可以把物品分為若干組,每組最多有四種衍生出來的“物品”,即只選擇一個主件,選擇一個主件和一個附件(兩種),選擇一個主件和兩個附件。由題意得,每組只能選擇一個“物品”,這樣就把題目轉化成了分組背包問題。

我的做法是DFS一次(雖說是DFS,實際結點數只是4),計算出衍生出來的若干組“物品”,然后用分組背包的做法進行動態規劃。

此題目還有一個優化:因為所給數據是10的倍數,所以可以在開始時除以10,最后輸出時再乘上10,用來減少狀態數量。

 

以下是我的代碼:

#include<stdio.h>
#define SIZE 61
#define max(a,b) (a>b?a:b)
long N,m,v[SIZE],p[SIZE],q[SIZE];
long maino=0,c[SIZE][SIZE]={0},w[SIZE][SIZE]={0},d[3201]={0};
int find(int nn,int kk)
{
    
long i;
    
for(i=kk;i<=m;i++)
      
if(q[i]==nn)
         
return i;
    
return 0;
}

void dfs(long now,long ii,long weight,long cost)
{// 第now個主件 
    long t;
    t
=find(now,ii+1);
    
if(!t)
    
{
       c[maino][
0]++;
       w[maino][
0]++;
       c[maino][ c[maino][
0] ]=cost;
       w[maino][ w[maino][
0] ]=weight;
       
return;
    }

    dfs(now,t,weight,cost);
    dfs(now,t,weight
+v[t]*p[t],cost+v[t]);
}

void init()
{
    
long i,j;
    FILE 
*fin=fopen("budget.in","r");
    fscanf(fin,
"%ld%ld",&N,&m);
    N
/=10;
    
for(i=1;i<=m;i++)
      q[i]
=0;// Clear
    for(i=1;i<=m;i++)
    
{
       fscanf(fin,
"%ld%ld%ld",&v[i],&p[i],&q[i]);
       v[i]
/=10;
    }

    fclose(fin);
    
// Read In
    for(i=1;i<=m;i++)
    
{
       c[i][
0]=0;
       w[i][
0]=0;
    }

    
for(i=1;i<=m;i++)
      
if(q[i]==0)
      
{
         maino
++;
         dfs(i,
0,v[i]*p[i],v[i]);
      }

}

void dp()
{
    
long k,i,j;
    
for(k=1;k<=maino;k++)
      
for(j=N;j>=0;j--)
        
for(i=1;i<=c[k][0];i++)
          
if(j>=c[k][i])
            d[j]
=max(d[j],d[j-c[k][i]]+w[k][i]);
}

void write()
{
    FILE 
*fout=fopen("budget.out","w");
    
long i,ans=0;
      
for(i=0;i<=N;i++)
        ans
=max(ans,d[i]);
    fprintf(fout,
"%ld\n",ans*10);
    fclose(fout);
}

int main()
{
    init();
    dp();
    write();
return 0;
}

posted on 2010-01-06 19:48 lee1r 閱讀(699) 評論(1)  編輯 收藏 引用 所屬分類: 題目分類:動態規劃

FeedBack:
# re: vijos P1313 金明的預算方案 求助
2010-10-06 17:51 | dingdinglhz@gmail.com
//大牛幫幫忙!!!

#include<iostream>
using namespace std;
int c[61],w[61];//原始c、w
int kids[61][2],father[61];//主附件關系
int lc[61][4],lw[61][4];//分組后c、w
int f[3201];
int n,m,fa=0;
void init(){
int k[61];
cin>>n>>m;
for(int i=1;i<=m;i++){cin>>c[i]>>w[i]>>k[i];c[i]/=10;w[i]*=c[i];}
for(int i=1;i<=m;i++){if(!k[i]){fa++;father[fa]=i;}}
for(int i=1;i<=m;i++){
if(k[i]){
if(kids[k[i]][0]){kids[k[i]][1]=i;}
else{kids[k[i]][0]=i;}
}
}
for(int i=1;i<=fa;i++){
cout<<kids[i][0]<<" "<<kids[i][1]<<" "<<father[i]<<endl;
}
}
void make_club(){
for(int i=1;i<=fa;i++){
lc[i][0]=c[father[i]];lw[i][0]=w[father[i]];
lc[i][1]=lc[i][0]+c[kids[i][0]];lw[i][1]=lw[i][0]+w[kids[i][0]];
lc[i][2]=lc[i][0]+c[kids[i][1]];lw[i][2]=lw[i][0]+w[kids[i][1]];
lc[i][3]=lc[i][1]+lc[i][2]-lc[i][0];lw[i][3]=lw[i][1]+lw[i][2]-lw[i][0];
}
for(int i=1;i<=fa;i++){
for(int j=0;j<=3;j++){
cout<<lc[i][j]<<" "<<lw[i][j]<<endl;
}
cout<<endl;
}
}
void dp(){
for(int k=1;k<=fa;k++){
for(int v=(n/10);v>=0;v--){
//for(int v=0;v<=(n/10);v++){
for(int i=0;i<=3;i++){
if(v-lc[k][i]>=0){f[v]=max(f[v],f[v-lc[k][i]]+lw[k][i]);}
}
}
for(int v=0;v<=n/10;v++){cout<<f[v]<<" ";}
cout<<endl;
}
cout<<f[n/10]*10;
}
int main(){
//freopen("budget.in" ,"r",stdin );
//freopen("budget.out","w",stdout);
init();
make_club();
dp();
system("pause");
return 0;
}
/*
自測60分
2000 10
500 1 0
400 4 0
300 5 1
400 5 1
200 5 0
500 4 5
400 4 0
320 2 0
410 3 0
400 3 5
正確答案為7340,我的答案為7200。中間加了幾句調試,答案是最后一行;
大牛們幫幫忙!!!
  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久精品91久久香蕉加勒比 | 午夜精品福利在线| 欧美不卡一区| 免费欧美电影| 亚洲国产99精品国自产| 久久久久久久综合狠狠综合| 欧美成人日本| 欧美人与性禽动交情品 | 亚洲毛片在线观看.| 亚洲精品日本| 亚洲一区精品在线| 久久久精品一区| 欧美va天堂va视频va在线| 欧美福利视频在线| 中日韩美女免费视频网址在线观看 | 欧美日本高清| 国产乱码精品一区二区三区av| 国产视频欧美视频| 亚洲国产精品小视频| 亚洲伦伦在线| 久久av红桃一区二区小说| 免费在线欧美视频| 国产欧美精品一区aⅴ影院| 在线播放中文字幕一区| 在线亚洲自拍| 免费成年人欧美视频| 一本色道久久加勒比88综合| 久久久www成人免费精品| 欧美激情片在线观看| 国产欧美日韩一区| 亚洲看片一区| 久久中文精品| 亚洲永久视频| 欧美日韩八区| 一色屋精品视频在线观看网站| 亚洲图色在线| 欧美激情亚洲综合一区| 久久福利一区| 欧美激情第10页| 激情视频一区二区| 欧美一区永久视频免费观看| 亚洲成色999久久网站| 性色av一区二区怡红| 欧美日韩一卡二卡| 亚洲欧洲精品一区二区| 久久久99国产精品免费| 99国产精品久久久久久久成人热| 久久久久久久综合日本| 国产欧美日韩在线视频| 亚洲无人区一区| 亚洲欧洲中文日韩久久av乱码| 欧美一区二区女人| 国产美女一区二区| 午夜精品一区二区在线观看| 亚洲免费不卡| 欧美精品性视频| 亚洲精品网站在线播放gif| 噜噜爱69成人精品| 久久精彩免费视频| 香蕉久久a毛片| 国产裸体写真av一区二区| 亚洲欧美日韩一区二区在线 | 欧美成人免费在线观看| 亚洲国产精品精华液网站| 免费的成人av| 麻豆精品一区二区av白丝在线| 国内成+人亚洲+欧美+综合在线| 欧美一区二区三区在线观看视频| 亚洲激情六月丁香| 欧美韩日一区二区三区| 欧美成人dvd在线视频| 亚洲精品你懂的| 亚洲免费观看高清在线观看 | 久久久精品动漫| 久久高清福利视频| 亚洲国产黄色| 亚洲国产小视频| 欧美日韩另类一区| 欧美一区二区三区久久精品茉莉花| 亚洲一区二区三区在线看| 国产日韩欧美在线视频观看| 久热国产精品视频| 欧美高清在线观看| 午夜久久99| 久久精品首页| 亚洲最新色图| 午夜日韩福利| 亚洲人成人77777线观看| 日韩网站在线观看| 国产婷婷色一区二区三区在线 | 亚洲人体1000| 国产精品三级视频| 免费在线观看成人av| 欧美日本国产| 久久久www成人免费无遮挡大片| 久久综合亚州| 午夜精品国产| 男人的天堂成人在线| 亚洲在线第一页| 久久五月天婷婷| 亚洲专区国产精品| 免费不卡中文字幕视频| 亚洲女人天堂成人av在线| 久久久久国色av免费看影院| 国产精品99久久99久久久二8| 性欧美xxxx视频在线观看| 亚洲欧洲一区二区三区久久| 亚洲愉拍自拍另类高清精品| 最新国产成人在线观看| 香蕉成人久久| 亚洲一卡久久| 欧美成人国产va精品日本一级| 国产亚洲精品综合一区91| 欧美黄免费看| 国产一区二区三区高清在线观看| 亚洲区中文字幕| 国产精品永久入口久久久| 久久色在线观看| 亚洲国产精品一区二区第一页| 欧美专区中文字幕| 久久精品在线免费观看| 亚洲小少妇裸体bbw| 国产麻豆日韩| 免费看黄裸体一级大秀欧美| 欧美三级不卡| 性色一区二区三区| 国产一区二区三区网站| 欧美激情一区二区三区蜜桃视频 | 欧美亚洲一级片| 欧美日韩美女| 亚洲人成绝费网站色www| 在线观看中文字幕不卡| 久久国产手机看片| 久久亚洲春色中文字幕久久久| 国产伦精品一区二区三区免费迷| 亚洲久久成人| 宅男噜噜噜66国产日韩在线观看| 欧美精品久久天天躁| 欧美国产亚洲精品久久久8v| 亚洲动漫精品| 美女主播视频一区| 亚洲承认在线| 亚洲精选中文字幕| 欧美久久精品午夜青青大伊人| 亚洲国产美女| 日韩亚洲国产欧美| 欧美日韩亚洲一区二区三区| 99精品欧美一区二区三区| 亚洲视频免费看| 国产精品久久夜| 性欧美8khd高清极品| 久久久久九九视频| 亚洲国产岛国毛片在线| 女主播福利一区| 亚洲精品视频二区| 午夜精品999| 国产在线不卡精品| 嫩草伊人久久精品少妇av杨幂| 欧美国产日韩在线| 亚洲一区二区三区在线播放| 国产精品日韩| 久久久久久高潮国产精品视| 欧美激情91| 亚洲免费中文| 黄色工厂这里只有精品| 亚洲欧美一区二区三区极速播放| 欧美天堂在线观看| 欧美亚洲视频在线观看| 欧美大片一区二区| 亚洲一区二区三区久久| 欧美日韩国产综合视频在线观看| 国产欧美一区二区三区在线老狼| 麻豆精品91| 一本大道久久精品懂色aⅴ| 国产精品视频yy9299一区| 久久精视频免费在线久久完整在线看| 欧美成人情趣视频| 亚洲一区二区三区国产| 国产一级精品aaaaa看| 欧美风情在线| 性久久久久久| 亚洲美女视频在线免费观看| 久久久久国产精品www| 99精品欧美一区| 韩国av一区| 国产精品久久九九| 欧美大片91| 欧美伊人久久久久久久久影院| 亚洲国产精彩中文乱码av在线播放| 亚洲一区二区伦理| 亚洲黑丝在线| 国产精品青草综合久久久久99| 免费91麻豆精品国产自产在线观看| 亚洲午夜久久久久久久久电影网| 巨胸喷奶水www久久久免费动漫| 日韩视频在线你懂得| 激情综合网激情| 国产亚洲精品成人av久久ww| 欧美日韩在线免费观看| 美玉足脚交一区二区三区图片|