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

隨筆-72  評論-126  文章-0  trackbacks-0
http://acm.hdu.edu.cn/showproblem.php?pid=1074

此題甚煩,煞費(fèi)苦心阿。。。

一直想不出怎么DP,以前還用貪心的算法做過。。
今天看見課件里的一張圖突生想法


可以和數(shù)塔一樣自底向上DP
比如說1,2這個(gè)點(diǎn),記錄的是
先1后2 和先2后1的最優(yōu)情況,如此重復(fù)。。。
雖說是自底向上
但是要從最頂端開始先找到最下邊的,然后還要加上記憶話搜索
如果不記憶的話,上邊這張圖1就搜索了兩次
如果作業(yè)很多的話,這重復(fù)量足以令你超時(shí)~!

接下來就要記錄狀態(tài)了,(1,2)(1,3)記錄在起來,總不能開一個(gè)多維數(shù)組吧
這里就用到了很神奇的位壓縮
把每種作業(yè)都看成1完成0未完成兩種情況
題目最多15種作業(yè),那么,用一個(gè)小于32768==2^15的數(shù)便可以完成這個(gè)記錄狀態(tài)的任務(wù)
那就開一個(gè)32768的數(shù)組吧

接著就可以寫dfs了,考慮的東西挺多的阿,很小心翼翼的寫了一個(gè)多小時(shí)
最后準(zhǔn)備測試一下sample的時(shí)候發(fā)現(xiàn)竟然答案對了,我原以為sample都要調(diào)試好久
只差輸出的名稱
我發(fā)現(xiàn)是倒過來的,再開個(gè)數(shù)組存下再逆序輸出就好了,提交,哈哈,AC了。。。開心
這是本菜鳥迄今做的最有意思的DP了。。哈哈
posted on 2009-02-18 17:03 shǎ崽 閱讀(1803) 評論(7)  編輯 收藏 引用

評論:
# re: HDOJ1074~~Doing Homework解題報(bào)告 2009-02-18 18:22 | 混沌的云
orz......  回復(fù)  更多評論
  
# re: HDOJ1074~~Doing Homework解題報(bào)告 2009-02-18 21:43 | Apple
orz h神牛 0x80000000 下  回復(fù)  更多評論
  
# re: HDOJ1074~~Doing Homework解題報(bào)告 2009-02-18 21:49 | shǎ崽
@混沌的云


zro  回復(fù)  更多評論
  
# re: HDOJ1074~~Doing Homework解題報(bào)告 2009-02-18 21:49 | shǎ崽
@Apple

你又想加這么多錢  回復(fù)  更多評論
  
# re: HDOJ1074~~Doing Homework解題報(bào)告 2009-02-20 17:58 | AekdyCoin
orz h神牛 0x80000000 下  回復(fù)  更多評論
  
# re: HDOJ1074~~Doing Homework解題報(bào)告[未登錄] 2009-07-09 10:37 | ac
有代碼嗎
麻煩貼下

在線狂等  回復(fù)  更多評論
  
# re: HDOJ1074~~Doing Homework解題報(bào)告 2009-07-10 10:46 | shǎ崽
呵呵,剛好看到你的回復(fù)

這里沒有代碼格式
自己復(fù)制ALT + F8一下


#include<stdio.h>
#include<string>
#define Min(a,b) a>b?b:a
struct DP{
int score;
int next;
int time;
}dp[32768];
struct Homework{
int deadlion,time;
char name[101];
}hw[15];
char ans[15][101];
int n;

