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

网站建设公司咋样桂林市区有什么好玩的地方景点

网站建设公司咋样,桂林市区有什么好玩的地方景点,app和网站的区别是什么,自己注册公司的流程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/476747/

相关文章:

  • 英迈思做的网站怎么样国外著名网站建设公司
  • 河北建设厅录入业绩的网站wordpress主题插件下载失败
  • 济源市住房和城乡建设局网站做ppt的网站有哪些
  • 自己建一个网站需要多少钱?做网站需要哪些技术支持
  • html5 企业 网站广东东莞市
  • 网站建设方案样本asp.net网站设计分工
  • 招商网站建设简介网上推广平台
  • 网站跳转到另外一个网站怎么做莱州一中网站
  • 女与男做那个的视频网站网站空间是不是服务器
  • 用手机怎么做网站顺企网下载安装
  • 公司网站必须做可信认证吗沧州建设银行招聘网站
  • 谷歌收录网站福州 哈尔滨网站建设 网络服务
  • 手机作网站服务器网站用什么颜色
  • 做蛋糕视频教学网站网站搭建心得体会
  • 网站开发合同存在的缺陷网站建设成果
  • 如何创建网站下载登录页面设计模板
  • 网站开发能自学吗wordpress简单论坛
  • 南山的网站建设公司wordpress页面模板链接
  • 西宁网站设计我的网站在百度搜不到
  • 免费做网站怎么做网站吗vs做网站添加背景
  • 做seo 教你如何选择网站关键词查看网站开发
  • 视频网站自己做服务器学生服务器租用
  • 潮汕美食网站怎么做陕西做天然气公司网站
  • 品牌管理公司网站建设网站建设注册小程序
  • 青浦集团网站建设wordpress分类目录插件
  • 广西建设厅网站是什么做照片书网站好
  • pop布局网站搜索引擎外部优化有哪些渠道
  • 网站用什么做可以建站的网站
  • 淘宝客网站模板下载呼和浩特最好的互联网公司
  • 如何建设一个新的网站付费内容网站