日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ2226 不错的最小顶点覆盖

發布時間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ2226 不错的最小顶点覆盖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? ?給你一個n * m 的矩陣,上面有" * " 和 " . " ,讓你用少的木板吧所有" * "覆蓋,木板寬度是1,長度隨意,木板可以重疊,但是不能覆蓋到" . "上。

思路:
? ? ? 這個題目建圖方式不錯,回想下最基本的最小定點覆蓋,也是在n * m 的矩陣上,覆蓋某些點,但是可以覆蓋" . "那樣直接匹配行列就行了,這個如果是***.***就得用兩個了,那我們可以直接把所有的行都離散化出來,吧所有的列都離散化出來,比如
*.*. ? ? 按照行離散成 1.2. ? 按照列離散成 ? 1 . 4 .
.*** ? ? ? ? ? ? ? ? ? ? ? ? ?.333 ? ? ? ? ? ? ? ? ? ? ? ? ? . 3 4 5
***. ? ? ? ? ? ? ? ? ? ? ? ? ? 444. ? ? ? ? ? ? ? ? ? ? ? ? ? 2 3 4 .

..*. ? ? ? ? ? ? ? ? ? ? ? ? ? ?..5. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? . . 4 .


接下來就直接正常行列匹配就行了("*"所在的行和列匹配)。


#include<stdio.h> #include<string.h>#define N_node 3000 #define N_edge 6000typedef struct {int to ,next; }STAR;typedef struct {int r ,l; }NODE;STAR E[N_edge]; NODE map[60][60]; int mk_dfs[N_node] ,mk_gx[N_node]; int list[N_node] ,tot; int mp[60][60];void add(int a ,int b) {E[++tot].to = b;E[tot].next = list[a];list[a] = tot; }int DFS_XYL(int x) {for(int k = list[x] ;k ;k = E[k].next){int to = E[k].to;if(mk_dfs[to]) continue;mk_dfs[to] = 1;if(mk_gx[to] == -1 || DFS_XYL(mk_gx[to])){mk_gx[to] = x;return 1;}}return 0; }int main () {int n ,m ,i ,j ,maxr;char str[60];while(~scanf("%d %d" ,&n ,&m)){memset(mp ,0 ,sizeof(mp));for(i = 1 ;i <= n ;i ++){scanf("%s" ,str);for(j = 1 ;j <= m ;j ++)mp[i][j] = str[j-1] == '*';}int now = 0;memset(map ,0 ,sizeof(map));for(i = 1 ;i <= n ;i ++)for(j = 1 ;j <= m ;j ++){if(!mp[i][j]) {map[i][j].r = 0;continue;}if(mp[i][j] && !mp[i][j-1])map[i][j].r = ++now;else map[i][j].r = map[i][j-1].r;}maxr = now;now = 0;for(j = 1 ;j <= m ;j ++)for(i = 1 ;i <= n ;i ++){if(!mp[i][j]){map[i][j].l = 0;continue;}if(mp[i][j] && !mp[i-1][j])map[i][j].l = ++now;else map[i][j].l = map[i-1][j].l;}memset(list ,0 ,sizeof(list));tot = 1;for(i = 1 ;i <= n ;i ++)for(j = 1 ;j <= m ;j ++)if(map[i][j].r && map[i][j].l)add(map[i][j].r ,map[i][j].l);int sum = 0;memset(mk_gx ,255 ,sizeof(mk_gx));for(i = 1 ;i <= maxr ;i ++){memset(mk_dfs ,0 ,sizeof(mk_dfs));sum += DFS_XYL(i);}printf("%d\n" ,sum);}return 0; }






總結

以上是生活随笔為你收集整理的POJ2226 不错的最小顶点覆盖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人区人妻精品一区二区不卡视频 | 一级片aaa | 亚洲天堂久久久 | 日韩中文字幕免费在线观看 | 99久久精品国产毛片 | 女儿朋友 | 有色影院 | 国产精品麻豆成人av电影艾秋 | 高清视频一区二区三区 | 在线观看免费视频一区二区 | 在线免费观看中文字幕 | 凸凹人妻人人澡人人添 | 亚洲国产第一 | 日韩欧美精品一区二区 | 精品国产乱码久久久久久1区二区 | 伊人亚洲天堂 | 乱岳| 欧美成人三级在线视频 | 久久国产香蕉 | 一区二区三区视频在线免费观看 | 爆操91 | 亚洲精品在线视频 | 国产一区二区视频在线免费观看 | 日本大尺度吃奶做爰视频 | 日韩伦乱 | 韩国三级中文字幕hd浴缸戏 | 人妻无码一区二区三区 | 99国产精品99| 国产偷自拍 | 日本少妇毛茸茸高潮 | 国产一区网 | 国产在线中文字幕 | 亚洲av熟女国产一区二区性色 | 久久免费高清 | 国产熟妇搡bbbb搡bbbb | 亚洲区国产区 | 99精品在线观看视频 | 荫道bbwbbb高潮潮喷 | 91福利在线观看视频 | 韩国伦理中文字幕 | www.日本色 | 午夜肉伦伦 | 日韩欧美福利视频 | 国产女人18毛片水真多18 | 香港一级淫片免费放 | 高清av网站| 国产美女免费视频 | 日产电影一区二区三区 | 亚洲综合专区 | 久久久久亚洲精品系列色欲 | 成人黄色片网站 | 国产黄视频在线观看 | 最好看的2019中文大全在线观看 | 狠狠操天天干 | 91大神视频在线播放 | 日韩一区二区免费看 | 丝袜+亚洲+另类+欧美+变态 | 成人黄色一级片 | 在线免费观看av不卡 | 亚洲精品视频免费在线观看 | 亚洲在线观看一区二区 | 一区三区在线观看 | 国产熟妇一区二区三区aⅴ网站 | 99精品久久久久久 | 精品欧美黑人一区二区三区 | 麻豆视频免费观看 | 人人舔人人爽 | av小说免费在线观看 | 日本aaaa| 国产亚洲毛片 | 欧洲精品一区二区三区 | 日本一区二区精品 | 天天干天天插天天射 | 91素人约啪| 国产亚洲片 | 少女忠诚电影高清免费 | 欧美狂猛xxxxx乱大交3 | 精品国产乱码一区二区三区99 | 亚a在线| 国产视频综合 | 国产午夜精品一区二区三区嫩草 | 天堂在线免费视频 | 日本网站在线 | 日韩免费观看一区二区 | 人人人干 | 成人人人人人欧美片做爰 | 无码人妻精品一区二区蜜桃视频 | 亚洲精品在线免费播放 | 日韩免费片 | 欧洲影院| 制服丝袜av一区二区三区下载 | 青青草伊人网 | 性大片潘金莲裸体 | 国产人妖在线播放 | 国产精品一区在线观看你懂的 | 91网站观看| 男人天堂社区 | 亚洲а∨天堂久久精品2021 | 热热99|