当前位置:网站首页>[Acwing] 58周赛 4490. 染色
[Acwing] 58周赛 4490. 染色
2022-07-04 15:05:00 【*DDL_GzmBlog】
前言
周六的时候忙,听说这题挺难的,什么没见过的dp
结果感觉难度 C< B
t a g : tag : tag:思维
树形结构
传送门 :
题意 :
给定一棵树和每个节点需要的颜色,你可以进行多次操作,询问最少的操作使得每个节点的颜色温和
操作定义如下 :
选择一个节点 v 和一种颜色 x。
将以节点 v 为根节点的子树中的全部节点(包括节点 v)都染成颜色 x。
思路 :
看完操作,很明显的就提示你了,是 自下而上的进行 d f s dfs dfs
然后我们再考虑怎么进行染色,显然我们可以贪心的考虑, 如果子树和本身颜色不同,显然是需要染色的
反之不需要染色, 这肯定是花费最小的(证明不知道,显然)
Mycode :
#include <iostream>
#include <vector>
#include <map>
#include <cstring>
#include <queue>
#include <math.h>
#include <set>
#include <stack>
#include <algorithm>
using namespace std;
#define IOS ios::sync_with_stdio(false);
#define CIT cin.tie(0);
#define COT cout.tie(0);
#define ll long long
#define x first
#define y second
#define pb push_back
#define endl '\n'
#define all(x) (x).begin(),x.end()
#define Fup(i,a,b) for(int i=a;i<=b;i++)
#define Fde(i,a,b) for(int i=a;i>=b;i--)
#define cer(a) cerr<<#a<<'='<<(a)<<" @ line "<<__LINE__<<" "<<endl
typedef priority_queue<int,vector<int>,greater<int>> Pri_m;
typedef pair<int,int> pii;
typedef vector<int> VI;
map<int,int> mp;
const int N = 2e5+10,INF = 0x3f3f3f3f;
const double eps = 1e-5;
struct node{
int to,val;
};
vector<int> g[N];
int col[N];
int n,i;
int ans = 1;
void dfs(int u,int fa){
for(auto x : g[u]){
if(x == fa)continue;
dfs(x,u);
if(col[x] != col[u]) ++ ans;
}
}
void solve(){
cin>>n;
Fup(i,2,n){
int x;cin>>x;
g[x].pb(i);
}
Fup(i,1,n) cin>>col[i];
dfs(1,0);
cout<<ans<<endl;
}
int main(){
//int t;cin>>t;while(t--)
solve();
return 0 ;
}
边栏推荐
- Readis configuration and optimization of NoSQL (final chapter)
- Understand the rate control mode rate control mode CBR, VBR, CRF (x264, x265, VPX)
- Implement graph data construction task based on check point
- DC-2靶场搭建及渗透实战详细过程(DC靶场系列)
- 高度剩余法
- Hash table
- APOC自定义函数和过程
- Vscode prompt Please install clang or check configuration 'clang executable‘
- Go development: how to use go singleton mode to ensure the security of high concurrency of streaming media?
- Understand ThreadLocal in one picture
猜你喜欢
"Cannot initialize Photoshop because the temporary storage disk is full" graphic solution
Interface fonctionnelle, référence de méthode, Widget de tri de liste implémenté par lambda
科普达人丨一文看懂阿里云的秘密武器“神龙架构”
Understand Alibaba cloud's secret weapon "dragon architecture" in the article "science popularization talent"
DC-2靶场搭建及渗透实战详细过程(DC靶场系列)
周大福践行「百周年承诺」,真诚服务推动绿色环保
嵌入式软件架构设计-函数调用
Overflow: the combination of auto and Felx
基于wifi控制的51单片机温度报警器
L1-072 scratch lottery
随机推荐
Understand Alibaba cloud's secret weapon "dragon architecture" in the article "science popularization talent"
GO开发:如何利用Go单例模式保障流媒体高并发的安全性?
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
System.currentTimeMillis() 和 System.nanoTime() 哪个更快?别用错了!
Understand ThreadLocal in one picture
电子元器件B2B商城系统开发:赋能企业构建进销存标准化流程实例
智慧物流园区供应链管理系统解决方案:数智化供应链赋能物流运输行业供应链新模式
APOC custom functions and procedures
一图看懂ThreadLocal
Median and order statistics
Why do you say that the maximum single table of MySQL database is 20million? Based on what?
. Net applications consider x64 generation
Interface fonctionnelle, référence de méthode, Widget de tri de liste implémenté par lambda
祝贺Artefact首席数据科学家张鹏飞先生荣获 Campaign Asia Tech MVP 2022
基于check-point实现图数据构建任务
Array filter fliter in JS
Research Report on market supply and demand and strategy of China's Sodium Tetraphenylborate (cas+143-66-8) industry
Statistical learning: logistic regression and cross entropy loss (pytoch Implementation)
Final consistency of MESI cache in CPU -- why does CPU need cache
Accounting regulations and professional ethics [8]