歐拉路HDU3018

歐拉路,歐拉回路,講的實際上就是一筆畫的問題。

給定n個點,m條邊,如果能一筆把所有邊都連上就是歐拉路,如果起點和終點是同一點,就是歐拉回路。

歐拉路的特征:對于無向圖,如果所有點的度都是偶數,那么任意點都可以作為歐拉路的起點;如果存在兩個點的度是奇數,其他點的度都是偶數,那么這兩個分別作為歐拉路的起點和終點。

  對于有向圖,如果每個點的入度和出度相同,一定能形成歐拉路;如果存在兩個點的入度和出度是奇數,以這兩個點為起點和終點可以形成一條歐拉路。4

  判斷給定一個連通圖通過幾筆能畫出來:一筆畫能消去兩個度為奇數的點,如果沒有度為奇數的點,一筆就可以連通。

HDU3018

給定圖,多個連通圖,孤立的點忽略,不存在反身邊(就是自己連自己)。

用并查集記錄連通分支,分別計算各個連通分支上需要的筆畫數

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 100000+10;
 4 
 5 int pre[maxn],de[maxn];
 6 map<int,int>mp;
 7 map<int,int>s;
 8 int n,m,u,v;
 9 int f(int x){return x==pre[x]?x:pre[x]=f(pre[x]);}
10 void mix(int a,int b)
11 {
12     int x=f(a),y=f(b);
13     if(x!=y) pre[x]=y;
14 }
15 int main()
16 {
17     while(~scanf("%d%d",&n,&m))
18     {
19         for(int i=0;i<=n;i++)pre[i]=i;
20         memset(de,0,sizeof(de));
21         while(m--)
22         {
23             scanf("%d%d",&u,&v);
24             mix(u,v);
25             if(u!=v) {de[u]++;de[v]++;}
26         }
27         mp.clear();
28         s.clear();
29         int t=0;
30         for(int i=1;i<=n;i++)
31         {
32            if(tag[i]) t++;
33             else {
34             int p=f(i);
35                 if( de[i]&1 ) mp[p] ++;     //xia biao de  yi yi
36                 if(de[i]) s[p]=1;
37             }
38         }
39         int tot=0;
40         map<int,int>::iterator iter=mp.begin();
41         for(;iter!=mp.end();iter++)
42             tot=tot+iter->second / 2;
43         tot=tot+s.size()-mp.size();
44         cout<<tot<<endl;
45 
46     }
47     return 0;
48 }
View Code

?

轉載于:https://www.cnblogs.com/star-and-me/p/6885847.html

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

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

相關文章

NeuCF源碼中用到的模塊(函數)

論文&#xff1a;《Neural Collaborative Filtering》源碼中用到的模塊&#xff08;函數&#xff09; from keras.layers import Embedding, Input, Dense, merge, Reshape, Merge, Flatten &#xff08;1&#xff09;Input&#xff08;&#xff09;&#xff1a;用于實例化 Ker…

awt jtable 多線程加載圖片_Java項目實戰之天天酷跑(三):緩沖加載游戲界面

前文&#xff0c;我們完成了開始游戲界面的搭建。本文將實現緩沖加載界面的搭建。并搭建與前面倆界面間的橋梁。實現輸入正確用戶名密碼后&#xff0c;進入開始游戲界面&#xff0c;點擊開始游戲按鈕后&#xff0c;進入緩沖加載界面的功能。界面示意圖&#xff1a;具體要求&…

When Cyber Security Meets Machine Learning 機器學習 安全分析 對于安全領域的總結很有用 看未來演進方向...

鏈接&#xff1a;http://ucys.ugr.es/jnic2016/docs/MachineLearning_LiorRokachJNIC2016.pdf https://people.eecs.berkeley.edu/~adj/publications/paper-files/SecML-MLJ2010.pdf 一些關鍵點&#xff1a; 算了&#xff0c;不總結了。 本文轉自張昺華-sky博客園博客&#xff…

如何使用TypeScript和Webpack Hot Module Replacement構建Apollo GraphQL服務器

by Derek Fong由德里克方(Derek Fong) 如何使用TypeScript和Webpack Hot Module Replacement構建Apollo GraphQL服務器 (How to build an Apollo GraphQL server with TypeScript and Webpack Hot Module Replacement) Let’s build an Apollo GraphQL Server with TypeScript…

本地修改指向服務器,本地修改指向服務器

本地修改指向服務器 內容精選換一換已獲取服務器管理員帳號與密碼。打開CMD運行窗口&#xff0c;輸入gpedit.msc&#xff0c;打開本地組策略編輯器。打開組策略在指定RD會話主機服務器的授權模式下拉列表中選擇按用戶。設置允許RD最大連接數位999999。設置結束已斷開連接的會話…

JUnit的使用

JUnit的作用(是一個第三方的組件,eclipse帶了JUnit) 一個工具&#xff0c;用于單元測試&#xff0c;Java Unit 單元單元&#xff1a;一個類或是一個方法2. 在eclipse中的使用 操作步驟&#xff1a;在工程名上點右鍵-> Build Path -> add Libraries –> JUnit 測試方法…

乘法運算

無符號mul和有符號imul&#xff0c;在編譯的過程中&#xff0c;先嘗試將乘法轉換成加法 或使用移位指令等周期轉移較短的指令&#xff0c;如果都沒有才用乘法指令 int main(int argc,char *argv) {int nVarOne argc;int nVarTwo argc;// 變量乘常量 (非2的冪)printf("nV…

