樹形dp 簡單題
給定一棵樹,每個節點有乙個值。對於一條路徑,它的值為路徑上所有點的值的乘積。求出樹上所有路徑的值的和。
注意:單個點也算一條路徑。
第 1 行乙個數 n,表示樹的節點數。
第 2 行 n 個數,第 i 個數表示節點 i 的值。
第 3 到 n+1 行,每行兩個數 u,v,表示 u,v 之間有一條邊。
包含乙個數,表示答案模 10086 的值。
57 6 6 1 1
1 22 3
2 41 5
對於 100% 的資料,n <= 100000
拿到題,我們可以很快看出,這應該是一道樹形dp題。可以定義dp[i]為以節點 i 為根的子樹的答案。然後從下往上更新。但是,等一等,如果直接這樣更新,會有一點問題。如果這條路徑不再往上走,或者只是經過節點 i ,向它的兩個子樹延伸,這樣的資料向上傳遞後毫無作用,並且還會使答案錯誤。既然這樣,我們可以在這個時候直接把這部分更新給ans,這就簡單多了。
#include #include using namespace std;
#define adde(u,v) ;head[u] = &e[cnt++];}
const int maxn = 1e5 + 5, mod = 10086;
int n,cnt;
int a[maxn];
int dp[maxn];
int ans = 0;
struct edge e[maxn << 1], *head[maxn];
void dfs(int u,int fa)
}int main()
dfs(1,0);
printf("%d",ans);
return 0;
}
微服務統 認證 案 OAuth2
基於session的認證方式 在分布式的環境下,基於session的認證會出現 個問題,每個應 服務都需要在session中儲存 戶身份資訊,通過負載均衡將本地的請求分配到另 個應 服務需要將session資訊帶過去,否則會重新認證。我們可以使 session共享 session黏貼等 案。sess...
認識P2P,利用P2P
是peer to peer的縮寫 好象還看到過文章說是point to point,我也不清楚,網上的資料也不清楚,鬱悶 peer在英語裡有 地位 能力等 同等者 同事 和 夥伴 等意義。這樣一來,p2p也就可以理解為 夥伴對夥伴 的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流 檔案交換...
洛谷P1027 Car的旅行路線
又到暑假了,住在城市a的car想和朋友一起去城市b旅遊。她知道每個城市都有四個飛機場,分別位於乙個矩形的四個頂點上,同乙個城市中兩個機場之間有一條筆直的高速鐵路,第i個城市中高速鐵路了的單位里程 為ti,任意兩個不同城市的機場之間均有航線,所有航線單位里程的 均為t。圖例 從上而下 機場 高速鐵路 ...