noip2007解题报告
T1.统计数字
给出n个数,统计每个数字出现的个数。
n小,快排解决。
T2.字符串的展开
给出一个字符串,其中形如 d-h,4-9之类的就展开,(前面比后面小的保留,相等也是),三个参数,P1表示大小写,1为小,2为大,3为*,P2重复个数,P3正序倒序,1正。
模拟展开即可
T3.矩阵取数游戏
m*n的矩阵,每次从每行取一个数,且只能从行首和行尾取,每个数的分数是 数的值*(2^k),k=第k次取数。
由于每行互不影响,我们可以分别对每行进行分析,dp[i][j] = max{dp[i+1][j]+a[i]*2^x, dp[i][j-1]+a[j]*2^x};
但是考虑到x可能较大,所以要用高精度。
T4.树网的核
设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称T为树网(treenetwork),其中V, E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点。
路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a,b)表示以a,b为端点的路径的长度,它是该路径上各边长度之和。我们称d(a,b)为a,b两结点间的距离。
一点v到一条路径P的距离为该点与P上的最近的结点的距离:
d(v, P)=min{d(v, u),u为路径P上的结点}。
树网的直径:树网中最长的路径称为树网的直径。对于给定的树网T,直径不一定是唯一的,但可以证明:各直径的中点(不一定恰好是某个结点,可能在某条边的内部)是唯一的,我们称该点为树网的中心。
偏心距ECC(F):树网T中距路径F最远的结点到路径F的距离,即
ECC(F)=max{d(v,F),v∈V}。
任务:对于给定的树网T=(V, E,W)和非负整数s,求一个路径F,它是某直径上的一段路径(该路径两端均为树网中的结点),其长度不超过s(可以等于s),使偏心距ECC(F)最小。我们称这个路径为树网T=(V,E,W)的核(Core)。必要时,F可以退化为某个结点。一般来说,在上述定义下,核不一定只有一个,但最小偏心距是唯一的。
下面的图给出了树网的一个实例。图中,A-B与A-C是两条直径,长度均为20。点W是树网的中心,EF边的长度为5。如果指定s=11,则树网的核为路径DEFG(也可以取为路径DEF),偏心距为8。如果指定s=0(或s=1、s=2),则树网的核为结点F,偏心距为12。
求给定树网的最小偏心距。
说实话读懂题目(难于登天),思路还是清晰的
先Floyd求路径长度,然后找直径(每条都要找出来)。然后枚举直径上每条小于s的路径,判断标准是:
然后对这条路径求偏心距(判断是否是路径上的节点和上面类似)。最后取一个最小值。
![](/assets/blank.gif)
-----------------------2017.4.30新更
今天又做了一遍这个题,发现了一些很有趣的性质:满足最小偏心距的路径一定在直径上,并且属于所有直径交叉部分的一段(还是经过中心来着??)。然后就可以直接枚举所有小于等于s的路径找偏心距了。
比如说有两条直径,它们一定是交叉的,而且一定经过中心或是中心所在的路径。假设交叉的部分长度为L1,直径剩余部分为L2。
显然有:每个点与其距离最远的点必定是某直径的端点。
所以说,如果符合条件的路径没有经过某个交叉点:在公共部分,最小偏心距<=L2,;在非公共部分,最小偏心距>=L2.
那么符合的路径一定在公共部分更优。而经过交叉点的路径最小偏心距至少是L1,而对于不完全在公共部分的路径,其偏心距拥有同样的下界L1。
由此可以发现【可以吗我还真不知道,求大佬给出严谨推理orz】枚举可能的核,然后找最小偏心距就A了【然而是A了】
转载于:https://www.cnblogs.com/zcyhhh/p/5943891.html
noip2007解题报告相关推荐
- 2021-09-07 停课集训R8解题报告
停课集训R8解题报告 小萌新到第5天才有空写题解,心都碎了 哼,哼,啊啊啊啊啊啊啊啊啊啊啊啊! R8:DP初级1 实话说,以前DP是我最讨厌的类型. 今天只A了2道题.可以说是十分痛苦 T1 问题 A ...
- uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)
线段树成段更新操作及Lazy思想(POJ3468解题报告) 标签: treequerybuildn2cstruct 2011-11-03 20:37 5756人阅读 评论(0) 收藏 举报 分类: ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...
- 解题报告(三)多项式求值与插值(拉格朗日插值)(ACM / OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(十三)中国剩余定理(ACM / OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(四)生成函数(ACM/ OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(八) prufer 序列与 Cayley 公式(ACM / OI)超高质量题解
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 解题报告(一)E、(BZOJ4589)Hard Nim(博弈论 + FWT)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
最新文章
- 简述平均池化和最大池化
- K. Easy Sigma(类欧几里得)
- 用户登录成功后才进入主窗口进行其他操作
- linux arm 虚拟机,ARM平台上实现Linux内核虚拟机技术研究
- 一次debug过程描述
- 国外字体设计师也是蛮重视数学的
- EximiousSoft Logo Designer (Crack)版,轻松设计logo的软件
- 几种常用的差异分析方法简介
- STM32L0系列之ADC采集
- 神经网络正向与反向传播
- acc--›Android无障碍开发手势操作
- python算法工程师书籍_在自学的情况下如何成为一名算法工程师?
- VIM编辑基础及其他知识点
- 关于如何下载E都市三维地图的教程
- 三种简单的数字倒叙方式
- 专栏结语:基于spring cloud的工具栈
- Linux常用命令——jed命令
- Android7.0分屏功能
- 数据挖掘教程:什么是数据挖掘?技术,工艺
- 计算机类sci四大水刊,生信类文章可以投四大水刊吗
热门文章
- 大数据平台比较-CDH、HDP、CDP
- BC2.0 以太坊应用技术交流01(不炒币,不传销)
- fuzz简单学习笔记
- 给你的Hexo博客添加说说页面
- asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
- Altium Designer/AD 添加自定义快捷键的方法
- 让工资涨的快的小技巧
- 网页设计实验三(超链接与多媒体文件应用)
- EKF_SLAM简析
- 向基类构造函数传递参数的(两种方法)