今天的比赛很有感触,所以来写一下题解:

T1可以发现一些规律是:面积扩大的速度显然比周长扩大的速度快,然后就可以枚举周长来看能为成的面积,其实最优的情况一定是六边型的情况,通过手膜我们可以发现对于边长是c的六边型,每增加一个周长,也就是增加6次就会变成c+1的六边型,这其中的六次增加每次所围成的面积的增加量分别是c-1,c,c,c,c,c+1,具体的画一下图就可以看出来了!

然而考试的时候我并没有画图,我来大概的说一下考试的思路,其实如果不想看可以直接看下一道T2,可以自动跳过,反正也不是啥正解,而且WA了

考试的时候我就想一定是六边型的情况是最优的,但是我是枚举中间的最长的那个的长度,然后就会发现这其中就是一个多峰函数(注意不严谨,打表发现会出现断崖式下降的情况,反正对拍的时候三分锅了!)然后我就通过找到最优的中间值来求解这个问题,但是我少考虑了一种极其sb的情况就是n==3的时候,会发现,我只会构造类6边形的的图形,所以锅了(此时发现$n==3$锅了的时候是距考试结束还有4分钟的时候,心态已经没了!)

正解就是上面说的,我的代码打的比较鬼畜!

T2 其实自己觉得挺大神的,大佬勿喷!

T2我们把它建出来边就会发现他是一棵内向基环树:就是这样的一棵树

然而在题目的部分测试环境中,会因为其中有不优的边而变成一棵数,那么我们想一下一个点会不会被取的情况:其实对于一棵树来说我们都可以取到,(注意又是不严格的,准确的说是除了叶子节点都能取到)因为要取他只会取他的父亲,但是他本身的数量并不改变,对于树的情况就直接硬搞就可以了(然而我太弱了,考试的时候硬搞都写错了!)

那么对于一棵基环树我们应该咋办能!套路式的断掉一条环上的边,那么我们究竟断哪条边呢?

我们可以对于一棵基环树如果环上的边小于树上的边,那么这个边一定不优,就可以断掉这条边,从而变成一棵树,然后就可以硬搞了,

对于没有这种情况的,就要找环上的边与树上的边的权值差最小的边,然后干掉他!

这样做显然是对的!

至于实现,我们不妨维护每一个点的最大的和次大的儿子,然后直接dfs,就这样就可以了;维护最大和次大的思路还是没有想到!

T3 鸽鸽鸽咕咕咕!

m113的更多相关文章

  1. win10 uwp 车表盘 径向规

    车表盘就是有刻度的圆盘加上针,这个控件可以直观让用户知道当前的速度或其他 看名字不知道是什么,我就放一张图 使用很简单,在Nuget,Radial Gauge 要使用大神做的,简单,在使用我们需要在N ...

  2. hbot固件配置

    又入了一台打印机,171到手,本来之前有更好的,无奈别人下手太快,只剩这台了. 175x135x180的样子. 创客的板,还带16g的闪迪内存卡,看到那会儿感觉赚大了! 拿到的时候不少螺丝松的,有的打 ...

  3. ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息

    ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 ///  ...

  4. 动态svg效果

    import React from 'react'; import TweenOne from 'rc-tween-one'; import SvgDrawPlugin from 'rc-tween- ...

  5. 基础的python数据分析

    1. 单行注释 #print("hello word;") 2. 多行注释 ''' print("hello word;") print("hello ...

  6. 2019-9-2-win10-uwp-车表盘-径向规

    title author date CreateTime categories win10 uwp 车表盘 径向规 lindexi 2019-09-02 12:57:38 +0800 2018-2-1 ...

  7. Linux部署.NetCore站点 使用Supervisor进行托管部署

    前言 之前终于在Linux上部署好了.NetCore站点,但是这个站点非常“脆弱”.当我的ssh连接关闭或者我想在当前连接执行其他命令时候就必须关闭dotnet站点的执行程序.这显然不是我想要达到的效 ...

随机推荐

  1. 02-18 scikit-learn库之k近邻算法

    目录 scikit-learn库之k近邻算法 一.KNeighborsClassifier 1.1 使用场景 1.2 代码 1.3 参数详解 1.4 方法 1.4.1 kneighbors([X, n ...

  2. 同步与互斥_percpu变量

    percpu变量的关键就是:要求根据CPU的个数,在内存中生成多份拷贝,并且能够根据变量名和CPU编号,正确的对各个CPU的变量进行寻址. 采用per-cpu变量有下列好处:所需数据很可能存在于处理器 ...

  3. python编程基础之九

    原码, 反码, 补码原码,即用二进制表示正数: 原码 == 反码 == 补码负数: 反码: 原码除符号位之外全部取反 补码: 反码 + 1 位运算:运算符 作用 & 按位与 | 按位或 ^ 按 ...

  4. e课表项目第二次冲刺周期第七天

    昨天干了什么? 昨天我查找相关的资料实现对之前的信息连接数据库进行显示,完成修改的功能,并且返回到数据库当中.然后下午,我和我们小组的成员,讨论了第二个界面的具体功能和布局,我们一致同意,引用之前的第 ...

  5. 聊聊 Vue 中 axios 的封装

    聊聊 Vue 中 axios 的封装 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在 ...

  6. ubuntu下安装及配置git的方法

    安装Git 一个全新的ubunt系统,需要安装Git(系统是不具有该工具的),方法如下: 在terminel中输入如下命令: sudo apt-get install git git-core git ...

  7. 蓝牙TWS耳机IBRT的原理初分析

    最近在倒腾TWS对耳的一些东西,看到一些源码,发现一个新概念,IBRT没有搞清楚,抱着吾将上下而求索的态度,详细看了一些代码,查了一些资料,还是发现了不少有价值的信息的.至少,我突然感觉自己懂了一些什 ...

  8. Git上传到gitlab现有分支

    [场景]gitlab上已经创建了分支,将本地的文件上传到该分支下 gitlab上的现有分支branch_new 在需要上传的文件夹下打开git命令窗口 # 克隆远端分支到本地 git clone -b ...

  9. Tomcat 的单机多实例配置

    有时候需要在一个服务器上部署多个Tomcat,通过不同的端口进行区分,比如,反向代理.但是不想简单的通过复制Tomcat来实现,这样既不方便以后的升级也不方便管理,那么这时候就需要配置Tomcat的单 ...

  10. vue——父子组件间传值

    (1)父组件给子组件传值(商品详情页): 根据订单类型,判断显示立即购买/立即拼单: 通过props来传递参数 父组件(商品详情页) 父组件调用子组件,在子组件的标签中,通过:数据名称=”数据”的形式 ...