首页 > 其他分享 >划船问题

划船问题

时间:2024-04-16 22:02:31浏览次数:11  
标签:同性 以此类推 匹配 右子 划船 问题

题意:

每个人有一个名字和一个姓氏,同名或同性可以做一条船,一条船最多做 2 人,求最少需要多少条船。

思路:

显然是匹配问题,但是朴素的匹配太慢了。

我们考虑如何优化。

人类智慧:我们建一个二叉树,以任意人为根,然后选一个和他同性的连在右子,同名的连在左子,以此类推。

不难发现我们现在可以将匹配转化为树上问题。

从下往上贪心,如果当前节点是某个右儿子,则我们让其子树内部匹配,最多多出一个人未匹配,则让这个人必须是右子树的,以此类推。

然后就可以在 \(O(n)\) 时间内解决这个问题了。

标签:同性,以此类推,匹配,右子,划船,问题
From: https://www.cnblogs.com/rlc202204/p/18139318

相关文章

  • AI换脸:FaceFusion 3.5.0更新,解决老版本无法使用问题!
    好久不见!闲话不多说,今天主要是通知一下FaceFusion两个版本的更新。更新内容如下:V3.5.0帧着色器:使用来自ddcolor和deoldify的先进模型,为黑白或低色彩素材添加色彩。这些模型利用深度学习技术生成逼真且美观的着色效果。改善唇同步效果:从音频中更清晰、更准确地提......
  • 正负消除问题
    题意:有一个\((2n+1)\)大小的正方形,每个位置放着+或-,每次可以选取一个排列\(p_i\),将\((i,p_i)\)改变状态。证明:一定可以使得最后-不超过\(2n\)个。思路:这个操作比较复杂,我们先考虑简化。不难想到用两次操作一起来抵消某些操作,经过观察,我们发现两次操作可以使得的......
  • 解决禁用启用按钮不管用的问题
     这两个不一样导致前端没办法更改状态所以我用了JacksonObjectMapper使用这个实现JAVA对象转换为json对象publicclassJacksonObjectMapperextendsObjectMapper{publicstaticfinalStringDEFAULT_DATE_FORMAT="yyyy-MM-dd";publicstaticfinalString......
  • 初次使用SpringBoot3遇到的一些问题
    打开网址https://start.spring.io/  选择版本依赖等信息 本机环境原先装了个jdk8,由于SpringBoot3最低支持jdk17,所以本机环境上又装了个jdk17   https://www.oracle.com/java/technologies/downloads/#java17出于怀旧,jdk8还保留着,并且环境变量还是jdk8,只是在idea里吧......
  • 洛谷题单指南-数学基础问题-P1403 [AHOI2005] 约数研究
    原题链接:https://www.luogu.com.cn/problem/P1403题意解读:计算1~n每个数的约数个数之和。解题思路:1、数学方法1~n的约数范围也在1~n,要计算每个数的约数个数之和可以从约数出发,比如约数是x,那么在1~n中一共有n/x个数包含x这个约数x从1一直枚举到n,就可以得出每个约数是多少个......
  • 洛谷题单指南-数学基础问题-P3601 签到题
    原题链接:https://www.luogu.com.cn/problem/P3601题意解读:求l~r范围内所有qiandao(x)之和,qiandao(x)为小于等于x的数中,与x不互质的数的个数。注意取模。解题思路:欧拉函数定义:phi(x)=x*(1-1/p1)*(1-1/p2)*...*(1-1/pn),p1,p2...pn为x的所有质因子其中:phi(x)表示1~x中所......
  • uniapp踩坑:编译H5解决浏览器跨域问题
    uniapp编译到app是不存在跨域问题的,但是编译到H5就会有跨域问题。记录一下工作中遇到跨域及解决跨域方法方法一:直接编译Hbuilder内置浏览器,能解决跨域,但是内置浏览器调试没有谷歌爽方法二:在manifest.json文件中配置跨域,该方法类似vue.config.js中的devServer 步骤一"......
  • 工作中遇到的问题
    1.封装的图片上传组件,传值进去监听不到,一开始考虑是动态表单异步生成数据,一是不是响应式或者是失去响应式,后面排查到是监听属性的懒监听2.父组件调取了更新接口,子组件没有改变,这是需要手动强制刷新子组件,方法:动态组件is,v-if销毁,:key触发重新渲染,this.$foreUpdate触发子组件更......
  • jenkins的搭建及问题处理
    Jenkins搭建第一步本文讲述的本人搭建Jenkins的流程及遇到的坑及处理方法1.搭建Linux操作系统为sentosJenkins版本为24稳定版操作命令:sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat-stable/jenkins.reposudorpm--importhttps://pkg.jenkin......
  • Chrome跨域问题:查看图片报错has been blocked by CORS policy: The request client is
    Chrome跨域问题:hasbeenblockedbyCORSpolicy:Therequestclientisnotasecurecontextandtheresourceisinmore-privateaddressspaceprivate已被CORS策略阻止:请求客户端不是安全上下文,资源位于更私有的地址空间私有问题原因:公网资源(访问者)访问私网资源......