糖果
題目描述
在乙個幼兒園裡面有\mathit nn個小朋友,分別編號\text 1,2,…,n1,2,…,n。在這些小朋友中有一些小朋友互為朋友關係,總共有\mathit mm對朋友。
作為幼兒園老師,你想買一些糖果分給小朋友,你知道第\mathit ii個小朋友想要至少
個糖果,否則他就會不開心。
同時,如果乙個小朋友得到的糖果數小於他某個朋友得到的糖果數,他也會不開心。
請問你最少買多少糖果才能保證每個小朋友都不會不開心呢?
輸入描述:
第一行以空格分隔的兩個整數\mathit n,mn,m。
第二行以空格分隔的\mathit nn個正整數a_a
輸出描述:
購買的最少糖果數以保證每個小朋友都不會不開心。
解題思路:
用並查集維護小朋友的朋友關係,每個集合中的小朋友糖果數應該相同,並且是最大的糖果數
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define ll long long
#define n 1000005
int fa[n]
,rankk[n]
,a[n]
;inline
void
init
(int n)
}int
find
(int x)
inline
void
merge
(int i,
int j)
int v[n]
;int
main()
for(
int i=
1; i<=n;
++i)
ll ans =0;
for(
int i=
1; i<=n;
++i)
printf
("%lld\n"
,ans)
;return0;
}
2021牛客寒假演算法基礎集訓營3 G 糖果
題目鏈結 在乙個幼兒園裡面有 n mathit n n 個小朋友,分別編號 1,2 n text 1,2,n 1,2,n。在這些小朋友中有一些小朋友互為朋友關係,總共有 m mathit m m 對朋友。作為幼兒園老師,你想買一些糖果分給小朋友,你知道第 i mathit i i 個小朋友想要至少 ...
牛客寒假演算法基礎訓練營3 G 糖果
傳送門 在乙個幼兒園裡面有n個小朋友,分別編號1,2,n1,2,n。在這些小朋友中有一些小朋友互為朋友關係,總共有 mathit mm對朋友。作為幼兒園老師,你想買一些糖果分給小朋友,你知道第i個小朋友想要至少想要ai個糖果。個糖果,否則他就會不開心。同時,如果乙個小朋友得到的糖果數小於他某個朋友得...
2021牛客寒假演算法基礎集訓營3
三場牛客下來覺得自己越來越不在狀態,思路不清晰,一下手就是bug,每調完一題刷下榜都被甩開十里地,罰時慘不忍睹 傳送門 簽到 include using namespace std typedef long long ll const ll inf 0x3f3f3f3f const ll mod 1...