首页 > 其他分享 >qbxt 4179 积木中赛(block)

qbxt 4179 积木中赛(block)

时间:2023-09-23 16:00:16浏览次数:44  
标签:limits min max 4179 qbxt block 我们 dp 式子

原题

小 P 准备了一次预测活动,每个参与活动的人都可以在 PPP 队获胜,GGG 队获胜和平局三种结果中选择自己要预测的一种。如果第 \(i\) 个人预测正确,那么小 P 需要付给他 \(a_i\) 元,否则他需要给小 P 付 \(b_i\) 元。小 P 目前已经收到了 \(n\) 个人报名参加活动的信息,并知道他们每个人选择的结果与对应的 \(a_i,b_i\),现在小 P 可以任意选择是否允许某个人参加活动,他希望知道最坏情况下他能赚到的钱最多是多少。
\(n \leq 300, a_i, b_i \leq 300\)

假设 \(A_1, A_2, A_3\) 是三种情况中赢得比赛要付的钱, \(B_1, B_2, B_3\) 是输掉比赛要付的钱,那原题即要求:

\[\max\{ \min(B_1+B_2-A_3, B_1+B_3-A_2, B_2+B_3-A_1) \} \]

这是一个最大值最小的一个问题,但如果我们考虑二分答案后就会发现这个东西没法做了,因为对于里面的任意一个式子,他和 \(c_i=1,c_i=2,c_i=3\) 的三个状态都有关,我们无法在 \(dp\) 中低复杂度记录这些信息

我们现在想要干什么?我们现在想要对于 \(c_i\) 相等的情况互相独立,因此我们考虑化简一下式子:

\[\begin{align} & \max\{ \min(B_1+B_2-A_3, B_1+B_3-A_2, B_2+B_3-A_1) \} \\ =& \max\{ \min(B_1+B_2+B_3-A_3-B_3, B_1+B_2+B_3-A_2-B_2, B_1+B_2+B_3-A_1-B_1) \} \\ =& \max\{ B_1+B_2+B_3-\max(A_1+B_1, A_2+B_2, A_3+B_3) \} \\ \end{align} \]

我们发现这么一番转变后里面的式子里 \(c_i\) 相等的部分就被分开了,因此我们就可以分开 \(dp\) 了

具体的,对于 \(c_i\) 相等的部分我们直接 \(01\) 背包处理,设 \(dp_{o,i}\) 表示选了 \(\sum\limits_{c_j=o} a_j+b_j = i\) 的人时 \(\sum b_j\) 最大是多少。统计答案时可以枚举一个 \(l = \max(A_1+B_1, A_2+B_2, A_3+B_3)\) ,更新答案为 \(ans \leftarrow \max\limits_{i=0}^{l}{dp_{1,i}} + \max\limits_{i=0}^{l}{dp_{2,i}} + \max\limits_{i=0}^{l}{dp_{3,i}} - l\)

标签:limits,min,max,4179,qbxt,block,我们,dp,式子
From: https://www.cnblogs.com/fox-konata/p/17724507.html

相关文章

  • DesignWare Building Block IP学习
    DesignWareBuildingBlock1.基本介绍DesignWareBuildingBlockIP(以下简称DWBB),也叫做FoundationLibrary,是一个紧密集成在Synopsys综合环境中的可重用智能功能块集合。使用DWBB可以在综合时实现透明且高水平的性能优化。DWBB中含有大量组件,可以实现设计重用并显著地提升生......
  • 更新wsl,docker无法启动wrong fs type, bad option, bad superblock on cgroup, missi
    PSC:\Users\xxxx>wsl-vWSL版本:2.0.0.0内核版本:5.15.123.1-1WSLg版本:1.0.57MSRDC版本:1.2.4485Direct3D版本:1.608.2-61064218DXCore版本:10.0.25880.1000-230602-1350.mainWindows版本:10.0.22000.2295sudoservicedockerstartmount:/sys/fs/cgroup/cpuset:wron......
  • WPF TextBlock显示固定长度字符串
    页面中TextBlock控件内容 <TextBlockx:Name="name"HorizontalAlignment="Left"Text="{BindingName,Converter={StaticResourceStringMaxLenConverter},ConverterParameter=13}"TextWrapping="NoWrap"/>设置一个转换器,并且在页面中使用:<......
  • 科技云报道:分布式存储红海中,看天翼云HBlock如何突围?
    科技云报道原创。过去十年,随着技术的颠覆性创新和新应用场景的大量涌现,企业IT架构出现了稳态和敏态的混合化趋势。在持续产生海量数据的同时,这些新应用、新场景在基础设施层也普遍基于敏态的分布式架构构建,从而对存储技术提出了新的要求。正因如此,分布式存储凭借高安全性、可靠性、......
  • block中真实存储的数据oracle
    概念描述通常数据库的一张表会存储number、char等等类型的数据,这些数据通过select查询就能被人所识别,但是Oracle数据库存储这些数据的时候却不会“明文”存储。如果我们能把表对应的dbf表空间文件下载下来,再通过一些转换手段将dbf中的数据块内容转换成人能识别的“明文”,但首先必须......
  • 天翼云存储资源盘活系统HBlock,全面释放企业数据价值
    9月6日,天翼云与科技媒体InfoQ联合举办的以“存储难题新解法,揭秘极/致易用的HBlock”为主题的线上技术分享会圆满落幕。天翼云国际业务事业部研发专家武志民与存储产品线总监魏玮以“天翼云存储资源盘活系统HBlock,深挖独创技术亮点与实战演练”为主题,分享了HBlock在安装部署、数据......
  • 天翼云存储资源盘活系统HBlock,全面释放企业数据价值
    9月6日,天翼云与科技媒体InfoQ联合举办的以“存储难题新解法,揭秘极致易用的HBlock”为主题的线上技术分享会圆满落幕。天翼云国际业务事业部研发专家武志民与存储产品线总监魏玮以“天翼云存储资源盘活系统HBlock,深挖独创技术亮点与实战演练”为主题,分享了HBlock在安装部署、数据可......
  • Java多线程____BlockingQueue阻塞队列使用
    packagecom.frame.base.thread;importjava.util.concurrent.BlockingQueue;importjava.util.concurrent.ArrayBlockingQueue;/***并发编程____阻塞队列*/publicclassBlockingQueueTest{ publicstaticvoidmain(String[]args)throwsInterruptedException{......
  • RSA加密 too much data for RSA block
    场景:RSA加密//RSA加密 这样处理byte[]bytes=ci.doFinal(data.getBytes(StandardCharsets.UTF_8));returnBase64.getEncoder().encodeToString(bytes);//解密时这样处理byte[]bytes=ci.doFinal(Base64.getDecoder().decode(base64Data));returnnewString(bytes);......
  • codeblock安装及汉化教程
      1.双击图标   2.弹出如下对话框:  3、单击按钮Next,弹出如下对话框:  4、单击按钮IAgree,弹出如下对话框:  5、单击按钮Next,弹出如下对话框:  6、单击Browse按钮,可以重新设置安装路径  7、路径重新设置后,单击确定按钮弹出如下对话框(注意,此......