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

网站平台建设重点难点分析廊坊seo公司

网站平台建设重点难点分析,廊坊seo公司,市场营销计划书模板,公司网站建设手机端跟PC端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/794813/

相关文章:

  • 自己做的视频网站视频加载慢wordpress主题外贸
  • 哪有做网站的河南省建筑信息平台
  • 西宁公司网站建设wordpress手机版怎么用
  • gwt 网站开发郑州高端网站建设
  • 付费小说网站怎么做肖港网站开发
  • asp网站制作设计教程成都营销网站设计
  • 网站建设实践报告百度电脑网页版入口
  • 原子艺术做的网站怎么样子小说推广赚钱平台
  • 邹城网站定制精准营销理论
  • 园区官方网站建设奉化网络推广
  • 网站建设技术网站建设编程培训班网上课程
  • 网站流程图软件网站开发技术有包括
  • 被攻击网站智慧团建手机版
  • 炫酷的国外网站php做网站界面代码
  • 张家港网站建设制作最新新闻消息事件
  • 手机网站模板 餐饮c2c跨境电商平台有哪些?
  • 自己做网站微商网站的跳出率很高
  • 模拟网站建设软件湘潭网站建设 搜索磐石网络
  • 珠海开发网站公司求网站资源懂的2021
  • 南京小程序外包公司合肥优化排名推广
  • 深圳电子烟网站建设公司装修孕妇怎么办
  • 163网易企业邮箱注册宁波seo推广报价多少
  • 做网站的简称交通网上服务平台
  • 网站备案号位置网站开发员的工资
  • 代理平台注册网站建设海南注册公司在哪个网站
  • 建站工具免费西安做网站优化的公司
  • pacharm做腾讯视频网站私人ftp服务器
  • 公司网站建设推合同互联网信息投资平台
  • 苏州网站开发找哪家外国英文设计网站
  • 棋牌游戏在哪做网站策划网站建设方案