关注
第二题是这样吗:#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 评论
相关推荐
07-09 11:20
北京信息科技大学 机械结构工程师 点赞 评论 收藏
分享
05-14 11:04
北京邮电大学 Java 
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java 
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
14025次浏览 186人参与
# 面试官是我前女友 #
107052次浏览 731人参与
# 实习生的蛐蛐区 #
40522次浏览 329人参与
# 当你面对裁员会如何? #
275982次浏览 2438人参与
# 计算机有哪些岗位值得去? #
13042次浏览 134人参与
# lastday知无不言 #
56915次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14511次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14039次浏览 97人参与
# 说说你知道的学历厂 #
28454次浏览 178人参与
# 你找工作的时候用AI吗? #
15000次浏览 193人参与
# 下班后的时间你怎么安排 #
7546次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7301次浏览 167人参与
# 携程求职进展汇总 #
559478次浏览 4258人参与
# 面试尴尬现场 #
24070次浏览 164人参与
# 工作后会跟朋友渐行渐远吗 #
30077次浏览 216人参与
# 中核求职进展汇总 #
20165次浏览 152人参与
# 社会教会你的第一课 #
29540次浏览 396人参与
# 多益网络工作体验 #
49693次浏览 280人参与
# 虾皮求职进展汇总 #
244210次浏览 1797人参与
# 神州信息工作体验 #
16060次浏览 75人参与