小 Y 的問題

2021-08-06 06:28:47 字數 1106 閱讀 2083

大水題一道,合法個數用 乘法原理+組合數公式

具體做法:num[i]表示與i相連的點的個數

我們稱圖上的b-d邊為中心邊

我們列舉中心邊

列舉兩個點,先看一側的點i,它的鄰接點有num[i]個,但是其中乙個點是中心邊的另乙個點,符合條件的點有num[i]-1個,利用組合數公式可以求出在這些點中選2個的方案有x種,那麼y總數就要加上x*(num[另乙個點]-1),另乙個同理。

至於最大值,我們預處理每個點連線的邊的權值前三大

為啥是前三大呢?因為前兩大中可能有有一條中心邊,所以要維護前三大值,在一側找出符合條件的邊的前兩大值,在另一側找出最大值算出總和就行了

注意y總數要開long long型

#include #include using namespace std;

struct twmaxm[200010][4];

long long num[200010];

int x[200010],y[200010];

int len[200010];

int maxf;

long long cnt;

void max_add(int a,int z,int b)

if(z>=s2)

if(z>=s3)

}long long cnm(long long x)

int max11,max12,max2;

bool f[4];

void find_max1(int a,int d)

int find_max2(int a,int d)

int main()

for(int i=1

;i<=n-1;i++)

if(num[b]>=3&&num[a])

}printf("%lld\n%d",cnt,maxf);

return0;

}

清北2016 小Y的問題

一遍過sample,高興的我去測試,80 qwq。卡常。ac程式 30的方法 看資料 n 10 這個資料直接打暴力完全ok,列舉四條邊,看是否能滿足y字的要求就行 60的方法 資料 n 2000 這個資料大約能承受o n 2 的複雜度 我們不妨列舉度數為三及以上 有三條以上的邊與之相連線 的點 在圖...

小Y的難題

font size aaaa aa近期小y迷上了數學,總是在思考各種數學問題。有一天,他不小心把墨水灑在草稿紙上。他如今能看到的是 2?3?1?4 表示看不清的地方 小y的記憶力不錯,他知道 1 每乙個?僅僅會是 三個符號之中的乙個。2 總共同擁有且僅有乙個 3 原式一定是乙個等式。如 2 3 1 ...

3407 小 Y 的徽章

畢業了,小 y 想要打造一枚具有紀念意義的徽章送給老師,該徽章是周長為 ll 的正 nn 邊形,現在小 y 想要知道這枚徽章的面積有多大,你能幫助她解決這個問題麼?輸入只有一行,包含兩個整數 n,l 3 n 50,1 l 100000 n,l 3 n 50,1 l 100000 其中 nn 代表徽章...