bzoj1123(許可權題)

2021-08-16 08:37:00 字數 723 閱讀 8094

割點的題目,一定要考慮全面。注意有序點對,必須×2。

因為刪掉割點的所有邊後,可能形成的連通塊有:

1、孤單的節點i自己  2、i的兒子的子樹們 3、除了這些點,剩下的所有點構成乙個

//許可權題 

#include #define n 100010

#define m 500010

#include using namespace std;

typedef long long ll;

struct adj e[2*m];

int head[n], n, m, cnt = 1, num = 0, size[n], dfn[n], low[n];

ll ans[n];

inline int read()

return x;

}inline void ins(int x, int y)

inline void tarjan(int x)

}else low[x] = min(low[x], dfn[y]);

} ans[x]+= (ll)t * (n - t - 1);

}int main()

tarjan(1);

for(int i = 1; i <= n; ++i) printf("%lld\n", (ans[i] + n - 1) * 2);

return 0;

}

bzoj 1123 tarjan 乘法原理

題意 n個點,m條雙向邊,問刪除每個點後,對於有序數對 x,y 滿足x,y互不連通的數對數 即 1,2 與 2,1 算2對 其中,被刪掉的點也應被統計。題意明白以後,一眼看過去就是tarjan 因為要求統計被刪除的點,所以每個點的基礎答案為 n 1 2 如果刪去的點不是割點,則它除了基礎答案外不會再...

1123 好配對(想法題 暴力 模擬)

link 時間限制 1000ms 單點時限 1000ms 記憶體限制 256mb 給定兩個序列a和b,每個序列中可能含有重複的數字。乙個配對 i,j 是乙個好配對當從第乙個序列中選出乙個數ai,再從第二個序列中選出乙個數bj且滿足ai bj。給出兩個序列,問存在多少個好配對。輸入包含多組資料,資料第...

BZOJ 1123 tarjan求割點 組合數學

byteotia城市有n個 towns m條雙向roads.每條 road 連線 兩個不同的 towns 沒有重複的road.所有towns連通。input 輸入n 100000 m 500000及m條邊output 輸出n個數,代表如果把第i個點去掉,將有多少對點不能互通。sample input...