leetcode 381. O(1) 時間插入、刪除和獲取隨機元素 - 允許重復

設計一個支持在平均 時間復雜度 O(1) 下&#xff0c; 執行以下操作的數據結構。 注意: 允許出現重復元素。 insert(val)&#xff1a;向集合中插入元素 val。 remove(val)&#xff1a;當 val 存在時&#xff0c;從集合中移除一個 val。 getRandom&#xff1a;從現有集合中隨機…

MAYA建模桌面一角_maya怎么建模逼真的學生書桌書桌桌面?

今天我們就來看看使用maya建模學生書桌的方法&#xff0c;這是實例教程&#xff0c;請看下文詳細介紹。NURBS曲線的基礎知識&#xff1a;NURBS曲面是由網狀的曲線組合而成&#xff0c;在maya中可以使用creat菜單下的CV Curve Tool(CV曲線工具)EP Curve Tool(EP曲線工具)來創建曲…

expect 批量修改服務器用戶密碼

每個技術人員離職&#xff0c;留下的人 就要修改他的服務器賬號密碼&#xff0c;很麻煩&#xff0c;故寫次腳本偷懶 change.sh 如下 12345678910#!/bin/bashfor i in awk {print $1} account.txt dojawk -v l"$i" {if(l$1)print $2} account.txt aawk -v l"$i&q…

虛擬機安裝服務器2008,VMware Workstation 虛擬機安裝64位windows 2008 R2 系統

偶看現在使用的電腦是 惠普 康柏 Elite 8300 MT Mini Tower&#xff0c;操作系統 Windows 7 旗艦版 64位基本硬件展示處理器 英特爾 第三代酷睿 i5-3470 3.20GHz 四核主板 惠普 3397內存 8 GB ( 記憶科技 DDR3 1600MHz / 鎂光 DDR3 1600MHz )主硬盤 西數 WDC WD5000AAKX-60U6A…

黑客入門之單機游戲外掛

轉載于: http://www.cnblogs.com/huipengbo/p/6887170.html 一.本文以植物大戰僵尸外掛的編寫為例&#xff0c;介紹單機游戲外掛的編寫和使用過程。 1.啟動單機游戲如&#xff1a;植物大戰僵尸如下圖 2.想明白我們寫外掛的目的&#xff1a;讓我們有充足的陽光數量來使用&#x…

如何使用瀏覽器控制臺通過JavaScript抓取并將數據保存在文件中

by Praveen Dubey通過Praveen Dubey 如何使用瀏覽器控制臺通過JavaScript抓取并將數據保存在文件中 (How to use the browser console to scrape and save data in a file with JavaScript) A while back I had to crawl a site for links, and further use those page links …

poj2017

1&#xff0e;鏈接地址 https://vjudge.net/problem/POJ-2017 2&#xff0e;問題描述 Bill and Ted are taking a road trip. But the odometer in their car is broken, so they dont know how many miles they have driven. Fortunately, Bill has a working stopwatch, so t…

NFL原則告訴我們做決策的時候,試圖找到一個能解決所有問題,“大而全”的方案是不存在的。我們應當找到最關心的問題,因地制宜做出選擇。——聚焦目標,取舍有道!...

資源匱乏原則&#xff1a; 有限的資源無法滿足無窮的需要及欲望&#xff1b; 因此想要多一點的某件東西&#xff0c;意味著必須放棄一些其他的東西&#xff1b; 因為資源匱乏&#xff0c;所以我們必須做出選擇。 NFL原則&#xff1a;沒有免費午餐定理(No Free Lunch)是wolpert和…

巨無霸Win8PE X64服務器維護專用,【13年4月4日】維護版win8pe【32位+64位+純64位】(支持BIOS+EFI)...

因為單獨一個PE是不夠用的&#xff0c;已經制作了合盤&#xff0c;可BIOS啟動&#xff0c;也可EFI啟動。詳情移步》歡迎下載使用&#xff0c;覺得好的話&#xff0c;請回帖支持一下&#xff0c;您的支持&#xff0c;就是我的動力。。。。預祝大家新的一年合家歡樂&#xff01;工…

linux子線程運行的函數_Linux中線程使用詳解

4. 線程的屬性前面還說到過線程創建的時候是有屬性的&#xff0c;這個屬性由一個線程屬性對象來描述。線程屬性對象由pthread_attr_init()接口初始化&#xff0c;并由pthread_attr_destory()來銷毀&#xff0c;它們的完整定義是&#xff1a;int pthread_attr_init(pthread_attr…

數據源 連接oracle

https://blog.csdn.net/kk185800961/article/details/53065257 轉載于:https://www.cnblogs.com/BelieveFish/p/11164009.html

leetcode 140. 單詞拆分 II(記憶化)

給定一個非空字符串 s 和一個包含非空單詞列表的字典 wordDict&#xff0c;在字符串中增加空格來構建一個句子&#xff0c;使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。 說明&#xff1a; 分隔時可以重復使用字典中的單詞。 你可以假設字典中沒有重復的單詞。 …

java mvp開發_如何從沒有軟件開發技能的想法變成現實的市場MVP???

java mvp開發by Mike Williams由Mike Williams 如何從沒有軟件開發技能的想法變成現實的市場MVP&#xff1f;?&#xff1f; (How to go from idea to live marketplace MVP with no software development skills ???) Online marketplaces such as Airbnb, Turo, Hipcamp,…