首页 > 其他分享 >2024.10.21训练记录

2024.10.21训练记录

时间:2024-10-21 19:23:05浏览次数:8  
标签:pre nxt 2024.10 冰箱 棒冰 21 训练 位置 ans

上午 NOIP模拟赛

A

猜了结论。
一个一个数做。当前这个数插进去的时候,设前驱为pre[i],后继为nxt[i]。
设 \(x = max(a[pre[i]], a[nxt[i]]),y = min(a[pre[i]], a[nxt[i]])\)。
则:
当 \(a[i] > x\) 时,\(ans += a[i] - x\);
当 \(a[i] < y\) 时,\(ans += y - a[i]\);
否则 \(ans\) 不变。
不变还是好理解的,因为原来的方案里面 \(x\) 加到 \(y\) 的过程把 \(a[i]\) 包含了。
其他时候感觉可以理解成把 \(a[i]\) 和 \(x\) 或者 \(y\) 先并成一个数,再按照原来的方案操作。
考试的时候一下就想到了这个结论,但是数组开小了,还是写太快了/qd。100 -> 40,输。

B

考试的时候写了个假的 dp,输。
考试后学习了 @QAQfj5 的超绝单调队列。

考虑维护一个冰箱。
把所有能选的棒冰都尽量塞进冰箱里。

对于当前的 \(i\),如果吃到的棒冰是在位置 \(j\) 买的。那么每根棒冰在 \(j\) 买完再保存到 \(i\) 耗费的代价就是 \(p[j] + (i - j) * m\)。
显然要选这个代价最小的位置来买棒冰。把 \(i * m\) 提出来,剩下的就是 \(p[j] - j * m\)。把这个丢进单调队列里面维护,就可以得到代价最小的 \(j\)。

如果冰箱容量不限。显然每次取队头就可以。
考虑怎么维护冰箱的容量。
考虑对于每一天的棒冰,在冰箱里存它能买的最大个数。
具体实现就是在单调队列里塞二元组。
\({x, y}\) 表示在位置 \(x\) 买的棒冰,最多还存着 \(y\) 根。
每次对于位置 \(i\),先从队头开始吃存着的棒冰,如果存货不够再新买来吃。
最后用第 \(i\) 个位置买的棒冰填满冰箱。此时填的个数就是维护出了位置 \(i\) 最多存几根棒冰在冰箱里。

按照思路就能把代码实现。非常好贪心。
反省一下,考试的时候首先不能打错暴力,否则优化也是前功尽弃。
其次,也不能被自己想的 dp 束缚,积极考虑人类智慧做法。

标签:pre,nxt,2024.10,冰箱,棒冰,21,训练,位置,ans
From: https://www.cnblogs.com/docxjun/p/18490076

相关文章

  • 20241021
    今天的模拟赛打的比较舒服。但是还要早起跑操+早读+升旗就不太好。去升旗之前做了第一题,简单的模拟,感觉这很符合cspsT1的难度啊,之前的感觉都有点难了。【贪吃蛇】题意:思路:直接用桶记录蛇的位置,考虑怎么记录加和减操作,可以考虑用STL,但是直接维护两个指针也可以。代码:#incl......
  • 2024-10-21 学习人工智能的Day11
    1.基础1.1概念NumPy的全称是“NumericPython”,它是Python的第三方扩展包,主要用来计算、处理一维或多维数组在数组算术计算方面,NumPy提供了大量的数学函数NumPy的底层主要用C语言编写,因此它能够高速地执行数值计算NumPy还提供了多种数据结构,这些数据结构能够非......
  • ZZJC新生训练赛第六场题解
    先给出比赛链接:下面说一下难度分层:(同一难度下按字典序排序)Easy(简单):BHMedium(中等):DEHard(困难):AGAnti-AK(防AK):CFA扣分扣分扣分!扣分!二维前缀差分板子题题目要求对二维区间加某个数或者查询二维区间的和与一维前缀和类似地,我们定义$sa[i][j]$为区间(......
  • PMP--必刷题–解题–121-130
    文章目录14.敏捷--产品待办事项列表121、[单选]项目经理使用混合型方法来遵守监管要求。规划和收尾阶段将使用预测型方法,而执行阶段将使用迭代方法。在第二次冲刺评审期间,项目发起人要求对一些产品待办事项列表的优先级进行变更。作为服务型(仆人型)领导者,项目经理应该做......
  • 2024/10/21
    CF213ETwoPermutations考虑枚举\(x\),我们每次就只考虑值在\([1+x,n+x]\)的数单独拿出来,看他们是否与\(a_i+x\)相同即可。具体实现时,我们可以通过一棵平衡树来快速插入和删除一个数,并用Hash来维护序列信息。CF961Fk-substrings串的中心不会改变,所以答案总的改变量不......
  • 2024/10/21日工作总结
    实现jdbc的MySQL数据库连接;实现过程:在测试代码中导入数据库驱动jar包(mysql-connector-j-9.1.0.jar);注册驱动:"com.mysql.cj.jdbc.Driver";获取连接:"jdbc:mysql://localhost:3306/test",传入本地用户名称和密码;定义sql执行代码:更改数据库表格中的数据(updatetestsetmoney=100......
  • jdk7u21 链子分析
    jdk7u21链子分析java中的反序列化大部分时候都依靠第三方组件漏洞,原生链子很少,今天分析其中条:7u21反序列化链子分析环境:Java7u21原生链反序列化要求jdk版本低于7u21,其他的什么第三方依赖都不需要。可以下载jdk源码,引入方法和cc1一样,下载地址:https://hg.openjdk.org/jdk7......
  • WUH721816AL硬盘fio测试不达标问题
    【问题描述】WUH721816AL(西数16T SATA盘)硬盘,在关闭写缓存的情况下,使用fio测试256K1m顺序写时存在性能低的问题(实测数据约80mb/s在客户标准测试满足200MB/s通过)【原因分析】机械盘对单个fio下发多job测试性能没有offset_increment=int参数时不合理,因为单个fio下发多个......
  • Meta 最新 SPIRIT-LM:语音文本无缝转换还能懂情绪;字节回应实习生破坏大模型训练:网传损
        开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表......
  • 24.10.21 FH
    没保存,CaO抢救了一下,详见mysol:A打表。1I2IIVX3IIIIVVIIX4VII5VIII剩余的加X,再加2火柴即可注意没有40!完整:1I2IIVX3IIIIVVIIXXI4VIIXIIXVXX5VIIIXIIIXIVXVIXIXXXI6XVIIXXIIXXVXXX7XVIIIXXIIIXXIVXXVIXXIXXXXI8XXVII......