void dfs(int k)
{
int i,min,cnt,time,d=k,id,score,next,t;
char ch[16];

memset(ch,'0',sizeof(ch));
i = 14;
d = k;
cnt = 0;
ch[15] = 0;
while(d)
{
if(d&1)
{
cnt += d&1;
ch[i] = (d&1) + '0';
id = i;//如果只有一個(gè)1,id可以記錄下1的位子
}
i --;
d >>= 1;
}//轉(zhuǎn)化成二進(jìn)制

if(cnt == 1)//最底下的情況,只完成了一種作業(yè)
{
id = 14 - id;
if(hw[id].deadlion >= hw[id].time)
dp[k].score = 0;
else
dp[k].score = hw[id].time - hw[id].deadlion;
dp[k].time = hw[id].time;
dp[k].next = id;
return ;
}

min = 0x7FFFFFFF;
for(i=0;i<15;i++)
{
if(ch[i]=='1')
{
id = 14 - i;
int kk = k - (1<<id);
if(dp[kk].time == -1)
dfs(kk);
time = dp[kk].time + hw[id].time;
score = dp[kk].score;
if(hw[id].deadlion < time)
score += (time-hw[id].deadlion);
if(score < min || score == min && strcmp(hw[id].name,hw[next].name)<0)
{
if(score<min)
next = id;
min = score;
t = time;
}
}
}
dp[k].score = min;
dp[k].next = next;
dp[k].time = t;
}


