題解 洛谷 P4821 中山市選 生成樹

2021-09-11 07:50:04 字數 1097 閱讀 2881

題目傳送門

題目描述:

有一種圖形叫做五角形圈。

乙個五角形圈的中心有1個由n個頂點和n條邊組成的圈。在中心的這個n邊圈的每一條邊同時也是某乙個五角形的一條邊,一共有n個不同的五角形。這些五角形只在五角形圈的中心的圈上有公共的頂點。如圖0所示是乙個4-五角形圈。

現在給定乙個n五角形圈,你的任務就是求出n五角形圈的不同生成樹的數目。還記得什麼是圖的生成樹嗎?乙個圖的生成樹是保留原圖的所有頂點以及頂點的數目減去一這麼多條邊,從而生成的一棵樹。

注意:在給定的n五角形圈中所有頂點均視為不同的頂點。

輸入格式

輸入包含多組測試資料。

第一行包含乙個正整數t,表示測試資料數目。

每組測試資料報含乙個整數n( 2<=n<=100),代表你需要求解的五角形圈中心的邊數。

輸出格式

對每一組測試資料,輸出一行包含乙個整數x,表示n五角形圈的生成樹數目模2007之後的結果。

分析:一道數學推導題(wcwc

wc居然放在圖論專講裡。。)。

不難得出,圖中一共有4n4n

4n個點,5n5n

5n條邊。

均攤下來,每個五邊形需要刪去一條邊,剩下一條邊。(也就是說有乙個五邊形需要刪去兩條邊)

因為圖中的正n

nn變形也是乙個環,所以我們必須有一條邊是需要刪正n

nn邊形的邊的。

所以總方案個數是:

4 ∗n

+5n−

14*n\ +\ 5^

4∗n+5n

−1那麼具體**如下:

#include

using

namespace std;

#define ll long long

#define p 2007

int t;

intmain()

fclose

(stdin);

fclose

(stdout);

return0;

}

P4819 中山市選 Tarjan SCC

題意 傳送門 p4819 中山市選 殺人遊戲 題解若 x xx 認識 y yy,則從 x xx 向 y yy 連一條有向邊,得到一張有向圖。觀察發現,若存在環,那麼任取環上一點即可,則有 1 n 1 n1 n 的概率是殺手 否則,可獲取下乙個節點的身份,直到環上最後乙個節點或發現殺手。那麼使用 ta...

P4819 中山市選 殺人遊戲

這題想必大家很容易想到圖論建模。每個人都是乙個結點,與他認識的人連一條邊,每過乙個點我們就能這樣擴充套件下去。我們需要使 殺的概率小,簡單貪心 盡量去找認識人多的人詢問,即找到聯通較多邊的那個結點詢問。我們可以求出途中所有的強連通分量,用tarjan演算法縮點,然後找出所有入讀為0的點。但這題有乙個...

P4819 中山市選 殺人遊戲

一位冷血的殺手潛入na wiat,並假裝成平民。警察希望能在nn個人裡面,查出誰是殺手。警察能夠對每乙個人進行查證,假如查證的物件是平民,他會告訴警察,他認識的人,誰是殺手,誰是平民。假如查證的物件是殺手,殺手將會把警察乾掉。現在警察掌握了每乙個人認識誰。每乙個人都有可能是殺手,可看作他們是殺手的概...