首页 > 其他分享 >2024暑期牛客多校第10场 D Is it rated?

2024暑期牛客多校第10场 D Is it rated?

时间:2024-08-25 20:26:45浏览次数:4  
标签:10 rated int 多校 dfs pb ++ vt ans

题目大意

有 \(n\) 场\(\textbf{按顺序}\)的比赛,第 \(i\) 场比赛有表现分 \(p_i\)。参加第 \(i\) 场比赛后你的分数 \(r\) 将变为 \(r\times(1-k)+k\times p_i\)。你可以选择最多 \(m\) 场比赛不参加。给定初始分数 \(r_0\) 和参数 \(k\)。问经过至少 \(n-m\) 场比赛后,分数最高是多少。

题解做法

根据数据范围 \(k\geq0.1\), 经过至多 200 场后之前的分数影响将在精度误差之内, 故只需要考虑最后 \(\min(m+200,n)\) 场比赛即可.

场上某大佬做法(可忽略 k 范围)

const int N = 1e6 + 5;
ll a[N];
db k, p[N];
#define vt vct<db>
vt dfs (int l, int r)
{
    if (l == r) rty {0, k * a[l]};
    int m = l + r >> 1;
    vt L = dfs (l, m);
    vt R = dfs (m + 1, r);
    int i = 0, j = 0;
    vt ans = {0};
    while (i + 1 < L.sz && j + 1 < R.sz)
    {
        if (L[i] * p[j + 1] + R[j + 1] > L[i + 1] * p[j] + R[j])
            j++, ans.pb (L[i] * p[j] + R[j]);
        else
            i++, ans.pb (L[i] * p[j] + R[j]);
    }
    while (i + 1 < L.sz ) i++, ans.pb (L[i] * p[j] + R[j]);
    while (j + 1 < R.sz ) j++, ans.pb (L[i] * p[j] + R[j]);
    rty ans;
}
void solve()
{
    cin >> n >> m >> k >> x;
    p[0] = 1;
    fo (i, 1, n) p[i] = p[i - 1] * (1 - k), cin >> a[i];
    vt rp = dfs (1, n);
    db ans = 0;
    fo (i, n - m, n)
    {
        ans = max (ans, x * p[i] + rp[i]);
//      print (x * p[i] + rp[i])
    }
    sp (12);
    ANS;
    rty;
}

用类似归并排序的方式来求区间内选择 \(1\sim len\) 场的最大得分.

分析: 在相同场次下, 不同的选取方式大小关系与初始分数无关. 基于原始 dp \(f_{i,j}\) 表示前 \(i\) 场, 选了 \(j\) 场参加的最大得分. 寻找性质快速合并.

下面来证明正确性:

标签:10,rated,int,多校,dfs,pb,++,vt,ans
From: https://www.cnblogs.com/xjtu-uuku/p/18379460

相关文章

  • lvm 扩容 pvresize -v /dev/vdb lvextend -l +100%FREE /dev/vgdata/lvdata
    以root用户登录弹性云主机。执行fdisk-l命令,查看系统是否正确识别扩容后的磁盘。具体回显如图所示:扩容前/dev/vdb的容量是10GB,扩容后为20GB。执行pvdisplay命令,查看LVM的物理卷相关信息。具体回显如图所示:/dev/vdb的容量是10GB,说明物理卷容量未增加。执行pvresize-v 磁......
  • 苍穹外卖项目DAY10
    苍穹外卖项目DAY101、SpringTask1.1、介绍SpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑定位:定时任务框架作用:定时自动执行某段Java代码只要是需要定时处理的场景都可以使用SpringTask1.2、cron表达式cron表示式其实就是一个......
  • Java基础课设,大作业,小游戏--------数字华容道[无偿提供源代码]100%可以运行
    成品游戏胜利1.准备图片0.png1.png2.png3.png4.png5.png6.png7.png8.png9.png10.png11.png12.png13.png......
  • 自适应seo高仿草民电影网源码 苹果cmsv10模板
    自适应seo高仿草民电影网源码 苹果cmsv10模板源码介绍自适应SEO高仿草民电影网源码是一款基于苹果CMSv10开发的模板,旨在为用户提供一个高度仿真的草民电影网站体验。该模板不仅在视觉设计上模仿了草民电影网的布局和风格,还特别优化了搜索引擎优化(SEO)功能,以提高网站在搜索引......
  • WIN10右键菜单:用特定程序打开文件夹-CSDN博客
    用Pycharm、Typora等程序打开文件夹时,通常来说需要先打开特定程序,然后选择打开指定文件夹;或者先打开单个文件,然后打开指定文件夹。这种方式很繁琐,但幸运的是有软件可以改变这一现状。​​Github仓库:https://github.com/BluePointLilac/ContextMenuManagerGitee仓库:http......
  • win10系统图片打开方式为照片查看器的方法
    众多win10用户都知道,当查看图片文件的时候,系统便会默认运行Metro风格的照片运用来打开图片。但是有许多用户更喜欢传统照片查看器来看图片,但是却不知道该怎么设置。小编今天这里就来为大家分享下设置win10系统图片打开方式为照片查看器的方法。工具/原料联想小......
  • 字符串值提取工具-10-java 执行表达式引擎
    值提取系列字符串值提取工具-01-概览字符串值提取工具-02-java调用js字符串值提取工具-03-java调用groovy字符串值提取工具-04-java调用java?Janino编译工具字符串值提取工具-05-java调用shell字符串值提取工具-06-java调用python字符串值提取工具-07-ja......
  • 每隔10分钟定时关闭并重启夸克网盘电脑客户端,防止下载器卡死宕机死机停止下载的AutoH
     每隔10分钟定时关闭并重启夸克网盘电脑客户端,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月14日 最近在MicrosoftWindowsServer2022戴尔服务器电脑上下载夸克网盘里的文件夹时发现一个问题,过一段时间后用向日葵控控A2连接服务器发现夸克客户端下载速度为......
  • Qt (10)【Qt窗口 —— 如何在窗口中创建浮动窗口和状态栏】
    阅读导航引言一、如何在窗口中创建浮动窗口1.浮动窗口的创建2.设置停靠的位置二、如何在窗口中创建状态栏1.状态栏的创建2.在状态栏中显示实时消息3.在状态栏中显示永久消息4.调整显示消息的位置,并加上进度条引言在上一篇文章中,我们一同探索了Qt窗口设计中的......
  • 你还不知道的提升情商的10个诀窍!
    情商的形成过程情商EQ形成于婴幼儿时期,成型于儿童和青少年阶段,它主要是在后天的人际互动中培养起来的。青春期是一个人的黄金时代,因为这是一个人走向成人的一个过渡时期。在这个时期,其学习和发展任务是非常重要的。但是,中学生由于面临着生理上、心理上的急剧变化,还有学业上的......