int main()
{
int T,i,k;
scanf("%d",&T);
while (T--)
{
scanf("%d",&n);
k = (1<<n)-1;//一共有這么多可能
for(i=0;i<=k;i++)
dp[i].time = -1;
for(i=0;i<n;i++)
scanf("%s%d%d",hw[i].name,&hw[i].deadlion,&hw[i].time);
dfs(k);
printf("%d\n",dp[k].score);
//輸出名字
for(i=0;i<n;i++)
{
strcpy(ans[i],hw[ dp[k].next ].name);
k = k - (1<<(dp[k].next));
}
for(i=n-1;i>=0;i--)
puts(ans[i]);
}
return 0;
}  回復(fù)  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久热综合在线亚洲精品| 一本高清dvd不卡在线观看| 欧美一区二区三区精品电影| 久久精品中文字幕免费mv| 亚洲精一区二区三区| 小处雏高清一区二区三区| 国产精品久久久久久亚洲毛片| 牛人盗摄一区二区三区视频| 麻豆精品在线视频| 欧美激情综合色| 欧美国产免费| 国产精品普通话对白| 欧美一级淫片播放口| 欧美bbbxxxxx| 欧美成人综合网站| 亚洲毛片在线免费观看| 99视频精品全国免费| 一区二区三区视频在线播放| 亚洲电影在线播放| 久久激情久久| 欧美搞黄网站| 久久久精品免费视频| 久久亚洲精品伦理| 欧美国产精品久久| 久久九九热re6这里有精品| 欧美一区成人| 亚洲第一福利在线观看| 久久精品国产亚洲aⅴ| 日韩一级二级三级| 亚洲欧美日本在线| 欧美99久久| 亚洲专区在线| 欧美国产免费| 亚洲一级片在线看| 欧美日韩国产在线看| 国产精品成人国产乱一区| 国内揄拍国内精品久久| 99视频在线精品国自产拍免费观看 | 在线日韩视频| 亚洲欧美日韩精品在线| 欧美黄色免费| 亚洲成在线观看| 一区二区三区精品国产| 久久综合给合| 国模精品一区二区三区| 亚洲制服av| 亚洲人成网站在线播| 亚洲国产成人tv| 性欧美18~19sex高清播放| 午夜久久影院| 一区二区三区精品在线| 久久久国产午夜精品| 久久噜噜噜精品国产亚洲综合| 亚洲永久免费| 午夜久久久久久| 欧美性猛交一区二区三区精品| 欧美午夜一区二区福利视频| 亚洲激情二区| 亚洲桃色在线一区| 亚洲免费伊人电影在线观看av| 亚洲一区在线看| 亚洲精品乱码| 亚洲视频一区二区| 亚洲欧美久久久久一区二区三区| 欧美日韩国产专区| 亚洲视频一二| 99在线|亚洲一区二区| 欧美精品一区三区在线观看| 亚洲麻豆av| 欧美一区二区三区另类| 亚洲一区二区黄| 久久精品在线播放| 一区二区视频免费在线观看| 免费成人高清视频| 欧美成人一区二区三区| 亚洲精品乱码久久久久久| 亚洲人成高清| 国产精品白丝jk黑袜喷水| 欧美一区二区在线看| 久久久久九九九九| 国产精品素人视频| 亚洲第一区色| 亚洲国产日韩一区| 国产精品久久二区| 久久综合国产精品台湾中文娱乐网| 国产午夜久久久久| 国产视频一区免费看| 欧美专区在线观看一区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲狠狠丁香婷婷综合久久久| 国产精品99久久久久久久vr| 国产精品爽黄69| 中日韩高清电影网| 亚洲视频一区在线观看| 国产一区二区中文字幕免费看| 免费成人毛片| 欧美一区二视频在线免费观看| 国产综合网站| 亚洲日本在线观看| 久久网站热最新地址| 国产精品初高中精品久久| 久久久久久噜噜噜久久久精品| 欧美福利视频在线观看| 欧美一级专区免费大片| 欧美高清成人| 亚洲人成在线免费观看| 国产精品99久久久久久久久| 精品96久久久久久中文字幕无| 久久国产手机看片| 欧美成人高清视频| 亚洲国产视频直播| 亚洲视频大全| 99精品视频免费观看视频| 久久精品视频在线看| 夜夜嗨av一区二区三区网页| 久久精品视频99| 欧美一区二区在线视频| 欧美区一区二| 欧美国产亚洲精品久久久8v| 美女脱光内衣内裤视频久久影院 | 欧美福利视频| 国产日韩欧美麻豆| 欧美一区二区网站| 亚洲午夜日本在线观看| 欧美日韩国产高清| 免费av成人在线| 国内自拍视频一区二区三区| 亚洲欧美日韩国产中文| 亚洲一区免费| 欧美日韩国产在线播放| 亚洲三级免费| 日韩一区二区福利| 欧美国产日韩xxxxx| 亚洲伊人第一页| 亚洲一卡久久| 亚洲一区二区三区777| 欧美日韩在线亚洲一区蜜芽| 亚洲免费观看| 国产在线视频欧美一区二区三区| 久久久在线视频| 欧美国产国产综合| 一区二区三区欧美亚洲| 中文av一区特黄| 亚洲在线视频网站| 国产模特精品视频久久久久| 亚洲综合视频在线| av成人免费在线| 亚洲日本中文字幕免费在线不卡| 亚洲激情视频网| 亚洲国产二区| 欧美va天堂在线| 久久爱www久久做| 国产精品自拍一区| 久久不射网站| 亚洲一区欧美二区| 欧美亚洲综合网| 亚洲欧洲日韩在线| 亚洲调教视频在线观看| 激情欧美国产欧美| 亚洲美女免费视频| 国产一区二区福利| 欧美一区二区女人| 亚洲视频在线一区| 国产精品久久久久久亚洲调教| 亚洲欧美成人| 欧美高清在线一区二区| 亚洲亚洲精品在线观看| 久久免费国产| 亚洲欧洲精品一区二区| 亚洲一区高清| 欧美激情女人20p| 亚洲午夜视频在线观看| 亚洲免费精品| 久久精品国产成人| 欧美激情 亚洲a∨综合| 一区国产精品| 欧美日韩精品一区二区在线播放| 欧美岛国激情| 国精产品99永久一区一区| 欧美大胆人体视频| 欧美国产一区二区三区激情无套| 亚洲日韩第九十九页| 久久人人97超碰人人澡爱香蕉| 亚洲激情不卡| 免费成人毛片| 亚洲福利精品| 国产精品白丝黑袜喷水久久久 | 欧美大胆a视频| 国产最新精品精品你懂的| 欧美精品久久久久久久久老牛影院| 亚洲欧美日韩国产一区二区三区| 亚洲欧洲一区二区在线播放| 久久精品女人| 亚洲一区二区精品在线观看| 亚洲国产精品悠悠久久琪琪| 国产视频观看一区| 欧美中在线观看| aa亚洲婷婷| 久久精品国产欧美亚洲人人爽| 正在播放欧美一区|