博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ciel the Commander CodeForces - 321C (树, 思维)
阅读量:5065 次
发布时间:2019-06-12

本文共 685 字,大约阅读时间需要 2 分钟。

大意: 给定n结点树, 求构造一种染色方案, 使得每个点颜色在[A,Z], 且端点同色的链中至少存在一点颜色大于端点 (A为最大颜色)

 

直接点分治即可, 因为最坏可以涂$2^{26}-1$个节点, 所以方案一定存在

#include 
#include
#include
#include
#define REP(i,a,n) for(int i=a;i<=n;++i)#define pb push_backusing namespace std;typedef long long ll;const int N = 4e5+10, INF = 0x3f3f3f3f;int n, sum, rt;int mx[N], sz[N], vis[N];vector
g[N];char buf[N];void getrt(int x, int fa) { mx[x]=0, sz[x]=1; for (int y:g[x]) if (!vis[y]&&y!=fa) { getrt(y,x),sz[x]+=sz[y]; mx[x]=max(mx[x],sz[y]); } mx[x]=max(mx[x],sum-sz[x]); if (mx[x]

 

转载于:https://www.cnblogs.com/uid001/p/10403101.html

你可能感兴趣的文章
OC第六节 遍历集合、数组排序
查看>>
手机是如何实现自动对焦的?
查看>>
页面未加载完时报的错误
查看>>
C语言实现简单线程池
查看>>
Ubuntu安装
查看>>
javaScript解决Form的嵌套
查看>>
Application
查看>>
监控Activity的启动等状态--- 源码级
查看>>
firefox 开发sdk
查看>>
QMsgPack的用法DEMO
查看>>
HDU 4350
查看>>
hdu 2795(单点改动)
查看>>
SQL中读取Excel 以及 bpc语言
查看>>
F1 score,micro F1score,macro F1score 的定义
查看>>
VC++ 删除当前读取行 代码
查看>>
数据库相关命名规范
查看>>
自定义view组件
查看>>
Nutch的日志系统
查看>>
Object C学习笔记19-枚举(转)
查看>>
格式化字符串
查看>>