小K的疑惑 牛客

2022-03-31 21:17:53 字數 712 閱讀 8963

bob有\(n(1 \leq n \leq10000)\)個點的樹,每條邊有乙個邊權\(d(0\leq d \leq 233)\),現在定義\(dis(i,j)\)代表第\(i\)個點到第\(j\)個點的距離模2。問有多少\((i,j,k)\)滿足\(dis(i,j) = dis(i,k) = dis(j,k)\)。

首先,一棵樹中不存在\((i,j,k)\),使得\(dis(i,j) = dis(i,k) = dis(j,k) = 1\)。隨便選乙個點為根,記\(dis(root, u) = 0\)的個數為\(cnt_x\),\(dis(root, u) = 1\)的個數為\(cnt_y\),那麼滿足\(dis(i,j) = dis(i,k) = dis(j,k) = 0\)的\((i, j,k)\)個數為\(cnt_x^3 + cnt_y^3\)。注意\(i = j = k\)是合法的!

const int n = 10005;

int n, x, y;

vectorg[n];

void dfs(int u, int p, int deep)

void addedge(int u, int v, int w)

int main()

dfs(1, 1, 0);

cout << 1ll * x * x * x + 1ll * y * y * y << endl;

return 0;

}

牛客 小凱的疑惑(a b a b)

小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。每種金幣小凱都有無數個。在不找零的情況下,僅憑這兩種金幣,有些物品他是無法準確支付的。現在小凱想知道在無法準確支付的物品中,最貴的價值是多少金幣?注意 輸入資料保證存在小凱無法準確支付的商品。輸入描述 輸入資料僅一行,包含兩個正整數 a 和 b...

牛客 小y的盒子

稍加觀察就會發現,4n 1就是題目要的答案。至於為什麼,看官方的題解。不過這個n非常的大,用正常快速冪解決不了。這道題我學到的就是解決冪非常大的情況。sol1 之前好像做過一道類似的題目,想不出來,在群裡看到發了乙個名詞叫十進位制快速冪。然後根據這個名字自己意淫通了。一般的快速冪是把冪當成二進位製用...

牛客網 最小的k個數

輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,解法1 利用最大堆,o nlogk vectorgetleastnumbers solution vectorinput,int k vectorheap input input....