洛谷——P2018 消息傳遞

P2018 消息傳遞

?

題目描述

巴蜀國的社會等級森嚴,除了國王之外,每個人均有且只有一個直接上級,當然國王沒有上級。如果A是B的上級,B是C的上級,那么A就是C的上級。絕對不會出現這樣的關系:A是B的上級,B也是A的上級。

最開始的時刻是0,你要做的就是用1單位的時間把一個消息告訴某一個人,讓他們自行散布消息。在任意一個時間單位中,任何一個已經接到消息的人,都可以把消息告訴他的一個直接上級或者直接下屬。

現在,你想知道:

1.到底需要多長時間,消息才能傳遍整個巴蜀國的所有人?

2.要使消息在傳遞過程中消耗的時間最短,可供選擇的人有那些?

?

?

樹形DP,加入了記憶化,設$dp[u][fa]$表示以$u$為兒子,父親為$fa$的傳遞的最大時間,

狀態轉移方程為$dp[u][fa]=max(dp[u][fa],it[i]+cnt-i+1)$

$it[i]$表示他的子樹的大小,$cnt$表示他子樹的個數;

貪心的走,應該先走最大的子樹,所以走到第$i$小的子樹的時間為$it[i]+cnt-i+1$,即他子樹的大小+傳遞到他的時間+1(向下傳遞)

?

#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<vector>
#include<algorithm>#define inf 0x7fffffffusing namespace std;int n,dp[1005][1005],ans;
vector<int>G[1005];int dfs(int u,int fa){if(dp[u][fa]) return dp[u][fa];int cnt=0,it[1005],si=G[u].size();for(int i=0;i<si;i++){int v=G[u][i];if(v==fa) continue;it[++cnt]=dfs(v,u);}dp[u][fa]=1;sort(it+1,it+1+cnt);for(int i=1;i<=cnt;i++)dp[u][fa]=max(dp[u][fa],it[i]+cnt-i+1);return dp[u][fa];
}int main()
{scanf("%d",&n);for(int u,i=2;i<=n;i++){scanf("%d",&u);G[u].push_back(i);G[i].push_back(u);}ans=inf;for(int i=1;i<=n;i++) ans=min(ans,dfs(i,0));printf("%d\n",ans);for(int i=1;i<=n;i++) if(dp[i][0]==ans) printf("%d ",i);return 0;
}

?

轉載于:https://www.cnblogs.com/song-/p/9646527.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388503.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388503.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388503.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

axios異步請求數據的簡單使用

使用Mock模擬好后端數據之后&#xff08;Mock模擬數據的使用參考&#xff1a;https://segmentfault.com/a/11...&#xff09;&#xff0c;就需要嘗試請求加載數據了。數據請求選擇了axios&#xff0c;現在都推薦使用axios。 axios&#xff08;https://github.com/axios/axios&a…

float在html語言中的用法,float屬性值包括

html中不屬于float常用屬性值的是float常用的值就三個:left\right\none。沒有其他的值了。 其中none這個值是默認的&#xff0c;所以一般不用寫。css中float屬性有幾種用法&#xff1f;值 描述left 元素向左浮動。 right 元素向右浮動。 none 默認值。元素不浮動&#xff0c;并…

它們是什么以及為什么我們不需要它們

Once in a while, when reading papers in the Reinforcement Learning domain, you may stumble across mysterious-sounding phrases such as ‘we deal with a filtered probability space’, ‘the expected value is conditional on a filtration’ or ‘the decision-mak…

LoadRunner8.1破解漢化過程

LR8.1版本已經將7.8和8.0中通用的license封了&#xff0c;因此目前無法使用LR8.1版本&#xff0c;包括該版本的中文補丁。 破解思路&#xff1a;由于軟件的加密程序和運行的主程序是分開的&#xff0c;因此可以使用7.8的加密程序覆蓋8.1中的加密程序&#xff0c;這樣老的7.8和…

TCP/IP網絡編程之基于TCP的服務端/客戶端(二)

回聲客戶端問題 上一章TCP/IP網絡編程之基于TCP的服務端/客戶端&#xff08;一&#xff09;中&#xff0c;我們解釋了回聲客戶端所存在的問題&#xff0c;那么單單是客戶端的問題&#xff0c;服務端沒有任何問題&#xff1f;是的&#xff0c;服務端沒有問題&#xff0c;現在先讓…

談談iOS獲取調用鏈

本文由云社區發表iOS開發過程中難免會遇到卡頓等性能問題或者死鎖之類的問題&#xff0c;此時如果有調用堆棧將對解決問題很有幫助。那么在應用中如何來實時獲取函數的調用堆棧呢&#xff1f;本文參考了網上的一些博文&#xff0c;講述了使用mach thread的方式來獲取調用棧的步…

python 移動平均線_Python中的移動平均線

