首页 > 其他分享 >脱离昨日的夏日烟火落下时溅起回忆中的深夜雨

脱离昨日的夏日烟火落下时溅起回忆中的深夜雨

时间:2024-04-04 21:55:18浏览次数:18  
标签:字符 时溅 删除 夏日 有用 烟火 串中下 按中 我们

CF1852E Rivalries

首先,我们只关心每种数 \(x\) 出现的第一个位置和最后一个位置 \(l_x,r_x\)。

此时,若有两个数 \(x<y\),满足 \(l_x<l_y\leq r_y<r_x\),那么 \(x\) 就一点用没有,去除掉这些 \(x\) 之后,剩下的每种数一定至少在端点处是有用的,我们先把这些位置填了。

此时,对于有用的数 \(x\),其只能在 \([l_x,r_x]\) 内填数。

此时对于剩下的位置,一个显然的想法是,位置 \(i\) 填上所有 \(i\in [l_x,r_x]\) 的 \(x\) 最大值,记为 \(b_i\)。

但是事实上,我们还可以填一些没有用的数,但是要满足他们不影响现在的权重。

注意到若填了两种及以上不同的没用的数,我们不妨换成最大的一个,这样不仅和变大了,而且其也更不容易被计算到权重里,因此最多有一种没用的数,设为 \(c\)。

那么,一定存在一种有用的数 \(x\),满足 \(c<x\) 且 \(l_c<l_x\leq r_x<r_c\),我们不妨枚举 \(x\)。

此时贪心地,\(c\) 一定是填小于 \(x\) 的最大的 \(c\) 最好,我们先把 \(b_i>c\) 的先填上 \(b_i\) ,剩下的位置填上 \(c\) 。但是这样不一定合法 ,因为我们要保证 \(l_x,r_x\) 两侧各有至少一个 \(c\) ,如果已经有了就不用管了,否则选择 \(b\) 最小的一个换成 \(c\) 即可。

实现不是难点。

CF1835E Old Mobile

首先,因为我们可以记住按过的键,所以串里的字符只有第一次出现是有用的,所以我们去重之后求出 额外按键次数,然后加 \(n\) 就好了,去重之后字符之间没有区别,我们记作 \(1\to k\)。

我们把 \([1,k]\) 的字符称为 有用字符,\([k+1,m]\) 的字符称为无用字符。

考虑我们的策略是什么:

很明显这个删除键非常重要,因此我们分是否知道删除键的位置讨论:

知道删除键的位置

记 \(f_{i,j}\) 表示已经按出了 \(i\) 种无用字符, \(j\) 种有用字符的概率,\(F_{i,j}\) 为其期望次数。

  • 串中下一个字符我们已知,此时不需要额外按键次数,不转移
  • 串中下一个字符未知,那么我们就需要随机按一个
    • 按中一个无用的字符 需要先删掉,然后转移到 \(f_{i+1,j}\),花费的次数是 \(2\) 。
    • 按中一个有用的字符,但是不是串中下一个 需要先删掉,然后转移到 \(f_{i,j+1}\) 花费次数是 \(2\)
    • 按中一个有用的字符,且是串中下一个 不需要删掉,转移到 \(f_{i,j+1}\),花费次数 \(0\)

概率都是很好算的。

不知道删除键的位置

那么我们可能会打出一个不符合原串的后缀,并且一旦打出来第一个不符合原串的字符,我们接下来唯一的目的就是寻找删除键,然后把这些不符和的都删除。

记 \(g_{i,j}\) 表示已经按出了 \(i\) 种无用字符,\(j\) 种有用字符,且当前打出的字符完全符合原串的概率,\(G_{i,j}\) 为其期望。

记 \(h_{i,j}\) 表示已经按出了 \(i\) 种无用字符,\(j\) 种有用字符,且当前打出的字符至少有一个不符合原串的概率,\(H_{i,j}\) 为其期望。

\(g:\)

  • 串中下一个字符我们已知,此时不需要额外按键次数
  • 串中下一个字符未知,此时需要随机按一个
    • 按中删除键 转移到 \(f_{i,j}\),需要 \(2\) 的额外花费,因为需要把不小心删的打回来
    • 按中无用字符/有用但不对的字符 转移到 \(h\) 并且我们迟早会删掉这个字符,所以一定有 \(2\) 的代价
    • 按中有用且对的字符 转移到 \(g\),无额外代价。

\(h:\)

  • 串中下一个字符我们已知,此时不需要额外按键次数
  • 串中下一个字符未知,此时需要随机按一个
    • 按中删除键 转移到 \(f_{i,j}\) 并且误删的那个代价算过了,所以代价为 \(0\)
    • 按中别的字符 转移到 \(h\) 并且我们迟早会删掉这个字符,所以一定有 \(2\) 的代价

特殊注意一下\(i=j=0\) 时删除键不需要补代价。

