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

Tim's Programming Space  
Tim's Programming Space
日歷
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
統(tǒng)計(jì)
  • 隨筆 - 20
  • 文章 - 1
  • 評論 - 40
  • 引用 - 0

導(dǎo)航

常用鏈接

留言簿(3)

隨筆檔案

文章檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 

最開始寫費(fèi)用流的時候,有且只會SPFA版的費(fèi)用流,而且一直都夠用,一般來說只要建出了圖就贏了,網(wǎng)絡(luò)流怎么都不會超時。
。。。。這個情況到今天被終結(jié)了。。。
終結(jié)者見下:
--------------------------------------------------------------------------------------------------------

最優(yōu)圖像

【題目描述】

E在好友小W的家中發(fā)現(xiàn)一幅神奇的圖畫,對此頗有興趣。它可以被看做一個包含N×M個像素的黑白圖像,為了方便起見,我們用0表示白色像素,1表示黑色像素。小E認(rèn)為這幅圖畫暗藏玄機(jī),因此他記錄下了這幅圖像中每行、每列的黑色像素?cái)?shù)量,以回去慢慢研究其中的奧妙。

有一天,小W不慎將圖畫打濕,原本的圖像已經(jīng)很難分辨。他十分著急,于是找來小E,希望共同還原這幅圖畫。根據(jù)打濕后的圖畫,他們無法確定真正的圖像,然而可以推測出每個像素原本是黑色像素的概率Pij%。那么,一個完整的圖像的出現(xiàn)概率就可以定義為 ,其中Sij表示在還原后的圖像中,像素是白色(0)還是黑色(1)。換句話說,一個完整圖像出現(xiàn)概率就等于其所有黑色像素的出現(xiàn)概率之積。顯然,圖像的黑色像素不能包含概率為0的像素。

然而,小E對此也無能為力。因此他們找到了會編程的小F,也就是你,請你根據(jù)以上信息,告訴他們最有可能是原始圖像的答案是什么。

 

【輸入文件】

輸入文件image.in的第一行是兩個正整數(shù)NM,表示圖像大小。

接下來N行每行包含M個整數(shù),表示每個像素是黑色像素的概率為Pij%0 ≤ Pij < 100

接下來一行有N個非負(fù)整數(shù),表示每一行中黑色像素的個數(shù)。

接下來一行有M個非負(fù)整數(shù),表示每一列中黑色像素的個數(shù)。

 

【輸出文件】

輸出文件image.out包含一個N×M01矩陣,表示你還原出的圖像。輸出不包含空格。圖像每行、每列中1的個數(shù)必須與輸入一致,且是所有可能的圖像中出現(xiàn)概率最大的一個。輸入數(shù)據(jù)保證至少存在一個可能的圖像。如果有多種最優(yōu)圖像,任意輸出一種即可。

 

【樣例輸入】

2 2

90 10

20 80

1 1

1 1

 

【樣例輸出】

10

01

 

【樣例解釋】

共有兩種可能的圖像:

01

10

10

01

前者的出現(xiàn)概率是0.1×0.2=0.02,后者的出現(xiàn)概率是0.9×0.8=0.72,故后者是最優(yōu)圖像。

 

【數(shù)據(jù)規(guī)模和約定】

對于20%的數(shù)據(jù),N , M ≤ 5

對于100%的數(shù)據(jù),N , M ≤ 100


--------------------------------------------------------------------------------------------------------

這道題的時限是兩秒。

這道題的做法是把行和列拿出來,如果i行j列出現(xiàn)1的就把i行與j列連一條流量為1,費(fèi)用為log(p[i][j])的邊。源與每行、每列與匯都連一條流量為行、列1的個數(shù),費(fèi)用為0的邊,然后求最大費(fèi)用最大流。流過的邊所連的行和列的交點(diǎn)就有一個點(diǎn)。

