圖論:弦圖最小點染色

弦圖的定義:當圖中任意長度大于3的環都至少有一個弦時,?一個無向圖稱為弦圖

不存在四角、五角等關系就說明這個圖是一個弦圖

題目問的是,任何一對相互認識的人不可以組一隊,問最多可以組多少對

所有的人構成的關系圖是一個弦圖(長度超過 3 的環中必有一條弦),求出它的完美性消除序列,根據完美消除序列逆序貪心的染色,最終所用的色數就是本題的答案

好難啊

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<algorithm>
 5 #include<cstring>
 6 #define inf 0x7fffffff
 7 #define ll long long
 8 using namespace std;
 9 inline ll read()
10 {
11     ll x=0,f=1;char ch=getchar();
12     while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
13     while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
14     return x*f;
15 }
16 int n,m,cnt,ans;
17 int head[10005],d[10005],q[10005],col[10005],hash[10005];
18 bool vis[10005];
19 struct data{int to,next;}e[2000005];
20 void ins(int u,int v)
21 {e[++cnt].to=v;e[cnt].next=head[u];head[u]=cnt;}
22 int main()
23 {
24     n=read();m=read();
25     for(int i=1;i<=m;i++)
26     {
27         int u=read(),v=read();
28         ins(u,v);ins(v,u);
29     }
30     for(int i=n;i;i--)
31     {
32         int t=0;
33         for(int j=1;j<=n;j++)
34         {
35             if(!vis[j]&&d[j]>=d[t])t=j;
36         }
37         vis[t]=1;q[i]=t;
38         for(int j=head[t];j;j=e[j].next)
39             d[e[j].to]++;
40     }
41     for(int i=n;i>0;i--)
42     {
43         int t=q[i];  
44         for(int j=head[t];j;j=e[j].next)hash[col[e[j].to]]=i;
45         int j;
46         for(j=1;;j++)if(hash[j]!=i)break;
47         col[t]=j;
48         if(j>ans)ans=j;
49     }
50     printf("%d",ans);
51     return 0;
52 }

?再補上一些區間圖的定義和應用

給定一些區間,定義一個相交圖為每個頂點表示一個區間,兩個點有邊當且僅當兩個區間的交集非空。

一個圖為區間圖當它是若干個區間的相交圖

區間圖一定是弦圖

應用有

1.給定n個區間,要求選擇最多的區間使得區間不互相重疊。區間圖的最大獨立集。2.有n個積木,高度均為1,第i個積木的寬度范圍為[Li, Ri],選擇一個積木的下落順序使得最后積木總高度盡可能小。把一層積木看成一個顏色,轉化為區間圖的色數問題。

好像解法依賴于一個極其復雜的數據結構?

轉載于:https://www.cnblogs.com/aininot260/p/9624064.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396936.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396936.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396936.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

報錯型sql注入原理分析

0x00&#xff1a;前言關于sql注入&#xff0c;經久不衰&#xff0c;現在的網站一般對sql注入的防護也相對加強了&#xff0c;2016年的***測試報告中&#xff0c;出現最多的是xss&#xff08;跨站腳本***&#xff09;和明文傳輸等&#xff0c;但是對sql注入的利用方式&#xff0…

matlab矩陣 0,matlab zeros初始化為0矩陣

zeros為創建一個值為零的數組&#xff1b;如matrix1zeros(4,5);%4*5的矩陣&#xff0c;矩陣中每個元素都為0matrix2zeros(4,5,3);%4*5*3的數組&#xff0c;數組中每個元素都為0下面舉一個將圖像存到數組的例子對RGB圖片1.jpg&#xff0c;2.jpg&#xff1b;大小為700*500*3創建4…

HDU 2199

人生中第一道搜索題 精度精度、&#xff01;&#xff01;&#xff01; 1 #include<iostream>2 #include<algorithm>3 #include<cmath>4 #include<cstdio>5 using namespace std;6 double f(double x)7 {8 return 8*pow(x,4.0)7*pow(x,3.0)2*pow(x,…

python文件編譯_編譯Python文件

編譯Python文件 一、編譯Python文件 為了提高加載模塊的速度&#xff0c;強調強調強調&#xff1a;提高的是加載速度而絕非運行速度。python解釋器會在__pycache__目錄中下緩存每個模塊編譯后的版本&#xff0c;格式為&#xff1a;module.version.pyc。通常會包含python的版本號…

SDN-博客收集

1、云網融合的多云網絡轉載于:https://www.cnblogs.com/snowwhite/p/9624404.html

php cookie 字串,php入門(字符串,cookie,session)

php入門(字符串,cookie,session)&#xff0c;有需要的朋友可以參考下。字符串獲取字符串的長度: strlen()函數獲取中文字長echo mb_strlen($str,”UTF8”);英文字符串截取$stri love you;復制代碼//截取love這幾個字母echo substr($str, 2, 4);//為什么開始位置是2呢&#xff0…

批處理命令Start

2019獨角獸企業重金招聘Python工程師標準>>> 運行hello.exe&#xff08;最小化&#xff09; start /MIN hello.exe 用記事本打開readme.txt&#xff08;最大化&#xff09; start /MAX notepad readme.txt 打開網頁 start http://www.baidu.com/ 調用另外一個腳本&…

vim亂碼的解決