最终的贡献,我们很明显一旦知道了其他 \(m\) 个键剩下的是什么也很清楚了,因此有不止一种合法终态。

标签:字符,时溅,删除,夏日,有用,烟火,串中下,按中,我们
From: https://www.cnblogs.com/jesoyizexry/p/18115000

相关文章

  • 017、夏日南亭怀辛大
    017、夏日南亭怀辛大唐●孟浩然山光忽西落,池月渐东上。散发乘夕凉,开轩卧闲敞。荷风送香气,竹露滴清响。欲取鸣琴弹,恨无知音赏。感此怀故人,中宵劳梦想。 【现代诗意译】南亭夏日想念辛大老友 山上的夕阳余光向西徐徐落下,池塘上明月慢慢从东方升起。 我披散着头发在......
  • 基于TSINGSEE青犀AI视频智能分析技术的山区林区烟火检测方案
    随着清明节的临近,山区、林区防火迫在眉睫,TSINGSEE青犀AI智能分析网关V4烟火检测算法利用物联网、人工智能、图像识别技术,有效监测和管理烟火活动,并在火灾发生的同时发出告警,通知护林员与管理人员。将山区林区的视频监控接入到AI智能分析网关V4并配置烟火检测算法,通过实时监控、......
  • 新能源汽车充电桩站点烟火AI识别检测算法应用方案
    新能源汽车作为现代科技与环保理念的完美结合,其普及和应用本应带给人们更加便捷和绿色的出行体验。然而,近年来新能源汽车充电火灾事故的频发,无疑给这一领域投下了巨大的阴影。这不禁让人深思,为何这一先进的交通工具在充电过程中会引发火灾事故。从技术层面来看,新能源汽车的充电系......
  • AI智能分析网关V4烟火识别技术在沿街商铺消防安全管理中的应用
    一、背景需求2024年3月13日,廊坊三河市燕郊镇一炸鸡店发生疑似燃气泄漏引发的爆燃事故,应急、消防、卫健等有关部门第一时间赶赴现场全力救援处置。目前现场搜救工作已经结束,事故善后处置、原因调查等工作正在进行中。本次事故也引发了社会大众的思考:为何商铺门店火灾、爆炸等事故......
  • TSINGSEE青犀AI烟火识别等算法打造电瓶车消防安全解决方案
    一、背景分析根据国家消防救援局的统计,2023年全国共接报电动自行车火灾2.1万起,相比2022年上升17.4%,电动自行车火灾安全隐患问题不容忽视。电瓶车火情主要问题和原因:电瓶车/电池质量良莠不齐用户安全意识薄弱,入户充电、飞线充电等规范化管理欠缺,电瓶车入户、进楼等情形频繁发......
  • 智能分析网关V4电瓶车检测与烟火算法,全面提升小区消防安全水平
    2024年2月23日,南京市某小区因电瓶车停放处起火引发火灾事故,造成巨大人员伤亡和损失。根据国家消防救援局的统计,2023年全国共接报电动自行车火灾2.1万起。电瓶车火灾事故频发,这不得不引起我们的重视和思考,尤其是在小区的管理中,电瓶车安全监管更是重中之重。随着科技的快速发展,AI视......
  • 残阳褪去纯白的地平线,烟火绽放燃尽的灼之花
    欧拉回路感觉自己学了个假的欧拉回路。trick1给定一个图,我们需要给每个边定向,使得每个点入度与出度差不超过\(1\)。\(sol:\)首先,因为有奇数点的存在,我们不能直接构造出欧拉回路。所以我们建立一个虚点,然后从所有奇数点和虚点连边,显然此时所有点度数都为偶数,我们跑欧拉回......
  • 烟火AI智能检测,让火灾无处遁形!
    一、方案背景近日,某县某校不幸发生火灾,目前已造成13人遇难,为此社会各界深感悲痛。在这一悲剧发生后,公众对火灾预防的关注度急剧上升。为了保障师生的人身安全和财产安全,越来越多的学校开始引入AI智能检测技术,通过运用AI智能烟火检测技术,对学校的周界、教室、走廊、公共区域、教学......
  • 安防监控平台LntonAIServer视频汇聚平台明烟明火识别 烟火算法检测告警
    LntonAIServer视频汇聚平台是一款基于人工智能技术的安防监控平台。它能够实时监控和分析视频数据,通过烟火算法检测告警,为我们提供及时、准确的安全信息。无论是在家庭、办公室,还是在公共场所,都能使用LntonAIServer。明烟明火识别是LntonAIServer视频汇聚平台的一大亮......
  • 安防监控平台LntonAIServer视频汇聚平台烟火算法检测
    在这个科技日新月异的时代,我们的生活被各种高科技产品所包围。其中,人工智能技术的出现,更是让我们对未来充满了期待。今天,我要为大家介绍的是一款名为“LntonAIServer”的视频汇聚平台,它采用了一种名为“森林烟火算法”的技术,为我们的环境安全提供了有力的保障。“森......