a :傳送門:點我
求聯通塊個數,對於簡單圖而言,就是c=v-e,其中c就是聯通塊個數,v是頂點數,e是邊數
d p1m2 傳送門:點我#include #include #include #include using namespace std;
const int max_n = 2e5 + 10;
int n, m, k;
vectorg[max_n];
int vis[max_n];
int degree[max_n];
void dfs(int v, int p)
}int main()
int a, b;
for (int i = 0; i < m; i++)
int cnt = 0;
for (int i = 0; i < n; i++)
if (!vis[i])
int ans = 0;
for (int i = 0; i < n; i++)
printf("%d\n", ans);
}return 0;
}
二分答案,會超時,加乙個字首
#include #include using namespace std;
const int max_n = 3e5 + 10;
typedef long long ll;
int x[max_n];
int n;
ll sum[max_n];
bool cmp(int a,int b)
int check(int x)*/
}cnt=cnt-((ll)(n-i+1)*x-sum[i]);
if(cnt>0)
else if(cnt==0)
else return -1;
}int main()
sort(x+1,x+n+1,cmp);//求乙個字尾和
sum[n]=x[n];
for(int i=n-1;i>=1;i--)
int ans=-1;
while (l <= r)
else
r = mid-1;
}printf("%d\n", ans);
}return 0;
}
2017百度之星初賽B場總結
a場因為不可抗力因素 沒能參加,b場還好算是磕磕碰碰地吃著低保過去了,真的菜呀 可以說還是比較一目了然的簽到題,由於這些點的橫縱座標都必須嚴格遞增,那麼我們最多能取到的點就是mi n n,m 個 方案數就相當於是在 max n,m 中選 min n,m 個的方案數,那麼答案就是c max n,m m...
2017百度之星初賽(B) 1001Chess
hdu 6114 題意 n行m列的矩陣,裡面盡可能的放最多的車,並且使得,車不相互攻擊 不同在一行或一列 同時要滿足,行數大的,列數也要大。思路 由於盡可能放最多的車。假設n大於m那麼最多可以放m輛車,那麼就從n中選m列出來放好車就行。所以答案是c n,m 主要是儲存一波c n,m 的打表模板。in...
2023年百度之星程式設計大賽初賽B
圓環 時間限制 1000ms 描述乙個圓環上有n個位置,這n個位置按順時針依次標號為1,2,n。初始時圓環的每個位置上都有乙個1至n之間的整數,且每個整數只出現一次。任何時刻,你可以將圓環上的數全部逆時針旋轉乙個位置,即第i個位置上的數變為原來第i 1個位置上的數,第n個位置上的數變為原來第1個位置...