2022.10.11 闲话
闲话闲的没事就更一下,本来想多停更几天的 TAT
最近一直在想一个 Galgame つい・ゆり 〜おかあさんにはナイショだよ〜 /youl
Rolling_star 推的歌词:
逃避行
さよなら 逃避行
昨日の酔いも 覚めない君と
抜け出す街を 行こう
背負い込んだ重い過去も
飲み込んだ思いすらも
乗り越えた 乗り越えた 二人で
錆びついたこの心も
夢を見たあの気持ちと
飛び込んだ 飛び込んだ 二人で
さよなら 逃避行
昨日の酔いも 覚めない君と
抜け出す街を 行こう
さよなら 逃避行
「夢を見たいの」
泣き出す君と 抜け出す街を
行こう 行こう 行こう
大それたものじゃないの
泣いていたこの思いも
ただそれは
ただそれは
蓋をしたの 誰の声も
聞こえぬほど 君も溺れてく
夢を見たの 戻れないの
さよなら 逃避行
「君と居たいよ」
褪せない 日々と
抜け出す街を 行こう
さよなら 逃避行
「明日を見たいの」
先立つ 君と 抜け出す街を
行こう 行こう 行こう
未限定容量的 01 背包
全文集合均为可重集 .
题目描述
接力游戏
两个集合 ,第 个集合由 个二元组 组成,取 的子集 ,使得 .
问所有选取方案中, 最大的是什么,只需输出最大的 .
, .
对于 中的所有元素,令 ,则问题变成从一个集合 中选一个子集 ,使得 且 最大 .
这是一个 01 背包,只不过没有容量限制 .
令 ,则直接跑 01 背包的时间复杂度是 的,必然是过不去的 .
那么如何做呢?有些人采用一个邪教做法:
做法 1
将 按 排序,构成序列 .
令 表示前 个物品容量为 的答案,则 的上界为 .
那么以 为容量跑 01 背包即可 .
其实用时的量级就是 ,所以实际上时间复杂度还是 .
我们精细分析一下,复杂度卡满的情况显然就是 (注意这时 ),这时基本运行次数为
这样 1s 必然是跑不过去的 .
然而我们可以分两次,用两个 DP,分别跑 表示 或 集合内前 个跑到容量 的答案,那么两个 DP 分别用上面的方法做,这时基本运行次数为
感觉优化也只能优化为 啊,怎么可能过得去呢?可能 -O2 力量非凡吧……
好吧我们假设出题人的数据是随的,即 , 在 中均匀随机 .
则两次 DP 的期望运行次数(的一个上界)为
额,好像能过吧 /yun
做法 2
随机打乱原集合,然后 DP 时设阈值 ,过程中舍弃容量的绝对值 的状态 .
这样的时间复杂度为 , 取 左右就可以通过了 .
关于分析啥的,不想写了 .
这篇闲话是不是有点水啊……打算有朝一日写一个最大子段和的闲话 .
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/16758441.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义