當(dāng)時看到n<=100,總點(diǎn)數(shù)就是2n,心想很小。。。但沒想到邊有10000條,用SPFA寫出來了過后開始只有60分。。后來優(yōu)化到了70分,就是SPFA極限了,剩下的點(diǎn)根本進(jìn)不了2秒。
SPFA的時間復(fù)雜度是O(km)的,m是邊數(shù),k是常數(shù),在這題特殊的圖里面一次只能增廣1的流量。。所以總的時間復(fù)雜度達(dá)到了O(100*100*O(SPFA)) > 100000000。。。

于是沒辦法,把zkw的網(wǎng)絡(luò)流學(xué)了。。
其實(shí)zkw網(wǎng)絡(luò)流增廣的時候是sap,修改標(biāo)號的時候是KM。。。。所以學(xué)起來很順暢,寫起來也比SPFA的短,但是效率要高很多:

 
膜拜啊!

代碼:

 1/*
 2 * $File: costflow.cpp
 3 */

 4
 5#include <iostream>
 6#define MAXNODE 500
 7#define MAXEDGE MAXNODE*MAXNODE
 8#define MIN(a,b) ((a)<(b)?(a):(b))
 9#define OPPOSITE(x) (((x)&1)?((x)+1):((x)-1))
10   #define INFINIT ~0U>>1
11
12using namespace std;
13
14
15int n,m;
16int N,S,T;
17int begin[MAXNODE+1],end[MAXEDGE+1],next[MAXEDGE+1],c[MAXEDGE+1],cost[MAXEDGE+1],d[MAXNODE+1],cur[MAXNODE+1];
18bool hash[MAXNODE+1];
19int Count = 0;
20int aug(int u,int f){
21    if (u == T) return f;
22    hash[u] = true;
23    for (int now = cur[u]; now; now = next[now])
24        if (c[now]&&!hash[end[now]]&&d[u] == d[end[now]]+cost[now])
25            if (int tmp = aug(end[now],MIN(f,c[now])))
26                return c[now] -= tmp,c[OPPOSITE(now)] += tmp,cur[u] = now,tmp;
27    return 0;
28}

29bool modlabel(){
30    int tmp = INFINIT;
31    for (int i = 1; i<=N; i++)
32        if (hash[i])
33            for (int now = begin[i]; now; now = next[now])
34                if (c[now]&&!hash[end[now]])
35                    tmp = MIN(tmp,d[end[now]]+cost[now]-d[i]);
36    if (tmp == INFINIT)
37        return true;
38    for (int i = 1; i<=N; i++)
39        if (hash[i])
40            hash[i] = false,d[i] += tmp;
41    return false;
42}

43int CostFlow(){
44    int costflow = 0,tmp;
45    while (true){
46        for (int i = 1; i<=N; i++)
47            cur[i] = begin[i];
48        while (tmp = aug(S,~0U>>1)){
49            costflow += tmp*d[S];
50            memset(hash,0,sizeof(hash));
51        }

52        if (modlabel())
53            break;
54    }

55    return costflow;
56}

57void AddEdge(int a,int b,int flow, int v){
58    Count++; next[Count] = begin[a]; begin[a] = Count; end[Count] = b; c[Count] = flow; cost[Count] = v;
59    Count++; next[Count] = begin[b]; begin[b] = Count; end[Count] = a; c[Count] = 0; cost[Count] = -v;
60}

61int main(){
62    freopen("costflow.in","r",stdin);
63    freopen("costflow.out","w",stdout);
64    scanf("%d%d",&n,&m);
65    while (m--){
66        int t1,t2,t3,t4;
67        scanf("%d%d%d%d",&t1,&t2,&t3,&t4);
68        AddEdge(t1,t2,t3,t4);
69    }

70    S = 1,T = N = n;
71    printf("%d\n",CostFlow());
72    return 0;
73}

74
75


今天先休息一下,整理一下思路有時間再詳細(xì)寫下過程~

