首页 > 其他分享 >P10432 [JOISC 2024 Day1] 滑雪 2

P10432 [JOISC 2024 Day1] 滑雪 2

时间:2024-06-13 16:10:34浏览次数:27  
标签:P10432 高度 Day1 2024 JOISC 连接器

My Blogs

P10432 [JOISC 2024 Day1] 滑雪 2

感觉是挺好的观察性质题,vp 的时候场切了。

首先酒店一定是建在最低的某一个点。把高度离散化之后,把点扔到对应的位置。可以发现高度为 \(i\) 的层的所有点,如果能接上一层的连接器那一定会尽量接上(因为到了下一层它本身也可以贡献一个空的连接器)。

设 \(v_i\) 是高度为 \(i\) 的点里最小的 \(C\),则从 \(1\sim i\) 的高度中选择一个搭连接器的代价就是 \(\min_{1\leq j\leq i} v_j\)。原因很简单,\(i-1\) 层一定会有若干个未用的连接器,相同情况下肯定是对 \(C\) 较大的对他进行升高高度的操作,所以 \(C\) 最小的一定会留在当前层。

这样就可以 DP 了。设 \(f_{i,j,k}\) 表示当前高度在第 \(i\) 层,前 \(i-1\) 层有 \(j\) 个连接器可用,并且有 \(k\) 个高度小于 \(i\) 的点的高度被加到了 \(i\) 的最小代价。

假设当前层有 \(x\) 个点,直接把每个 \(k\) 加上 \(x\) 即可。转移可以从 \(1\sim i-1\) 新建一个连接器上来转移到 \(f_{i,j+1,k}\),可以不再新建直接往下转移到 \(f_{i+1,j,\max(0,k-(h_{i+1}-h_i-1)\times j)}\)。总复杂度是 \(\mathcal O(n^3)\)。

有一个小细节,因为 \(i\) 层加连接器的时候只能从前 \(i-1\) 层建,所以离散化的数组里不仅需要有 \(h_j\),还应有 \(h_{j+1}\)。代码找不到了 QwQ。

标签:P10432,高度,Day1,2024,JOISC,连接器
From: https://www.cnblogs.com/WrongAnswer90/p/18246128

相关文章

  • 2024.5.30
    8-2【Python0026】图书评论数据分析与可视化分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】豆瓣图书评论数据爬取。以《平凡的世界》、《都挺好》等为分析对象,编写程序爬取豆瓣读书上针对该图书的短评信息,要求:(1)对前3页短评信息进......
  • 2024.5.29
    8-1【Python0025】中国大学排名数据分析与可视化分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】以软科中国最好大学排名为分析对象,基于requests库和bs4库编写爬虫程序,对2015年至2019年间的中国大学排名数据进行爬取:(1)按照排名......
  • 文献精读_2024.06.13
    Universalandextensiblelanguage-visionmodelsfororgansegmentationandtumordetectionfromabdominalcomputedtomography来源:https://doi.org/10.1016/j.media.2024.103226GitHub仓库:https://github.com/ljwztc/CLIP-Driven-Universal-Model第一眼,仓库上面放......
  • 2024.6.1
    8-4【Python0028】分段函数图形绘制分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】已知,在区间绘制该分段函数的曲线,以及由该曲线所包围的填充图形。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。......
  • 2024.5.31
    8-3【Python0027】函数图形绘制分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】设,,,其中,完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制y1、y2和y3三条曲线;(2)在同一绘图框内以子图形式绘制y1、y2和y3三条曲线。【练习要求】......
  • 2024.5.11
    8-3【Python0004】验证6174猜想分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得......
  • 2024.5.13
    8-5【Python0006】爬楼梯分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法。【练习要求】请给出源代码程序和运行测试结果,源代码程......
  • 2024.5.15
    8-7【Python0008】筛法求素数分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。【输入......
  • 2024.5.14
    8-6【Python0007】杨辉三角形分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】输出n(0<n)行杨辉三角形,n由用户输入。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。【输入格式】一行中输入1个整数n。【输......
  • 2024.5.17
    8-9【Python0010】正整数的因子展开式分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】编写程序,输出一个给定正整数x(x>1)的质因子展开式。【输入格式】请在一行中输入整数x的值。【输出格式】对每一组输入的x,按以下格式输出x的质因子......