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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

刷过一题之黑魔法师之门

發(fā)布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 刷过一题之黑魔法师之门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

經(jīng)過了16 個工作日的緊張忙碌,未來的人類終于收集到了足夠的能源。然而在與Violet星球的戰(zhàn)爭中,由于Z 副官的愚蠢,地球的領袖applepi 被邪惡的黑魔法師Vani 囚禁在了Violet 星球。為了重啟Nescafé這一宏偉的科技工程,人類派出了一支由XLk、Poet_shy 和lydrainbowcat 三人組成的精英隊伍,穿越時空隧道,去往Violet 星球拯救領袖applepi。applepi 被囚禁的地點只有一扇門,當?shù)厝朔Q它為“黑魔法師之門”。這扇門上畫著一張無向無權(quán)圖,而打開這扇門的密就是圖中每個點的度數(shù)大于零且都是偶數(shù)的子圖的個數(shù)對1000000009 取模的值。此處子圖 (V, E) 定義為:點集V 和邊集E 都是原圖的任意子集,其中E 中的邊的端點都在V 中。但是Vani 認為這樣的密碼過于簡單,因此門上的圖是動態(tài)的。起初圖中只有N 個頂點而沒有邊。Vani 建造的門控系統(tǒng)共操作M 次,每次往圖中添加一條邊。你必須在每次操作后都填寫正確的密碼,才能夠打開黑魔法師的牢獄,去拯救偉大的領袖applepi。

?

第一行包含兩個整數(shù)?N?和?M。接下來?M?行,每行兩個整數(shù)?A?和?B,代表門控系統(tǒng)添加了一條無向邊(A,?B)。

?

一共?M?行,表示每次操作后的密碼。

?

輸入示例:

4?8
3?1
3?2
2?1
2?1
1?3
1?4
2?4
2?3

輸出示例:

0
0
1
3
7
7
15
31

?

數(shù)據(jù)范圍:N≤200000?,M≤300000?。

?

提醒:子圖不一定連通。舉另外一個例子,例如點(1、2、3),(4、5、6)分別組成一個三元環(huán),則圖中有三個所求子圖。

?

題解:

并查集維護,如果兩點在同一集合中,則 ?ans=ans*2+1。

 1 #include<iostream>
 2 using namespace std;
 3 int a,m,tem,tem1;
 4 int n[200005];
 5 int find(int x) {return x==n[x]?x:n[x]=find(n[x]);}
 6 int read()
 7 {
 8     int x=0,f=1;
 9     char ch=getchar();
10     while(ch<'0'||ch>'9')
11     {
12         f=-1;
13         ch=getchar();
14     }
15     while(ch>='0'&&ch<='9')
16     {
17         x=x*10+ch-'0';
18         ch=getchar();
19     }
20     return f*x;
21 }
22 int main()
23 {
24     a=read();
25     m=read();
26     int ans=0;
27     for(int i=0;i<a;i++) n[i]=i;
28     for(int i=0;i<m;i++)
29     {
30         tem=read();
31         tem1=read();
32         int temp=find(tem),temp1=find(tem1);
33         if(temp!=temp1) {n[temp]=temp1;}
34         else
35         {
36             ans+=ans+1;
37             ans%=1000000009;
38         }
39         printf("%d\n",ans);
40     }
41     //system("pause>nul");
42     return 0;
43 }
C++ Anser

?

轉(zhuǎn)載于:https://www.cnblogs.com/nightfury/p/4983066.html

總結(jié)

以上是生活随笔為你收集整理的刷过一题之黑魔法师之门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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