当前位置: 首页 > news >正文

7 月 30 日模拟赛总结 - sb

7 月 30 日模拟赛总结

A. 建筑升级

期望得分:100pts

实际得分:100pts

时间:40min

签到题都做这么久。。。依旧是没有想清楚到底要写什么才能维护需要的东西

B. 快速蜗蜗变换

期望得分:100pts

实际得分:20pts

时间:1h 35min

挂分原因:少判断了一种情况(拍子写挂了说是)

开始想的东西歪的离谱,把情况复杂化了好多,后来重新理了思路一下想明白了。最后写了个拍子结果数据生成器写挂了,恐怖的是平常都会检查生成数据合不合法,这次竟然没有去检查。

C. 互不相同

期望得分:9pts

实际得分:9pts

时间:剩余全部

硬是没有想到区间的两个端点之间的数必须两两不同,赛时想了一堆毫无意义的东西,连这么简单的性质都没发现。

D. 运货

期望得分:0pts

实际得分:0pts

看了一眼不会就没想过了

实际上通过率比 C 高一点,暴力也更多分,真是亏嘛。

Solution1:

发现如果 dp 的话从前面转移具有后效性,那么可以选择从后面往前转移

\(f_{i, j}\) 表示考虑后面 \(i\) 个物品,选择 \(j\) 个物品的最小负载。那么有转移 \(f_{i, j} = \min(f_{i + 1, j}, f_{i + 1, j - 1} + w_i)\),那么 \(n^2\) 做法就出来了。这个可以用平衡树维护

Solution2:

ylx 的神仙做法。首先有结论:当 \(k\) 从大到小时,删掉的数相较于 \(k + 1\),只删掉了一个。删掉的这个数的充要条件显然是:\(w_i\) 大于 \(i\) 之后选的 \(w_j\) 的和。注意到可选的 \(i\) 只有 \(log n\) 个,那么直接枚举删掉的最大的数,用线段树维护修改即可。好像是可以 \(log n\) 的,但是暂时还不会

http://www.sczhlp.com/news/2005/

相关文章:

  • 7-30破防
  • [JOI 2023 Final] 迷宫 / Maze
  • JPEG图像原理与应用|库的移植
  • 软工作业day29
  • DeepChat使用MCP-Hub 案例六 (结合FastMcp案例四)
  • webapi第五天
  • 完整教程:WPF的一些基础知识学习记录
  • 普通用户修改repo文件下载rpm包
  • MX galaxy Day14
  • 【Could not find Chrome This can occur if either】
  • ModelGate 支持 Claude Code,一键设置AI编程助手,开发效率极速提升!
  • linux storage stack 学习
  • JAVA语言学习总结(第29天)
  • 7.28闲话
  • MX galaxy Day17
  • 1111111111111111111111111111111111111111 - 苦瓜大王
  • IDEA初步了解
  • 读书笔记:Oracle数据库连接与进程的奥秘
  • 7
  • 7.30随笔
  • 回溯算法实现全排列2
  • CF1456E XOR-ranges 题解
  • Feign - Charlie
  • 进程间通信(IPC)机制详解
  • TTS-1技术报告:基于Transformer的文本转语音模型
  • 兴业寰宇人生卡
  • 幻兽帕鲁服务器部署完整指南 - sherlock
  • 基于PaddleOCR的图像验证码快速识别实践
  • 每天阅读30分钟-阿里测试之道读书笔记(一)(二)
  • webapi第三天