当前位置: 首页 > news >正文

内容相同的 网站/百度关键词推广可以自己做吗

内容相同的 网站,百度关键词推广可以自己做吗,jsp做的求职招聘网站百度云,中安消防安全网站建设题意:给出一棵树,带有向边,找出某个点到达所有点需要反转的最少的边。 解题关键:和求树的直径的思路差不多,将求(父树-子树)的最大值改为求特定值。依然是两次dfs,套路解法。 对树形…

题意:给出一棵树,带有向边,找出某个点到达所有点需要反转的最少的边。

解题关键:和求树的直径的思路差不多,将求(父树-子树)的最大值改为求特定值。依然是两次dfs,套路解法。

对树形dp的理解:树形dp其实就是将树进行暴力搜索,只是需要理解状态的概念。那些状态已经完成,需要从底还是从顶开始搜索。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cstdlib>
 5 #include<cmath>
 6 #include<iostream>
 7 using namespace std;
 8 typedef long long ll;
 9 const int maxn=1e6+3;
10 const int inf=0x3f3f3f3f;
11 int head[maxn],tot,n,m,sum;
12 int dp[maxn][3],cnt[maxn];
13 struct edge{
14     int to;
15     int nxt;
16     int w;
17 }e[maxn<<2];
18 void add_edge(int u,int v,int w){
19     e[tot].to=v;
20     e[tot].w=w;
21     e[tot].nxt=head[u];
22     head[u]=tot++;
23 }
24 
25 void dfs1(int u,int fa){
26     for(int i=head[u];i!=-1;i=e[i].nxt){
27         int v=e[i].to;
28         if(v==fa) continue;
29         dfs1(v,u);
30         dp[u][0]+=dp[v][0]+e[i].w;
31     }
32 }
33 
34 void dfs2(int u,int fa){
35     for(int i=head[u];i!=-1;i=e[i].nxt){
36         int v=e[i].to;
37         if(v==fa) continue;
38         dp[v][1]=dp[u][0]-dp[v][0]+dp[u][1];
39         if(e[i].w==0) dp[v][1]+=1;
40         else dp[v][1]-=1;
41         dfs2(v,u);
42     }
43 }
44 
45 inline int read(){
46     char k=0;char ls;ls=getchar();for(;ls<'0'||ls>'9';k=ls,ls=getchar());
47     int x=0;for(;ls>='0'&&ls<='9';ls=getchar())x=(x<<3)+(x<<1)+ls-'0';
48     if(k=='-')x=0-x;return x;
49 }
50 
51 int main(){
52     int k=0;
53     while(scanf("%d",&n)!=EOF){
54         memset(head,-1,sizeof head);
55         tot=0;
56         int a,b;
57         /*for(int i=1;i<n;i++){
58             cnt[i]=read();
59             sum+=1ll*cnt[i];
60         }*/
61         for(int i=0;i<n-1;i++){
62             a=read();
63             b=read();
64             add_edge(a,b,0);
65             add_edge(b,a,1);
66         }
67         dfs1(1,-1);
68         dfs2(1,-1);
69         for(int i=1;i<=n;i++){
70             dp[i][2]=dp[i][0]+dp[i][1];
71         }
72         int min1=inf;
73         for(int i=1;i<=n;i++){
74             min1=min(dp[i][2],min1);
75         }
76         cout<<min1<<"\n";
77         for(int i=1;i<=n;i++){
78         //    cout<<dp[i][2]<<" ";
79             if(dp[i][2]==min1) cout<<i<<" ";
80         }
81     }
82     return 0;
83     return 0;
84 }

 

转载于:https://www.cnblogs.com/elpsycongroo/p/7421068.html

http://www.jmfq.cn/news/5143015.html

相关文章:

  • 和一起做网店差不多的网站/个人网页制作教程
  • 怎么做网站海外推广/b2b平台运营模式
  • 京东商城网站建设方案书/广东vs北京首钢
  • 如何建立自己的商城网站/廊坊首页霸屏优化
  • 汽配信息门户网站模板/软文平台有哪些
  • 建设银行的网站为什么登不上/为什么seo工资不高
  • 域名和主机有了怎么做网站/郑州专业网站建设公司
  • wordpress oa插件下载/全网搜索引擎优化
  • 新媒体营销课程/武汉seo公司
  • 免费咨询牙科医生/搜索引擎seo优化平台
  • 福州网站建设兼职/宁波seo教程网
  • 响应式网站模板下载/搜索引擎快速排名推广
  • 找人做网站要密码吗/关键词推广方式
  • 网站域名可以自己做吗/西安百度推广排名
  • 青岛微网站建设/真正的免费建站在这里
  • 郑州最近14天疫情情况/旺道网站排名优化
  • nginx wordpress conf/泰州seo网站推广
  • 如何做网站将数据上传/百度大数据查询平台
  • 国内php开发的电商网站有哪些/企业网站seo方案
  • 网站盗取图片/软件开发公司网站
  • 网页小游戏代码/福清seo
  • 网站开发合同答案/域名查询138ip
  • 旅游景点网站设计方案/seo需要掌握哪些技术
  • 自学网站开发需要看什么书/怎么创建网址
  • 网站除了域名还要什么用/今日新闻快报
  • 个人做企业 网站/东莞搜索网络优化
  • 网站营销合同/免费二级域名申请网站
  • 水墨 网站模板/上海推广seo
  • 猪八戒网做网站怎么样/域名网站查询
  • 织梦网站模板/网站优化推广价格