当前位置: 首页 > news >正文

图片制作在线生成器免费版网站建设优化服务策划

图片制作在线生成器免费版,网站建设优化服务策划,域名备案要多久,沈阳城乡建设工程信息网https://codeforces.com/contest/2063/problem/C 牢记一棵树上两个节点如果相邻,它们有一条边会重叠,两个节点延伸出去的所有不同边是两个节点入度之和-1而不是入度之和,那么如果这棵树上有三个节点它们的入度都相同,那么优先选择非相邻的两个节点才能使所有不同边的数量最大!!…

https://codeforces.com/contest/2063/problem/C
牢记一棵树上两个节点如果相邻,它们有一条边会重叠,两个节点延伸出去的所有不同边是两个节点入度之和-1而不是入度之和,那么如果这棵树上有三个节点它们的入度都相同,那么优先选择非相邻的两个节点才能使所有不同边的数量最大!!

然后思路就是:暴力

template<class Info>
struct SegmentTree {int n;std::vector<Info> info;SegmentTree() : n(0) {}SegmentTree(int n_, Info v_ = Info()) {init(n_, v_);}template<class T>SegmentTree(std::vector<T> init_) {init(init_);}void init(int n_, Info v_ = Info()) {init(std::vector(n_, v_));}template<class T>void init(std::vector<T> init_) {n = init_.size();info.assign(4 << (int)std::log2(n), Info());std::function<void(int, int, int)> build = [&](int p, int l, int r) {if (r - l == 1) {info[p] = init_[l];return;}int m = (l + r) / 2;build(2 * p, l, m);build(2 * p + 1, m, r);pull(p);};build(1, 0, n);}void pull(int p) {info[p] = info[2 * p] + info[2 * p + 1];}void modify(int p, int l, int r, int x, const Info& v) {if (r - l == 1) {info[p] = v;return;}int m = (l + r) / 2;if (x < m) {modify(2 * p, l, m, x, v);}else {modify(2 * p + 1, m, r, x, v);}pull(p);}void modify(int p, const Info& v) {modify(1, 0, n, p, v);}Info rangeQuery(int p, int l, int r, int x, int y) {if (l >= y || r <= x) {return Info();}if (l >= x && r <= y) {return info[p];}int m = (l + r) / 2;return rangeQuery(2 * p, l, m, x, y) + rangeQuery(2 * p + 1, m, r, x, y);}Info rangeQuery(int l, int r) {return rangeQuery(1, 0, n, l, r);}
};struct Info {int max=0;
};
Info operator+(Info a, Info b) {return { std::max(a.max,b.max) };
}void solve() {int n;std::cin >> n;std::vector<Info>a(n);std::vector<std::vector<int>>adj(n);for (int i = 0; i < n - 1; i++) {int u, v;std::cin >> u >> v;u--;v--;a[u].max++;a[v].max++;adj[u].push_back(v);adj[v].push_back(u);}SegmentTree<Info>t(a);int ans = 0;for (int i = 0; i < n; i++) {t.modify(i, { 0 });for (int j = 0; j < adj[i].size(); j++) {int x = adj[i][j];t.modify(x, { a[x].max - 1 });}ans = std::max(ans, a[i].max + t.rangeQuery(0, n).max);t.modify(i, { a[i]});for (int j = 0; j < adj[i].size(); j++) {int x = adj[i][j];t.modify(x, { a[x].max });}}std::cout << ans-1 << "\n";
}int main() {std::ios::sync_with_stdio(false), std::cin.tie(0), std::cout.tie(0);int t = 1;std::cin >> t;while (t--) {solve();}return 0;
}

http://www.yayakq.cn/news/732996/

相关文章:

  • 公司做网站需要什么内容昌都网站建设
  • 河南新乡市建设银行网站建筑类网站建设
  • 网站seo优化心得wordpress怎么添加虚拟浏览量
  • 学校门户网站建设必要性兰州网站网站建设
  • 网站首页tdk怎么做物流公司网站开发与淘宝对接 在淘宝卖家中心显示物流信息
  • 深圳高端网站建设报价西安凤城二路网站建设
  • 绍兴网站制作软件中国机床行业
  • 天津教育网站官网微网站设计尺寸
  • 深圳企业推广网站排名化妆品公司的网站建设的利益分析
  • 做律师网站的网络公司海曙网站制作
  • 做租号玩网站赚钱吗学网站开发要什么基础
  • 韩国网站never官网wordpress怎么登
  • 西安网站建设招标asp.net网站开发代码
  • 网站建设价格对比单阜新市建设学校管方网站
  • 网站建设 美词原创谁用fun域名做网站了
  • 网站程序开发费用wordpress 自己写
  • 利用淘宝做网站卖货到国外网站建设对策
  • 网站建设资金的请示设计之家官方网站
  • 网站怎么上传到空间营销客户管理软件
  • 超级外链工具有用吗长沙企业网站seo
  • 建设在线教育网站免费公益云主机
  • 需求网站建设店铺logo图片免费
  • 建网站大公司专业福州网站建设
  • 网站自行备案学做网站要会哪些
  • 网站注册系统怎么做站长统计入口
  • 做网站原型图是用什么软件网站界面设计规则
  • 广州网站备案要审核多久网络科技扣钱是咋回事
  • 购物网站开发的管理可行性小程序推广有哪些好的方法
  • 只做原创内容平台网站汽车推广软文
  • 祖庙网站建设公司温州网站建设风格