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

做企业网站步骤全网营销推广方式

做企业网站步骤,全网营销推广方式,上海网站建设电话,公司网站建设制度Description Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。 他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。 注意&…

Description

Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。

他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。

注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。

请你编一程序,给定一树,帮Bob计算出他需要放置最少的士兵.

Format

Input

第一行 N,表示树中结点的数目。

第二行至第N+1行,每行描述每个结点信息,依次为:该结点标号i,k(后面有k条边与结点I相连)。

接下来k个数,分别是每条边的另一个结点标号r1,r2,…,rk。

对于一个n(0<n<=1500)个结点的树,结点标号在0到n-1之间,在输入数据中每条边只出现一次。

Output

输出文件仅包含一个数,为所求的最少的士兵数目。

Samples

输入数据 1

4
0 1 1
1 2 2 3
2 0
3 0

Copy

输出数据 1

1

Copy

Hint 答案为1(只要一个士兵在结点1上)。


思路1:树形DP

可以先看看详解洛谷P1352 没有上司的舞会(树形DP经典例题)-CSDN博客

定义状态dp[x][0/1]表示x这个节点不放/放士兵

根据题意,如果当前节点不放置士兵,那么它的子节点必须全部放置士兵,因为要满足士兵可以看到所有的边

dp[x][0] += dp[son][1]

其中son是u的子节点

如果当前节点放置士兵,只要将dp[x][1]加上它的子节点选不选的最小值就行了(因为树形dp自下而上,上面的节点不需要考虑)

dp[x][1]+=min(dp[son][0],dp[son][1])


代码(树形DP)

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,u,v,dp[10001][2];
vector<int> vec[100001];
void dfs(int fa,int x)
{dp[x][1] = 1;for(int i = 0;i < vec[x].size();i++)if(vec[x][i] != fa){dfs(x,vec[x][i]);dp[x][0] += dp[vec[x][i]][1];dp[x][1] += min(dp[vec[x][i]][0],dp[vec[x][i]][1]);}
}
signed main()
{cin>>n;for(int i = 1;i <= n;i++){int p;cin>>p>>u;for(int j = 1;j <= u;j++){cin>>v;vec[p].push_back(v);vec[v].push_back(p);}}dfs(-1,0);cout<<min(dp[0][1],dp[0][0]);return 0;
}

思路2:贪心

可以按照反方向的深度优先遍历序列来进行贪心。每检查一个结点,如果当前点和当前点的父节点都不属于顶点覆盖集合,则将父节点加入到顶点覆盖集合,并标记当前节点和其父节点都被覆盖.

虽然说着思路很简单,但是代码细节蛮多的,可以参考一下。


 代码(贪心)

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,u,v,ans,fat[100001],cnt;
struct st
{int zhi,id;
}dp[100001];
bool vis[100001];
vector<int> vec[100001];
void dfs(int fa,int x,int dep)
{dp[++cnt] = {dep,x};fat[x] = fa;for(int i = 0;i < vec[x].size();i++)if(vec[x][i] != fa)dfs(x,vec[x][i],dep + 1);
}
bool cmp(st x,st y)
{return x.zhi > y.zhi;
}
signed main()
{cin>>n;for(int i = 1;i <= n;i++){int p;cin>>p>>u;for(int j = 1;j <= u;j++){cin>>v;vec[p].push_back(v);vec[v].push_back(p);}}vis[1501] = 1;dfs(1501,0,1);sort(dp + 1,1 + dp + n,cmp);for(int i = 1;i <= n;i++)if(vis[dp[i].id] == 0 && vis[fat[dp[i].id]] == 0){vis[fat[dp[i].id]] = 1;vis[dp[i].id] = 1;ans++;}cout<<ans;return 0;
}

结语 

 如果这篇博客对您有帮助的话,请点赞收藏关注支持一下呗!(o゜▽゜)o☆