posted on 2010-01-08 18:39 TimTopCoder 閱讀(11650) 評論(8)  編輯 收藏 引用
評論:
  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  forestkeeper Posted @ 2010-01-09 11:11
    SPFA?復(fù)雜度是什么數(shù)量級的?我貌似只會Dinic。。。  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  jamesbend Posted @ 2010-01-09 15:18
    Tim 神牛ORzzzzzzzzzzzzzzzzz  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  jamesbend Posted @ 2010-01-09 15:19
    OOOOOOOOOOOOOOOOOOOOOOOOORz  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  jamesbend Posted @ 2010-01-09 15:19
    神牛不解釋Rzzzzzzzzzzzzzzzzzzzzzzzzzzzzz  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  jamesbend Posted @ 2010-01-09 15:20
    神一般的網(wǎng)絡(luò)路 我的SPFA  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流[未登錄]  Tim Posted @ 2010-01-09 15:37
    @forestkeeper
    Dinic是單純的最大流吧。。
    SPFA是為了求最小費(fèi)用的。
    ----------------------
    還有,樓上的人自重。。。。。。。。。。。T_T  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  提姆 Posted @ 2010-01-11 14:43
    神一般的網(wǎng)絡(luò)流,我的SPFA!!  回復(fù)  更多評論   

  • # re: 神一般的費(fèi)用流!--zkw費(fèi)用流  wyx Posted @ 2011-12-20 09:15
    膜拜T神!  回復(fù)  更多評論   


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


 
Copyright © TimTopCoder Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一级欧美一级在线播放| 夜夜狂射影院欧美极品| 久久国产精彩视频| 国产欧美视频一区二区三区| 香蕉国产精品偷在线观看不卡| 久久电影一区| 久久久国产亚洲精品| 亚洲国产日韩一区| 欧美午夜一区二区| 亚洲欧美色一区| 欧美激情视频一区二区三区免费 | 在线观看欧美激情| 欧美电影在线| 一区二区三区视频在线观看| 久久久久久久综合| 欧美成人免费一级人片100| 亚洲综合色在线| 在线观看亚洲| 在线视频一区观看| 亚洲第一中文字幕| 国产一区清纯| 欧美四级电影网站| 美女精品视频一区| 午夜在线精品偷拍| 欧美电影在线| 国产偷自视频区视频一区二区| 欧美日韩综合网| 狠狠色丁香婷综合久久| 国产精品国产三级国产aⅴ9色| 男女视频一区二区| 久久激情网站| 欧美全黄视频| 亚洲高清不卡在线观看| 蜜桃久久av一区| 欧美极品影院| 欧美激情精品久久久久久蜜臀| 久久国产综合精品| 欧美激情国产日韩精品一区18| 国产视频一区三区| 亚洲手机成人高清视频| aa亚洲婷婷| 久久香蕉精品| 蜜臀99久久精品久久久久久软件| 久久久久久尹人网香蕉| 久久9热精品视频| 日韩午夜激情av| aa级大片欧美三级| 亚洲精选中文字幕| 一区二区免费看| 麻豆久久精品| 伊人婷婷欧美激情| 久久亚洲综合网| 欧美在线观看网站| 久久青草欧美一区二区三区| 久久久久久香蕉网| 免费看亚洲片| 1024成人网色www| 久久九九全国免费精品观看| 99视频超级精品| 欧美日本不卡视频| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产精品久久久久秋霞蜜臀| 亚洲韩国青草视频| 美国十次成人| 亚洲人成在线观看网站高清| 亚洲一区3d动漫同人无遮挡| 欧美在线你懂的| 香蕉久久精品日日躁夜夜躁| 国产精品视频网址| 亚洲黄页一区| 亚洲激情视频在线播放| 亚洲欧美日韩国产成人| 国产精品视频xxxx| 久久精品视频在线免费观看| 欧美成人免费网| 免费在线观看成人av| 日韩亚洲欧美精品| 久久久久久久综合日本| 久久精品国产清高在天天线 | 欧美成人精品高清在线播放| 亚洲人成网站在线观看播放| 亚洲性感美女99在线| 久久国产手机看片| 狠狠色丁香婷婷综合久久片| 欧美大片免费观看在线观看网站推荐| 国内精品久久久久影院优| 亚洲国产三级| 亚洲看片网站| 国产亚洲福利一区| 99在线|亚洲一区二区| 亚洲美女91| 国产区精品在线观看| 麻豆精品91| 亚洲伊人网站| 欧美日本亚洲视频| 亚洲欧美综合| 99re6这里只有精品| 国产日韩在线视频| 91久久在线| 国产一区二区三区四区| 亚洲国产片色| 韩国一区二区三区美女美女秀| 亚洲精品乱码久久久久久久久| 国产精品日日摸夜夜摸av| 欧美国产高清| 国产精品亚洲综合天堂夜夜| 亚洲国产精品99久久久久久久久| 国产欧美在线| 一区二区三区日韩欧美| 亚洲国产另类久久久精品极度| 亚洲四色影视在线观看| 亚洲欧洲精品一区二区三区| 午夜精品久久久久影视| 国产精品99久久久久久白浆小说| 久久久久免费| 性久久久久久久久| 欧美日韩极品在线观看一区| 亚洲视频播放| 麻豆久久精品| 久久男人av资源网站| 欧美三区视频| 亚洲国产专区| **欧美日韩vr在线| 久久精品视频免费播放| 黄色精品网站| 亚洲一区二区三区精品在线| 一本色道久久99精品综合| 麻豆久久婷婷| 欧美成人69| 狠狠色丁香婷婷综合影院| 亚洲一区在线观看免费观看电影高清| 中日韩视频在线观看| 欧美激情国产日韩| 亚洲欧洲日本一区二区三区| 亚洲欧洲精品成人久久奇米网 | 亚洲日本欧美在线| 亚洲国产天堂久久综合| 久久久www成人免费无遮挡大片| 欧美一区二区三区免费视频| 久久国产一区二区| 久久精品一区二区三区中文字幕| 国产麻豆成人精品| 欧美v亚洲v综合ⅴ国产v| 狠狠色狠狠色综合| 久久在线免费观看| 一区二区日韩伦理片| 欧美激情网友自拍| 亚洲国产毛片完整版| 99精品视频免费全部在线| 久热成人在线视频| 国产精品久久久久久久久免费桃花 | 久久嫩草精品久久久精品| 乱码第一页成人| 亚洲高清123| 亚洲——在线| 欧美一区日韩一区| 一区精品在线播放| 正在播放日韩| 亚洲欧洲日产国码二区| 欧美日本亚洲视频| 亚洲综合色丁香婷婷六月图片| 亚洲大胆视频| 欧美久久综合| 亚洲欧美精品在线| 久久婷婷综合激情| 99成人精品| 国产精品美女久久久久aⅴ国产馆| 亚洲欧美另类国产| 欧美国产乱视频| 亚洲欧美久久久久一区二区三区| 久久亚洲一区| 亚洲精品综合久久中文字幕| 性欧美大战久久久久久久免费观看| 国产日产亚洲精品系列| 玖玖综合伊人| 亚洲欧美日韩国产一区二区| 欧美国产一区在线| 午夜精品美女久久久久av福利| 一区视频在线播放| 国产精品国产亚洲精品看不卡15 | 国产精品天天看| 免费观看在线综合色| 亚洲一区三区电影在线观看| 亚洲大胆av| 亚洲第一狼人社区| 国产精品亚洲一区二区三区在线| 蜜臀av一级做a爰片久久| 亚洲一区免费视频| 亚洲高清久久网| 久久日韩粉嫩一区二区三区| 亚洲一区二区黄色| 亚洲日本中文字幕| 欧美黄色影院| 久久国产精品99精品国产| 亚洲伦理在线观看| 另类春色校园亚洲| 欧美在线日韩精品| 亚洲欧美国产高清va在线播| 日韩视频在线一区二区| 亚洲国产片色|