$n$個節點的樹,判斷能否劃分成$\frac$個大小為$k$的聯通塊
首先$k$必須是$n$的倍數。
然後剛開始我就非常傻的以為輸出所有約數就行了。。
但是圖是這樣,$k = 2$的話肯定是不行的。
結論:若$k$是可行的,則至少有$\frac$個節點的大小為$k$的倍數
證明:直接歸納吧。
$k = n$的時候顯然
$k = n / 2$的時候,我們要把樹劃分成互不相交的兩塊,這兩塊一定是完全獨立的,且分別有自己的根節點。
剩下的繼續歸納即可,注意這裡我們為什麼要是「至少」,因為整棵樹是聯通起來的,我們在判斷$k$的時候,大小為$2k$的也會被統計入答案
然後這題卡dfs,不愧是sdoi。。
#include#include#include
#include
using
namespace
std;
const
int maxn = 2 *1e6;
inline
intread()
while(c >= '
0' && c <= '
9') x = x * 10 + c - '
0', c =getchar();
return x *f;
}int
n;vector
ap;intfa[maxn], tim[maxn];
void
rebuild()
intsiz[maxn];
/*void dfs(int x, int fa) }*/
void solve(int
id)
}}int
main()
return0;
}
Sim300設計手冊
1電源 sim300的vbat電源管腳電壓範圍3.4 4.5v,模組在傳送資料時電流消耗較大,峰值電流可能達到2a,所以電源一定要能夠提供2a以上的電流。電源對模組非常重要,一旦在電源上產生擾動 干擾,都可能造成模組的宕機,設計時應該在電源管腳上放置兩個電容,乙個100uf的低esr鉭電容,和乙個1...
ARM經典300問(轉貼)
id 861 第156 問 q 任務間的資料傳輸除郵箱等外是否可以建立乙個全域性變數在任務間傳遞資料 a 可以,但要注意重入問題和 優化問題,最好使用volatile 修飾變數,如果不能一次 讀寫完畢則需要加上開關中斷的 第157 問 q 請問 uc os 任務堆疊問題.在ucos 移植的程式ex1...
SIM300命令參考
at cfun 1,1 此命令可以開啟simcom模組的大部分功能,一般在初始化模組的時候都要寫上 at f 設定預設製造商當前所有引數 測試網路情況 at csq csq 28,0 返回訊號強度,10以上就可以 at creg?creg 0,1 測試網路註冊情況,第二個引數為1或5就可以 at c...