CodeForces - 463E Caisa and Tree (dfs+素因子分解)

bigbigship發表於2015-10-09

題目連結:

傳送門

題意:

給定一顆樹,每個點有一個權值,根節點為1。

有兩種操作:

  • 查詢:1 u,求從根節點到這個節點的路徑上的離u最近的那個與u不互質的節點,如果不存在輸出-1。
  • 修改:2 u x,將節點u的權值修改為x。

分析:

  • 查詢操作:
    我們可以一遍DFS處理出所有的答案,我們用一個map來存包含這個數因子的節點,對於一個節點來說我們將其素因子分解在處理他的子樹的過程中將其插入map,在處理完後再將其刪除,查詢的時間複雜度為

相關文章