关注
第二题是这样吗:#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod = 1e9+7;
const int MAXN=1e5 + 5;
vector<int>edges[MAXN];
string color;
int dp[MAXN][2];
int vis[MAXN];
void add(int u,int v){
edges[u].push_back(v);
edges[v].push_back(u);
}
void dfs(int u){
dp[u][0]=0;
dp[u][1]=1;
vis[u]=1;
for(auto& v:edges[u]){
if(vis[v]==1)continue;
vis[v]=1;
dfs(v);
vis[v]=0;
if(color[v] == color[u]){
dp[u][0]+=min(dp[v][0]+1,dp[v][1]);
dp[u][1]+=min(dp[v][1],dp[v][0])+1;
}else {
dp[u][0]+=min(dp[v][0],dp[v][1]+1);
dp[u][1]+=min(dp[v][1],dp[v][0]+1);
}
}
}
int main(){
int n;cin>>n;
cin>>color;
for(int i=1;i<n;i++){
int a,b;cin>>a>>b;
add(a-1,b-1);
}
dfs(0);
cout<<min(dp[0][0],dp[0][1])<<endl;
return 0;
}
查看原帖
2 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你觉得大几开始实习最合适? #
10186次浏览 100人参与
# 实习生的蛐蛐区 #
921715次浏览 4700人参与
# 厦门银行科技岗值不值得投 #
12867次浏览 307人参与
# 你见过哪些招聘隐形歧视? #
6963次浏览 68人参与
# 毕业季等于分手季吗 #
59330次浏览 681人参与
# 面试被问到不会的问题,你怎么应对? #
9071次浏览 76人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
29441次浏览 532人参与
# 面试吐槽bot #
182281次浏览 865人参与
# 好好告别我的学生时代 #
138193次浏览 1555人参与
# 25届秋招公司红黑榜 #
328805次浏览 1292人参与
# 小厂实习有必要去吗 #
87365次浏览 417人参与
# 租房前辈的忠告 #
380406次浏览 7492人参与
# 你都用vibe coding做过什么? #
4512次浏览 174人参与
# 做完笔试后你收到面试了吗? #
9711次浏览 84人参与
# Vibe Coding 会干掉初级岗位吗? #
8540次浏览 132人参与
# 实习转正进行时 #
168516次浏览 1064人参与
# AI Coding实战技巧 #
2981次浏览 78人参与
# 你现在一天AI几次? #
3717次浏览 62人参与
# 牛友の3月总结 #
13551次浏览 126人参与
# 如果人生可以debug你会改哪一行? #
3712次浏览 78人参与
# 大厂实习和小厂实习最大的区别是什么? #
18149次浏览 120人参与
# 百度工作体验 #
319748次浏览 2239人参与
查看7道真题和解析