首页 > 其他分享 >AtCoder Beginner Contest 221 F Diameter set

AtCoder Beginner Contest 221 F Diameter set

时间:2023-05-10 22:14:33浏览次数:64  
标签:Diameter set frac 个点 Beginner AtCoder 重合 子树 根时

洛谷传送门

AtCoder 传送门

显然,选出的每两个点都要组成一条直径。

还是显然,每条直径的重合部分只可能是一个点或一条边。简单证一下,没有重合显然不可能,重合超过一个点或一条边,直径会更长。

进一步发现,设直径点数为 \(x\),如果 \(x \nmid 2\),重合部分是一个点,否则重合部分是一条边。

  • 如果重合部分是点 \(u\),答案为 \(\prod\limits_{v, (u,v) \in E} (f_v + 1) - a - 1\),其中 \(f_v\) 为 \(u\) 为根时 \(v\) 的子树中有多少个点与 \(u\) 的距离为 \(\frac{x-1}{2}\),\(a\) 为整棵树中有多少个点与 \(u\) 的距离为 \(\frac{x-1}{2}\)。大概意思就是每个点可选可不选,最后减去 \(|S| \le 1\) 的 \(S\)。

  • 如果重合部分是边 \((u,v)\),答案为 \(f_u \times g_v\),其中 \(f_u\) 为以 \(v\) 为根时 \(u\) 的子树中有多少个点到 \(u\) 距离为 \(\frac{x}{2} - 1\),\(g_v\) 为以 \(u\) 为根时 \(v\) 的子树中有多少个点到 \(v\) 距离为 \(\frac{x}{2} - 1\)。

时间复杂度 \(O(n)\)。

标签:Diameter,set,frac,个点,Beginner,AtCoder,重合,子树,根时
From: https://www.cnblogs.com/zltzlt-blog/p/17389478.html

相关文章

  • set, multiset 和 unordered_set, unordered_multiset
    (39条消息)set,multiset和unordered_set,unordered_multiset_unordered_set求并集_张松超的博客-CSDN博客其次抄了点一、使用前提引入头文件:#include<unordered_set>11二、unordered_set是什么unordered_set容器,可直译为“无序set容器”。即unordered_se......
  • R语言EG(Engle-Granger)两步法协整检验、RESET、格兰杰因果检验、VAR模型分析CPI和PPI
    全文链接:http://tecdat.cn/?p=31108最近我们被客户要求撰写关于VAR模型的研究报告,包括一些图形和统计输出。作为衡量通货膨胀的基本指标,消费者价格指数CPI和生产者价格指数PPI的作用关系与传导机制一直是宏观经济研究的核心问题。对此问题的研究显然具有重要的学术价值与现实意......
  • AntDesign Blaozr标签页ReuseTabs的使用以及授权失败的坑
    123<Authorized><ReuseTabsDraggableSize="TabSize.Small"/></Authorized><NotAuthorized>@{NavigationManager.NavigateTo("......
  • [记录一下]lazarus memdataset的filter问题
    在lazarus使用memdataset时,如果filter按下面的方法是得不到想要结果:MEMDataSet1.Filtered:=false;MEMDataSet1.Filter:='tasknameLike'+quotedstr('%'+Edit4.Text+'%');MEMDataSet1.Filtered:=true;最后在官网找到解决办法:unitUnit1;{$modeobjfpc}{$......
  • matlab绘图中set函数的使用汇总
    Matlab绘图中set函数使用汇总%设置标题字体大小,字型set(get(gca,'title'),'FontSize',10,'FontName','宋体');%设置X坐标标题字体大小,字型set(get(gca,'XLabel'),'FontSize',10,'FontName','TimesNewRoman');%设......
  • set
    双关键字set排序#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#include<set>usingnamespacestd;#defineINF0x3f3f3f3fintmain(){set<pair<int,int>>s;s.insert......
  • AtCoder Beginner Contest 206(Sponsored by Panasonic)(E,F)
    AtCoderBeginnerContest206(SponsoredbyPanasonic)(E,F)E(容斥,gcd)E这个题大意就是给出一个\(l\)和一个\(r\),寻找满足以下条件的一对数\((x,y)\)的数量\(gcd(x,y)!=1\)\(gcd!=x\)并且\(gcd!=y\)(从这一句我们可以知道\(x\)不可能被\(y\)整除)那么我们可以设\(x\)是\(t\)的倍......
  • AtCoder Beginner Contest 217 G Groups
    洛谷传送门AtCoder传送门不妨钦定组之间的顺序是最小值越小的组越靠前,这样可以给每个组按顺序编号。设\(f_{i,j}\)为考虑了模\(m\)后\(<i\)的数,目前有\(j\)个非空组的方案数。转移就是枚举模\(m=i-1\)的数新开了\(k\)个组,设\(\len\)的数中模\(m=i-1......
  • Method com/mysql/jdbc/JDBC4ResultSet.getObject(Ljava/lang/String;Ljava/lang/Clas
      mybatis-plus生成的日期类型默认是localdatetime,数据库是datetime,按道理转换应该可以,我又不想把实体类转换成date查看依赖<--locadate/locadatetime的时间依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-ty......
  • Solution Set - “请背诵每条魔法的禁忌”
    目录0.「HAOI2018」「洛谷P4494」反色游戏1.「JSOI2010」「洛谷P6029」旅行2.「CTSC2017」「洛谷P3774」最长上升子序列⭐3.「CTSC2018」「洛谷P4566」青蕈领主⭐4.「CTSC2008」「洛谷P4528」图腾5.「SDOI2017」「洛谷P3779」龙与地下城6.「JSOI2018」「洛谷P4558......