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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【每日一题】7月9日题目 Color

發(fā)布時(shí)間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【每日一题】7月9日题目 Color 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來源:牛客網(wǎng):

時(shí)間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 131072K,其他語言262144K Special Judge, 64bit IO Format: %lld

文章目錄

    • 題目描述
    • 題解:
    • 代碼:

題目描述

給一個(gè)沒有重邊的二分圖, 要求給邊染色. 有公共點(diǎn)的邊不能同色. 問最少用多少種顏色, 并任意構(gòu)造一組方案. 輸入描述:
第一行兩個(gè)數(shù)n和m表示圖的點(diǎn)數(shù)和邊數(shù)(0<n<1001,0<m<2001). 之后m行每行2個(gè)數(shù)表示一條邊的兩個(gè)端點(diǎn). 點(diǎn)從1編號(hào)到n.
保證給的是二分圖.

輸出描述:

第一行一個(gè)數(shù)k表示需要多少種顏色. 接下來m行每行一個(gè)數(shù)表示輸入的邊的顏色. 按照輸入的順序輸出, 顏色從1編號(hào)到k.

示例1
輸入

4 4 1 2 1 3 2 4 3 4

輸出

2 1 2 2 1

題解:

題目要求有公共點(diǎn)的邊不能同色,最后要求最少的顏色數(shù)
所以有公共點(diǎn)的邊我們就讓他同色
二分圖匹配:給定一個(gè)二分圖G,在G的一個(gè)子圖M中,M的邊集{E}中的任意兩條邊都不依附于同一個(gè)頂點(diǎn),則稱M是一個(gè)匹配。(也就是匹配出沒有共同點(diǎn)的邊)
邊數(shù)最大的子圖就是最大匹配
所以我們可以多次調(diào)用二分圖最大匹配(比如匈牙利算法),為每次匹配出來的邊附上色,直到全部匹配
但是有的邊可能在多次最大匹配中都可以被匹配上,怎么保證最優(yōu)呢?
根據(jù)題意,每個(gè)點(diǎn)所連的邊顏色各不相同,所以答案就是度數(shù)最大的那個(gè)點(diǎn),所以每次匹配有限從度數(shù)大的開始匹配
具體為什么從最大度下手?可以從反證法,假設(shè)從最小度開始匹配會(huì)怎么樣。也可以看看官方解釋

代碼:

#include<bits/stdc++.h> using namespace std; const int maxn=1e6+9; int d[maxn];//點(diǎn)i的度數(shù) int x[maxn],y[maxn]; int id[maxn],col[1040][1040]; vector<int>g[maxn]; bool vis[maxn]; int match[maxn]; int n,m;bool cmp(int x,int y) {return d[x]>d[y]; } bool dfs(int u) {for(auto v:g[u]){if(!vis[v]){vis[v]=1;if(match[v]==0||dfs(match[v])){match[v]=u;match[u]=v;return 1;}}}return 0; } void init() {memset(match,0,sizeof(match));sort(id+1,id+1+n,cmp); } int main() {cin>>n>>m;int ans=0;for(int i=1;i<=m;i++){cin>>x[i]>>y[i];d[x[i]]++;d[y[i]]++;ans=max(ans,max(d[x[i]],d[y[i]]));}for(int i=1;i<=n;i++)id[i]=i;for(int i=1;i<=ans;i++){for(int j=1;j<=m;j++)if(!col[x[j]][y[j]])//該邊還未被標(biāo)記 {g[x[j]].push_back(y[j]);//存邊 g[y[j]].push_back(x[j]);}init();for(int j=1,k=id[j];j<=n;j++,k=id[j])//從度數(shù)最大的開始下手 {if(!match[k]) {memset(vis,0,sizeof(vis));dfs(k);}}for(int j=1;j<=n;j++)//對(duì)每一次最大匹配進(jìn)行染色 {if(match[j])//如果j已經(jīng)匹配 {col[j][match[j]]=i;//染上色 d[j]--;}g[j].clear();}}cout<<ans<<endl;for(int i=1;i<=m;i++)cout<<col[x[i]][y[i]]<<endl;return 0; }

總結(jié)

以上是生活随笔為你收集整理的【每日一题】7月9日题目 Color的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.亚洲色图.com | 不卡av在线免费观看 | av在线电影院 | av网址观看 | 免费成人在线观看动漫 | 国产女主播在线观看 | 夜夜久久 | 亚洲精品日产精品乱码不卡 | av中文网站 | 中文字幕影片免费在线观看 | 少妇婷婷 | 日日燥夜夜燥 | 激情文学88 | 国产精品久久久久久人 | 两个女人互添下身爱爱 | 黄色成人影视 | 91黄色短视频 | 亚洲美女操| 久久视频在线观看 | 欧美午夜理伦三级在线观看 | 中文一区二区在线 | 亚洲欧美日韩一区二区三区四区 | 午夜影院在线观看 | 久久久国产精品视频 | 三叶草欧洲码在线 | 国产精品丝袜黑色高跟鞋的设计特点 | 伦理片一区二区 | 久久精品夜色噜噜亚洲a∨ 中文字幕av网 | 久久久久久艹 | 日日爽夜夜爽 | 激情五月婷婷久久 | julia中文字幕在线 | 欧美日韩国产一级片 | 97精品人妻一区二区三区 | 久久加久久 | 91精品91 | aaaa毛片| 曰本无码人妻丰满熟妇啪啪 | 免费精品久久 | 一区二区三区国 | 台湾佬中文在线 | 国产精品91一区 | 亚洲精品wwww| 91成人在线免费观看 | 岛国色图 | 人人澡澡人人 | 狠操av| 国产色宗合 | 欧美一级一片 | 亚洲av综合一区二区 | 久久精品性爱视频 | 香蕉手机网 | 国产成人亚洲综合 | 在线免费看av的网站 | 欧美一二区视频 | a在线观看| 国产亚洲一区二区三区不卡 | 久久精品黄色 | 中文天堂资源在线 | 亚洲天堂v | 爱爱一区 | 国产精品久久久久高潮 | 777在线视频 | 牛牛精品视频 | 四虎影院永久地址 | 免费观看全黄做爰的视频 | 国产一区二区免费看 | 欧美一级黄色片网站 | 日日夜夜精品视频 | 爱爱三级视频 | av黄色大片| 亚洲婷婷综合网 | 国产伦精品一区二区三区四区免费 | 啪视频免费 | 欧美一级专区 | 蜜色视频 | 欧美色涩 | 久久久久久999 | 一区二区三区av在线 | 久久国产精品波多野结衣av | 亚洲中文字幕久久无码 | 日日夜夜精品视频免费 | 少妇视频在线播放 | 亚洲色图吧 | 亚洲精品二三区 | 成年人毛片视频 | 婷婷六月综合网 | 欧美成人一区二区视频 | 欧美一级一级一级 | 午夜精品久久久久久久99热黄桃 | 日本不卡高清视频 | 久久久久高清 | 丝袜人妖 | 日韩av视屏 | 全黄性性激高免费视频 | 成人av在线播放网站 | 国产小视频在线 | 99自拍偷拍视频 | 国产吞精囗交免费视频网站 |