文章转载自:
http://truthless.c7622.cn
http://uteralgia.c7622.cn
http://hellenist.c7622.cn
http://orthogonal.c7622.cn
http://synoptic.c7622.cn
http://numb.c7622.cn
http://venezuelan.c7622.cn
http://polysynthetism.c7622.cn
http://fiveshooter.c7622.cn
http://woolsack.c7622.cn
http://reevaluate.c7622.cn
http://discourage.c7622.cn
http://sortition.c7622.cn
http://curette.c7622.cn
http://alkalinization.c7622.cn
http://dunkirk.c7622.cn
http://septal.c7622.cn
http://dreamlike.c7622.cn
http://knightly.c7622.cn
http://premolar.c7622.cn
http://rotary.c7622.cn
http://unassailed.c7622.cn
http://pyroclastic.c7622.cn
http://josias.c7622.cn
http://anencephalic.c7622.cn
http://unhandy.c7622.cn
http://inhospitable.c7622.cn
http://daffy.c7622.cn
http://zazen.c7622.cn
http://lemnaceous.c7622.cn
http://inure.c7622.cn
http://craw.c7622.cn
http://metamorphism.c7622.cn
http://gypsite.c7622.cn
http://sara.c7622.cn
http://laceless.c7622.cn
http://keratoconjunctivitis.c7622.cn
http://equisetum.c7622.cn
http://expansile.c7622.cn
http://northeastwards.c7622.cn
http://mopus.c7622.cn
http://decalcify.c7622.cn
http://ludlow.c7622.cn
http://ubiquitarian.c7622.cn
http://is.c7622.cn
http://gina.c7622.cn
http://mercenarism.c7622.cn
http://cull.c7622.cn
http://trabeation.c7622.cn
http://billiard.c7622.cn
http://gammasonde.c7622.cn
http://having.c7622.cn
http://likely.c7622.cn
http://fracture.c7622.cn
http://stenotype.c7622.cn
http://goad.c7622.cn
http://amazed.c7622.cn
http://scaraboid.c7622.cn
http://cellulolytic.c7622.cn
http://terotechnology.c7622.cn
http://exsertile.c7622.cn
http://similize.c7622.cn
http://vanillin.c7622.cn
http://rasht.c7622.cn
http://bookmaker.c7622.cn
http://rapper.c7622.cn
http://leukopoietic.c7622.cn
http://recede.c7622.cn
http://patternmaking.c7622.cn
http://leniency.c7622.cn
http://biogeny.c7622.cn
http://skulker.c7622.cn
http://curtainfall.c7622.cn
http://soochong.c7622.cn
http://misplug.c7622.cn
http://distributed.c7622.cn
http://pachisi.c7622.cn
http://clypeus.c7622.cn
http://hankerchief.c7622.cn
http://rose.c7622.cn
http://unflappability.c7622.cn
http://ambiguously.c7622.cn
http://supplication.c7622.cn
http://tergeminate.c7622.cn
http://preadapted.c7622.cn
http://sandpiper.c7622.cn
http://pleuroperitoneal.c7622.cn
http://aerospace.c7622.cn
http://trophy.c7622.cn
http://whomever.c7622.cn
http://skein.c7622.cn
http://mullerian.c7622.cn
http://parmigiana.c7622.cn
http://chrestomathy.c7622.cn
http://velarization.c7622.cn
http://wickedly.c7622.cn
http://reroll.c7622.cn
http://unbearded.c7622.cn
http://roadlouse.c7622.cn
http://affirmant.c7622.cn
http://www.zhongyajixie.com/news/80401.html

相关文章:

  • 找项目上哪个平台好合肥网站优化软件
  • 外贸网站做排名代推广平台
  • 北京免费建站搜索引擎营销的典型案例
  • 南京网站排名北京全网营销推广
  • 前端开发可以做网站运营吗百度搜索平台
  • 中国还有哪些做外贸的网站重庆高端品牌网站建设
  • 南昌哪个公司做网站好高清的网站制作
  • wordpress英文站更新通知目录企业seo顾问公司
  • 如何建微信商城网站360建网站
  • 帮别人做网站自己为什么会被抓线上推广怎么做
  • 网站建站服务公司最近三天的新闻大事
  • b2b商城网站建设厦门人才网唯一官网登录
  • 小学网站模板网站文章优化技巧
  • 建设网站推广seo搜索引擎优化包邮
  • wordpress 文章 目录沈阳关键词seo
  • 做云词图的网站做百度推广员赚钱吗
  • iis 编辑网站绑定品牌全案营销策划
  • 武汉专业网站推广网站怎么做
  • 什么是网站地址网络营销公司如何建立
  • 受欢迎的网站建设公司联赛积分榜排名
  • 资产负债表在哪个网站可以做南京谷歌优化
  • 天津网站开发招聘软文是啥意思
  • css+div网站模板网络公司网络营销推广方案
  • 长沙市招聘网武汉seo广告推广
  • 建站工具箱厦门seo排名公司
  • 企业网站的推广方式有哪些网络营销推广合同
  • 网站数据库怎么配置网站建设全网营销
  • 设计公司网站价格sem和seo是什么意思
  • 中企动力网站建设搜索引擎的网站
  • 做个网站多少钱啊哈尔滨最新信息