首页 > 其他分享 >2021 昆明 F

2021 昆明 F

时间:2022-11-30 19:34:44浏览次数:56  
标签:int double ans fa 2021 res 昆明 size

Find the Maximum

题链
整理题意发现就是找一个连通块 然后让他的平均绝对值最大
平时的背包都是n2的 显然不能做了
我们考虑猜一些结论
当时我想的就是可能最多不会很多点
比如我们要是次大与最大挨着显然很好
要是离一个点比如 10 1 10 我们拿着显然也很好
要是离两个点比如 10 1 1 10这样显然不如就拿一般好算一点
我们继续想要延长这个比如先是一个大的比如 1e10 0 后面我们得让他吃到好处
就必须大于1e5
1e10 0 1e5+1 1e5+1 我们发现这样就都选下界我们都是只要右边两个就可以了
我们猜测就只有2 3个点再连通块里就可以了
然后对每个点分类讨论一下就可以了

int n,w[N];
double ans=-2e9,res=2e9;
vector<int>g[N];
void dfs(int u,int fa){
    vector<int>a;
    for(auto v:g[u]){
        if(v==fa)continue;
        dfs(v,u);
        a.push_back(w[v]);
    }
    sort(all(a),greater<>());
    int mx1,mx2,mn1,mn2;
    if(a.size())mx1=a[0],mn1=a.back();
    if(a.size()>=2)mx2=a[1],mn2=a[a.size()-2];
    if(a.size()>=2)ans=max(ans,(double)(mx1+w[u]+mx2)/3);
    if(a.size()&&fa)ans=max(ans,(double)(w[fa]+w[u]+mx1)/3);
    if(a.size())ans=max(ans,(double)(w[u]+mx1)/2);
    if(a.size()>=2)res=min(res,(double)(mn1+w[u]+mn2)/3);
    if(a.size()&&fa)res=min(res,(double)(w[fa]+w[u]+mn1)/3);
    if(a.size())res=min(res,(double)(w[u]+mn1)/2);
}
void solve(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>w[i];
    for(int i=1;i<n;i++){
        int u,v;cin>>u>>v;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    dfs(1,0);
    printf("%.8lf",max(ans*ans,res*res)/4);
}

标签:int,double,ans,fa,2021,res,昆明,size
From: https://www.cnblogs.com/ycllz/p/16939512.html

相关文章

  • 2021SWPUCTF-WEB(一)
    gift_F12给了一个网站,题目提示是F12,就F12找一下​WLLMCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft}jicao一个代码,逻辑很简单​大概就是通过POST的方式传一个参数id=w......
  • Flutter vs React Native:哪个是2021年的最佳选择?
    转载https://baijiahao.baidu.com/s?id=1710194842067466597&wfr=spider&for=pc计划在2021年进行响应式开发?但不确定应该选择哪种技术来快速且低成本的开发应用程序?如果......
  • DTCC | 2021中国图数据库技术大会链接分享
    DTCC|2021中国图数据库技术大会链接分享​​DTCC|2021中国图数据库技术大会链接分享​​​​一、新一代分布式架构​​​​二、数据流通与数据交易​​​​三、业务模型......
  • Istio Meetup China(2021-7)课件学习
    张伟(华为云容器网格数据平面技术专家)交流视频学习:​​Envoy原理介绍及线上问题采坑-张伟_哔哩哔哩_bilibili​​1、五元组<源IP地址、目的IP地址、协议号、源端口、目的端口......
  • CVE-2021-42287、CVE-2021-42278 漏洞复现——名词解析
    DNSlogDNSlog就是存储在DNS服务器上的域名信息,它记录着用户对域名www.baidu.com等的访问信息,类似日志文件LDAPLDAP的全称是LightweightDirectoryAccessProtocol......
  • 2022-2023-1 20211319[202213]《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程 <班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业要求在哪里 <作业要求的链接>https://www.cnblogs.com/roce......
  • 题解 P7623 [AHOI2021初中组] 收衣服
    我还在小学的时候以现在初中名义我大五十牛逼参加了这次,然后身败名裂死磕这道题不会,现在觉得自己好傻啊233333显然这是要统计每个区间的贡献,所以我们可以打出来这个暴力,......
  • kali2021.4a安装angr(使用virtualenv)
    在Linux中安装各种依赖python的软件时,最头疼的问题之一就是各个软件的python版本不匹配的问题,angr依赖python3,因此考虑使用virtualenv来安装angrVirtualenv简介virtualen......
  • Blog Statistics Dec 1, 2021 - Nov 26, 2022
    1.OverviewDataDate:Dec1,2021-Nov26,2022Numberofarticles:48AllPlatformTotalVisits:340,000+(ThesearticeswerealsopublishedatWeChatOffic......
  • 2021 陕西省赛 C - GCD // 整除分块
    题目来源:2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛题目链接:https://ac.nowcoder.com/acm/contest/35232/C题意给定三个整数\(l\)、\(r\)、\(......