1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          Teleporter

          來源:互聯網轉載 時間:2024-01-29 08:07:34

          Description
          有 n個城市,每個城市有一個傳送點,都可以傳送到唯一的另外一個城市,保證從任何位置出發經過若干次傳送之后能夠到達 1號城市?,F在希望修改一些點的目的地,使得從任何一點出發在傳送 K次之后恰好都能到達 1號城市,求最少要改變目的地的城市的數量。

          Format
          Input
          第一行給出數字N

          第二行給出N個數字,代表每個城市其傳送點可到的城市

          N<=1e5

          Output
          如題

          Samples
          輸入數據 1
          3 1
          2 3 1
          輸出數據 1
          2
          輸入數據 2
          3 1
          2 3 1 2
          輸出數據 2
          3

          Sol
          按題目意思,原圖中必然是存在環的。
          只有這樣所有點才能必然走到1.

          此時如果我們希望從1出發走到其它點的話
          則需將原圖的邊,反向建邊
          這樣在反圖上,1可以走到其它點,則在原圖上
          其它點也可以走到1上。

          于是在反圖上我們進行如下操作
          1:如果1自己指向的不是1本身的話
          則需要建立一個這樣的邊出來,也就是說形成自環。
          這樣可以非常方便的進行后面的操作。
          例如


          這樣的圖,K=4
          1確實是可以經過4步后回到自己,再其它點就難操作了。
          但建好自環后,其它點不要做任何變化,都可以經過4步走到1.
          例如可以在1上先轉3圈,再走到2;在1上先轉2圈,再走到3;在1上先轉1圈,再走到4;

          接下來關于如何修改點的操作
          對于下圖,設K=2,

          我們發現從1出發,2步之內是可以走到2和3的
          但走不到4和5.
          于是我們可以加條邊1-->3,這樣就可以了。
          也就是說3的深度為2,其最大子樹深度為3.兩者之差正好為K-1.
          于是加條邊1-->3,便可達到目標了。
          注意是正好等于k-1時,也是說1所指向的點,應該深度應該盡可能小一點
          這樣可以覆蓋到盡可以多的點.

          #include<iostream>#include<cstdio>using namespace std;int n,k,ans=0;int tot=0,h[100005],a[100005];struct Edge{int x,next;}e[200005];inline void add_edge(int x,int y){e[++tot].x=y;e[tot].next=h[x];h[x]=tot;}int dfs(int x,int deep){ int ret=deep;for(int i=h[x];i;i=e[i].next)ret=max(ret,dfs(e[i].x,deep+1));if(a[x]!=1&&ret-deep==k-1)//如果x這個點的深度與其最深的葉子點深度差為k-1時    //并且x的轉移點并不為1時,就要加邊了 {    return ans++,0;    }else      return ret;}int main(){scanf("%d%d",&n,&k);for(int i=1;i<=n;i++)   scanf("%d",a+i);//2 3 1 if(a[1]!=1)    ans=a[1]=1;for(int i=2;i<=n;i++)     add_edge(a[i],i);//反向建圖,這樣保證可以從1號點走到其它所有點 dfs(1,0),printf("%d",ans);}

            

          標簽:teleporter-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          2月27日螞蟻莊園小課堂正確答案?2021螞蟻莊園小教學2月27日答案:問題:防藍光眼鏡一般需要定期更換屏幕,那遮陽傘呢?正確答案:也需要定期更換小鎮小課程玩法介紹:1、打開相機中的手機銀行,進入到pos機首頁后找到【更多】選項并點擊。2、點擊后會打開銀行卡的全部應用界面,在【教育公益】類別的下方找到并點擊【螞蟻莊園】。3、接下來會打開螞蟻莊園,在里面找到左下方位置的【領食品】功能并點擊。4、點擊...

          成都華陽客運站可以網上訂票?你可以在網上訂票。打開微信,搜索添加“華陽客運中心”微信微信官方賬號,點擊底部第一個菜單欄“查詢購票”,選擇想要到達的車站和出發日期,點擊“訂票”按鈕,選擇車票數量,輸入電話號碼即可訂票?,F在網上訂票非常方便,容易操作。希望能幫到你。怎么查汽車票?該方法如下:1.首先在官網登陸當地的汽車總站。其實所有的公交車站購票性質都是一樣的。你可以查一下當地的公交車站,然后在那里訂...

          安正男裝什么價位 安正男裝屬于什么檔次?安正男裝屬于什么檔次? 安正是安正時尚集團推出的高端男裝品牌,致力于滿足都市精英男士的時尚商務需求。該品牌成立于2010年,總部位于上海,其品牌包括尹默、九子、MOISSAC摩薩克和FIONACHEN斐娜晨。安正男裝詮釋了城市現代時尚紳士的形象,以堅持、真實、挑戰的生活理念,通過時尚精神的塑造和精湛的技術表達,使外部形象和精神狀態充滿活力和青春感。通過富...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>