解決vim文件亂碼&#xff0c;打開文件亂碼&#xff0c;菜單&#xff0c;提示信息亂碼&#xff1a; 有四個跟字符編碼方式有關的選項&#xff0c;encoding、fileencoding、fileencodings、termencoding 在linux中修改.vimrc&#xff08;在win中是_vimrc&#xff09;A&#xff0c…

arcgis python實例_arcgis二次開發_arcgis二次開發python_arcgis二次開發實例

[1.rar] - QQ連連看的源碼.單消秒殺掛機等功能喜歡的朋友請拿去研究 [qqCHAR.rar] - qq 驗證碼識別程序 可以叫準確的識別出qq登陸前的驗證碼 [1.rar] - 本書以Visualc作為開發語言&#xff0c;結合大量實例&#xff0c;詳細介紹了利用Arcobjects組件進行GIS二次開發的方法和過…

Linux命令-自動掛載文件/etc/fstab功能詳解

一、/etc/fstab文件的作用磁盤被手動掛載之后都必須把掛載信息寫入/etc/fstab這個文件中&#xff0c;否則下次開機啟動時仍然需要重新掛載。系統開機時會主動讀取/etc/fstab這個文件中的內容&#xff0c;根據文件里面的配置掛載磁盤。這樣我們只需要將磁盤的掛載信息寫入這個文…

微分方程在matlab中的實現,Matlab微分方程參數優化的Forcal實現

FCC文件缺省設置&#xff1a;(XNote請修改為X軸單位) (YNote請修改為Y軸單位)(AutoY1) (XMin0) (XMax1) (YMin0) (YMax1)(BorderPixels60) (MultiplyX1) (MultiplyY1) (Grid0) (DivideXY10) (XYNumWidth3) (DataMax2)(ForMax50) (LoadDll)[CODE]// 通用設置&#xff1a;// (XNo…

常用命令

1.在控制臺下關閉Java進程&#xff1a;taskkill /f /im java.exe轉載于:https://www.cnblogs.com/super90/p/5133906.html

一、在windows環境下修改pip鏡像源的方法(以python3為例)

在windows環境下修改pip鏡像源的方法(以python3為例) 1.在windows文件管理器中,輸入 %APPDATA% 2.會定位到一個新的目錄下&#xff0c;在該目錄下新建pip文件夾&#xff0c;然后到pip文件夾里面去新建個pip.ini文件 3.在新建的pip.ini文件中輸入以下內容&#xff0c;搞定 [glob…

得到選擇框句柄 怎么操作_電腦版微信怎么多開?最簡單的三種電腦版微信多開教程...

?在現實中的我們在網絡上卻又很多張臉&#xff0c;多開微信很多人都是需要的&#xff0c;這里就介紹3個方法給大家多開。方法1&#xff1a;BAT文件鼠標右鍵單擊微信圖標選擇 屬性在屬性選項夾內復制 “目標”例如我的是("D:Program Files (x86)TencentWeChatWeChat.exe&q…

php起始符大全,PHP 符號大全

注解符號:// 單行注解/* */ 多行注解引號的使用’ ’ 單引號,沒有任何意義,不經任何處理直接拿過來;" "雙引號,php動態處理然后輸出,一般用于變量.變量形態:一種是True 即 真的;另一種是False 即假的常見變量形態:string 字串(數字\漢字\等等)int…

關于tomcat內路徑跳轉的一些思考

初學jspservlet時經常碰上的幾個錯誤&#xff1a;404、路徑正確但頁面沒有任何內容、樣式和圖片丟失。這幾個錯誤曾經讓我在debug時頭大&#xff0c;現在總結一下&#xff0c;其實它們都跟路徑有關&#xff0c;正是因為沒有處理好路徑跳轉的問題&#xff0c;才引發了這一連串的…

Filter責任鏈模式

Filter責任鏈的創建 org.apache.catalina.core.ApplicationFilterFactory#createFilterChain, 此方法是被org.apache.catalina.core.StandardWrapperValve#invoke調用的, 對每個request都會創建FilterChain public static ApplicationFilterChain createFilterChain(ServletR…

python中的類裝飾器應用場景_這是我見過最全面的Python裝飾器教程了!

裝飾器(Decorators)是 Python 的一個重要部分。簡單地說:他們是修改其他函數的功能的函數。他們有助于讓我們的代碼更簡短,也更Pythonic(Python范兒)。在程序開發中經常使用到的功能&#xff0c;合理使用裝飾器&#xff0c;能讓我們的程序如虎添翼。1. 函數名應用 函數名是什么…

對于個人(注冊表)與團隊(團隊表)(兩張表沒有關聯)的展示與可空判斷

對于個人&#xff08;注冊表&#xff09;與團隊(團隊表)&#xff08;兩張表沒有關聯&#xff09;的展示與可空判斷 1&#xff0c;在Model中只有GroupId沒有名稱&#xff08;GroupName&#xff09;,所以自己定義一個&#xff1a; /// <summary>/// RegistratorMessage 界面…

macos sierra 引導鏡像_真想不到,在win10上可以制作蘋果macOS啟動U盤

不管你使用的是macOS還是Windows10&#xff0c;電腦出現啟動問題是很正常的&#xff0c;原因有很多種&#xff0c;包括(但不限于)文件損壞、硬件故障和錯誤更新等。如果意外發生在蘋果電腦上&#xff0c;可以使用帶有安裝文件的macOS啟動U盤來修復它。這正是在電腦正常工作時應…