树形dp之最小点覆盖(模板)

最小点覆盖:一条边至少要选一个点
这题测评姬的编译器只能选c++,不能选c++11和c++14,很古老,不能用万能头,不能用string
注意这题有0号结点,所以(前向星和平常不一样的地方(以后就用下面这种,防止0号结点)):
              1、for(int i=head[x];i!=-1;i=edge[i].next)
              2、memset(edge,-1,sizeof(edge));
              //3、memset(head,-1,sizeof(head));  //这个不需要

转移方程:f[x][0]=图片说明 f[i][1];
f[x][1]=图片说明 min(f[i][1],f[i][0])+1;

//#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
using namespace std;
int const N=2e3+7;
int n,cnt;
int head[N];
struct node{
int a,next,len;
}edge[N<<1];
void add(int x,int y,int len){
edge[++cnt].a =y;
edge[cnt].len =len;
edge[cnt].next =head[x];
head[x]=cnt;
}
int vis[N],f[N][2],ans=0x3f3f3f3f;</cstring></iostream>

void dfs(int x){
    f[x][1]=1;f[x][0]=0;
    vis[x]=1;   //防止它儿子访问父亲,这里我真的忘了好多次
    for(int i=head[x];i!=-1;i=edge[i].next){
        if(vis[edge[i].a]) continue;
        vis[edge[i].a]=1;
        dfs(edge[i].a);
        f[x][0]+=f[edge[i].a][1];
        f[x][1]+=min(f[edge[i].a][0],f[edge[i].a][1]);
    }
    ans=min(f[x][0],f[x][1]);
}

int main(){
while(cin >> n){

//初始化很重要
        cnt=0;ans=0x3f3f3f3f;
        memset(vis,0,sizeof(vis));
        //memset(edge,-1,sizeof(edge));  //这个不需要
        memset(head,-1,sizeof(head));  //这句也要记住
        memset(f,0x3f,sizeof(f));

//
while(n--){
//string str;
//cin >> str;
//int a=str[0]-'0',z=str[3]-'0';
int a,z;
scanf("%d:(%d)",&a,&z);
for(int j=1;j<=z;++j){
int b;cin >> b;
add(a,b,1);add(b,a,1);
}
}
dfs(1);
cout << ans << endl;
}
return 0;
}

全部评论

相关推荐

机智的豹子有点心碎:UU我还在找工作还没找到,一直在搜简历怎么改,总结了这些: 1.SEO:简历根据每一个岗位定制化:使用这个岗位中所描述的工作的词,它要求什么技能就把自己的技能描述成什么样子,把SEO用在自己身上(把我的简历和个人特质,当成一个热门产品来做 “搜索引擎优化”),让HR能用最低的门槛看到我 2."顺序:把岗位要求的技能跟经历放在简历的最开头、最显眼的位置" 3.包装:简历是一个最终交付说明书,只要最终学习成长做得到就可以,在合适的范围内自我吹捧(我这个人怎么能够在HR的角度被迅速的看懂和看到,减轻HR的工作压力) 4.每点加小标题​:用6~10字概括该段内容,便于面试官快速抓取信息。 5.避免空泛描述​:拒绝“培养了组织能力”等泛泛而谈,替换为具体行动和成果。 6."使用“三段式结构”​​:每段经历按“为什么做-做了什么-结果如何”展开: ​a) 为什么做​:痛点或目标(例如“品牌声量不足”) ​b) 做​了什么:方法论(例如“趋势洞察+竞品对标+人群细分”) ​c) 结果如何​:量化成果或影响(例如“推动客户投放20万预算”)" 7.量化成果​:用数字体现工作成效(如“整理500+份资料”“撰写2万字报告”)。 这些有的是我想去的岗的,如果对你有用的话按需修改就好~加油,早日上岸!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务