首页 > 其他分享 >ABC353 | 如同流星划过天空

ABC353 | 如同流星划过天空

时间:2024-05-12 14:41:33浏览次数:22  
标签:10 color max checkmark times ABC353 划过 green 流星

ABC353 | 如同流星划过天空

A. & B.

依题意模拟即可。

C.

注意只有 \(f(x,y)\) 需要对 \(10^8\) 取模,\(f\) 的求和不需要。

关注到 \(a_i \in [1,10^8)\),故 \(a_i + a_j \in [2,2 \times 10^8)\)。

从而 \(f(x,y)=[x+y<10^8](x+y)+[x+y\ge 10^8](x+y-10^8) = x+y -10^8[x+y\ge 10^8]\)。

只需统计有序对 \((i,j)\) 使 \(a_i + a_j \ge 10^8\) 的对数即可。

枚举 \(i\),\(j\) 的个数是在值域上一个后缀和,容易做到 \(O(n)\)。

\(\color{green}{\checkmark}\)

D.

把式子变形成 \(f(x,y)=x\times 10^{\lceil\log_{10}y\rceil}+y\),然后拆和式即可用缀和优化。

\(\color{green}{\checkmark}\)

E.

多串 LCP 让我们想到 Trie 树。

考虑将 \(f(x,y)\) 的贡献挂在 \(y\) 上。

考虑在 Trie 树上插入的过程,每次匹配一位,我们就将在当前位失配字符串数乘上匹配长度贡献给答案即可。

\(\color{green}{\checkmark}\)

F. \(\color{#DB7D74}{\star}\)

感受那股劲。

先感受一下,曼哈顿距离是可能的答案。当 \(k=1\) 时这就是答案。

\(k>1\) 时,考虑大格子会对答案产生什么影响。

感受一下,随着 \(k\) 变大,最优方案直接穿过 \(k\times k\) 的小格子的个数断然不增。因为我们能从大格子绕路。

用一下官方题解的图:

当 \(k\) 较大时,通过左边这种方式绕路代替直接穿过是更优的。具体计算知,当 \(k=2\) 时,直接穿过更优,\(k>2\) 时,绕路更优。

那就做完了。

\(\color{green}{\checkmark}\)

G.

dp,\(f_{i,j}\) 表示已经考虑了 \([0,i)\) 的交易,目前位于 \(j\) 城市。

考虑第 \(i\) 个交易 \((T,p)\) 的转移。

首先要有 \(f_{i+1}=f_i\),含义是原地不动。

然后是 \(f_{i+1,T}=\max\limits_{j\in[0,n)}\{f_{i,j}-|j-T|\times C\}+p\)。

把绝对值拆开,变形:\(f_{i+1,T}=\max\{\max\limits_{j\in[0,T)}\{f_{i,j} +jC\}-TC+p,\max\limits_{j\in[T,n)}\{f_{i,j}-jC\}+TC+p\}\)。

考虑用数据结构优化转移,发现我们要做的是单点修改,求前后缀最大值,开两颗 BITS 分别维护 \(f_{i,j} \pm jC\) 即可。

注意由于答案是 \(\max{f_{i,j}}\),所以不能在 BITS 上查全局最大值作为答案,要把每次转移时计算出的 \(f_{i+1,T}\) 取最大值作为答案。

\(\color{green}{\checkmark}\)

标签:10,color,max,checkmark,times,ABC353,划过,green,流星
From: https://www.cnblogs.com/BK0717/p/18187810

相关文章

  • ABC353C Sigma Problem 题解
    ABC353CSigmaProblem题解题目链接:AT题目中的两个求和符号\(\sum_{i=1}^{N-1}\sum_{j=i+1}^{N}\)实际上是在枚举所有的有序数对\((i,j)\)。而有序数对的个数\(N(N-1)/2=O(N^{2})\),真的去枚举所有数对肯定会T。这时应该考虑去拆贡献,求出每个\(A_i\)对答案的贡献。......
  • ABC353E字典树处理最长公共前缀
    https://atcoder.jp/contests/abc353/tasks/abc353_e其实就是字典树板子题。似乎遇到最长公共前缀,就该想到字典树。依次加入每个字符串:维护一个数组siz来统计在当前串之前的串在对应点的出现次数。手模一下字典树的建树过程,显然如果当前串\(S_i\)能跑到一个曾经串\(S_......
  • ABC353
    不知道为啥有断更了一周...Ewoc,怎么跟我出的题目这么像先把字符串扔到一个Trie里面,然后对于每一个点我们考虑这一个点到根节点组成的字符串能是多少对字符串的最长公共前缀。我们定义\(cnt_u\)表示共有多少个字符串的结尾在以\(u\)为根的子树内。对于\(u\)节点,其贡献......
  • 2024年4月5日-UE5-怪物被击中会停止移动,流星火雨,引导施法技能制作、随机数
    在角色总类的蓝图里,创建一个变量 然后在怪物总类这里,设置受到伤害则设置为被击中状态,先停止移动,然后播放动画完毕,取消被击中状态 然后行为树里也要修改,没有死亡,没有被击中状态才执行行为树,使用个OR命令 现在开始制作流星火雨技能效果在输入这里新建一个流星火雨 ......
  • 【月伴流星】Win10 LTSC 2021 完整版+商店版+适量精简版多合一安装版2024.01
    采用微软官方2021.11发布的Windows10企业版LTSC2021初始版制作,集成KB5033372KB5011050等2023年12月最新补丁,系统版本号升级至19044.3803恢复NETFramework3.5系统支持,恢复IE11系统支持启用SMB1.0共享,打印等系统支持集成VC2005-2022_x86/x64、DirectX_9.0c_x86/x64等系......
  • 流星
    importpygameimportrandomimportsys#初始化pygamepygame.init()#定义常量SCREEN_WIDTH=800SCREEN_HEIGHT=600NUM_METEORS=10MAX_SPEED=10MAX_LENGTH=80MIN_LENGTH=40#定义流星类classMeteor:def__init__(self):self.x=ra......
  • 测试策划过程
    测试策划(TestPlanning,TP)过程用于制订测试计划。根据该过程在项目中的实施时机,可以是项目测试计划或特定阶段的测试计划(例如系统测试计划)或特定测试类型的测试计划(例如性能测试计划)。制订测试计划需要执行如下图中的各项活动。通过执行定义的活动可以获得测试计划的内容,并......
  • PMP - 规划过程组
    制定项目管理计划->规划xx管理制定项目章程:收集需求(用户语言描述)定义范围(可交付成功)制定WBS(分解)制定WBS-定义活动-1、排序活动顺序2、估算活动持续时间-制定进度计划(网路图+资源+时间)制定WBS-规划采购管理制定WBS-规划成本管理-1、规划人力资源管理(估......
  • 【月伴流星】Win10_11_22H2完整+精简多合一安装板2023.04
    本次同时制作Windows10,Windows11两个版本,每个版本亦分为:“集成完整驱动版"和"集成网卡驱动”版,并都已合成可启动光盘iso,支持刻录光盘直接光驱安装,亦可进PE后用UltraISO提取install.win镜像WinNTSetup进行安装!适合技术批量装机,真正做到一盘在手装机无忧!         ......
  • 【月伴流星】Win10+Win11 22h2 专业精简版合集2023.04(速度贼快)
     本精简版为重度精简,不支持更新!删除了所有WinSxS内的组件硬链接,使WinSxS的体积由原来的的6G一下子缩小到60M左右,完全丧失了组件恢复功能,相当于删除了组件备份!而保留的下来组件完全不受影响均可正常使用!------------------------------------------系统为Win10+Win11精简专业版合......