python 移動平均線There are situations, particularly when dealing with real-time data, when a conventional average is of little use because it includes old values which are no longer relevant and merely give a misleading impression of the current situation.…

Ireport制作過程

Ireport制作過程 1、首先要到Option下設置一下ClassPath添加文件夾 2、到預覽->報表字段設置一下將要用到的字段 3、到編輯->查詢報表->寫sql語句&#xff0c;然后把語句查詢的字段結果與上面設置的報表字段的名要對應上 4、Option->選項->Compiler設置一下…

2018.09.16 loj#10243. 移棋子游戲(博弈論)

傳送門 題目中已經給好了sg圖&#xff0c;直接在上面跑出sg函數即可。 最后看給定點的sg值異或和是否等于0就判好了。 代碼&#xff1a; #include<bits/stdc.h> #define N 2005 #define M 6005 using namespace std; int n,m,k,sg[N],first[N],First[N],du[N],cnt0,an…

html5字體的格式轉換,font字體

路由器之家網今天精心準備的是《font字體》&#xff0c;下面是詳解&#xff01;html中的標簽是什么意思HTML提供了文本樣式標記&#xff0c;用來控制網頁中文本的字體、字號和顏色&#xff0c;多種多樣的文字效果可以使網頁變得更加絢麗。其基本語法格式&#xff1a;文本內容fa…

紅星美凱龍牽手新潮傳媒搶奪社區消費市場

瞄準線下流量紅利&#xff0c;紅星美凱龍牽手新潮傳媒搶奪社區消費市場 中新網1月14日電 2019年1月13日&#xff0c;紅星美凱龍和新潮傳媒戰略合作發布會在北京召開&#xff0c;雙方宣布建立全面的戰略合作伙伴關系。未來&#xff0c;新潮傳媒的梯媒產品將入駐紅星美凱龍的全國…

機器學習 啤酒數據集_啤酒數據集上的神經網絡

機器學習 啤酒數據集Artificial neural networks (ANNs), usually simply called neural networks (NNs), are computing systems vaguely inspired by the biological neural networks that constitute animal brains.人工神經網絡(ANN)通常簡稱為神經網絡(NNs)&#xff0c;是…

實例演示oracle注入獲取cmdshell的全過程

以下的演示都是在web上的sql plus執行的&#xff0c;在web注入時 把select SYS.DBMS_EXPORT_EXTENSION.....改成   /xxx.jsp?id1 and 1<>a||(select SYS.DBMS_EXPORT_EXTENSION.....)   的形式即可。(用" a|| "是為了讓語句返回true值)   語句有點長…

html視頻位置控制器,html5中返回音視頻的當前媒體控制器的屬性controller

實例檢測該視頻是否有媒體控制器&#xff1a;myViddocument.getElementById("video1");alert("Controller: " myVid.controller);定義和用法controller 屬性返回音視頻的當前媒體控制器。默認地&#xff0c;音視頻元素不會有媒體控制器。如果規定了媒體控…

ER TO SQL語句

ER TO SQL語句的轉換&#xff0c;在數據庫設計生命周期的位置如下所示。 一、轉換的類別 從ER圖轉化得到關系數據庫中的SQL表&#xff0c;一般可分為3類&#xff1a; 1&#xff09;轉化得到的SQL表與原始實體包含相同信息內容。該類轉化一般適用于&#xff1a; 二元“多對多”關…

dede 5.7 任意用戶重置密碼前臺

返回了重置的鏈接&#xff0c;還要把&amp刪除了&#xff0c;就可以重置密碼了 結果只能改test的密碼&#xff0c;進去過后&#xff0c;這個居然是admin的密碼&#xff0c;有點頭大&#xff0c;感覺這樣就沒有意思了 我是直接上傳的一句話&#xff0c;用菜刀連才有樂趣 OK了…

nasa數據庫cm1數據集_獲取下一個地理項目的NASA數據

nasa數據庫cm1數據集NASA provides an extensive library of data points that they’ve captured over the years from their satellites. These datasets include temperature, precipitation and more. NASA hosts this data on a website where you can search and grab in…

注入代碼oracle

--建立類 select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(FOO,BAR,DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE  create or replace and compile java source named "LinxUtil" as …

html5包含inc文件,HTML中include file標簽的用法

參數PathType將 FileName 的路徑類型。路徑可為以下某種類型&#xff1a;路徑類型 含義文件 該文件名是帶有 #include 命令的文檔所在目錄的相對路徑。被包含文件可位于相同目錄或子目錄中&#xff1b;但它不能處于帶有 #include 命令的頁的上層目錄中。虛擬 文件名為 Web 站點…

r語言處理數據集編碼_在強調編碼語言或工具之前,請學習這3個基本數據概念

r語言處理數據集編碼重點 (Top highlight)I got an Instagram DM the other day that really got me thinking. This person explained that they were a data analyst by trade, and had years of experience. But, they also said that they felt that their technical skill…