牛客練習賽16 B 漂亮的樹 思維

2021-08-19 15:41:52 字數 651 閱讀 4557

這道題我第一次寫的時候,我的想法是正著去模擬遍歷最小的變動次數,最後沒寫出來,好像這個思路不太對。正確的方法是反向去思考,我們先得到乙個初始化為題目要求的pre陣列,為了解釋的清楚一點(這裡描述的和**不太一樣),在ans陣列裡輸入n個數,然後我們需要求出對應的第i個數的ans[i] - pre[i]的差值的個數,然後求出這些差值的最大值,就表示不需要變動的值的個數,然後用n減去這個最大值就是最小需要變化的個數。

ac**:

#include #include #include using namespace std;

int pre[100005];

int ans[250005];

int n;

int main()

int sum = -1;

int x;

memset(ans,0,sizeof(ans));

for(int i=1;i<=n;i++)

for(int i=0;i<=200005;i++)

printf("%d\n",n - sum);

return 0;

}

牛客練習賽16 B 漂亮的樹,C 任意點

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 街上有n棵樹,標號為1.n,第i棵樹的高度為a i。定義這n棵樹是漂亮的,當且僅當 1.對於所有的i,a i an i 1 2.對於1 i n 2 不是整除 a i 1...

牛客練習賽 1 B 樹

有一顆樹,有k種不同顏色的染料給樹染色。乙個染色方案是合法的,當且僅當對於所有相同顏色的點對 x,y x,y x,y x xx 到 y yy 的路徑上的所有點的顏色都要與 x xx 和 y yy 相同,請統計方案數 易得乙個節點要麼塗和父節點乙個顏色,要麼塗沒有出現過的顏色 假設我們遍歷到了第 x ...

牛客練習賽1 B 樹題解

演算法分析 解題 shy有一顆樹,樹有n個結點。有k種不同顏色的染料給樹染色。乙個染色方案是合法的,當且僅當對於所有相同顏色的點對 x,y x到y的路徑上的所有點的顏色都要與x和y相同。請統計方案數。第一行兩個整數n,k代表點數和顏色數 接下來 n 1 行,每行兩個整數 x,y 表示 x 與y之間存...