第二题是这样吗:#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; }

相关推荐

一拳打爆地球66:我TM没看错吧,50块一天还985、211研究生优先?那个**会去?
点赞 评论 收藏
分享
讲原则的小黄鸭不愿吃...:有时候面试眼缘确实很重要,当然,飞驰人生2中张弛说的很对:我努力了无数次,但是我知道机会只会出现在其中一两次。你把每一次笔试面试都全力以赴,总有你运气发挥到位的时候
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务