首页 > 其他分享 >2024.10.22 鲜花

2024.10.22 鲜花

时间:2024-10-22 21:33:54浏览次数:1  
标签:守望 2024.10 22 鲜花 不再 删掉 右边 一个 考虑

列表 题解

你从未离去
浩瀚星空里
只剩你的背影
银河已凝结成冰
记忆滑过泪滴
想象能回到过去
终会存在我心底
虽然逃避
她消失在梦里
日出的幻境
再次感觉到你
风送来你的呼吸
月色倒映着惊喜
原来你从未离去
默默守护在这里
无声无息
如影随形
我不再迷茫
思念是唯一的行囊
漫天的星光
有一颗是你的愿望
前方的路不再孤单漫长
天空下你我不再守望
轻声歌唱
在我身旁
日出的幻景
再次感觉到你
风送来你的呼吸
月色倒映着惊喜
原来你从未离去
默默守护在这里
无声无息
如影随形
我不再迷茫
思念是唯一的行囊
漫天的星光
有一颗是你的愿望
前方的路不再孤单漫长
天空下你我不再守望
轻声歌唱
在我身旁
我不再迷茫
思念是唯一的行囊
漫天的星光
有一颗是你的愿望
前方的路不再孤单漫长
天空下你我不再守望
轻声歌唱
在我身旁

其实昨天顶真就让写了,但一直没时间,今天补上来得及吗 QwQ?

但好像就算写了也基本没人看的懂。

首先先考虑题面在干啥,相当于是先选最中间的,如果删掉左边一个,就选一个右边,如果删掉右边一个就选上左边。

显然答案具有单调性,考虑二分区间长度,枚举左端点 \(L\),将在答案区间的点在原序列标记成 \(1\),否则是 \(0\)。

于是问题转化为如何判断是否能取到所有 \(1\)。

考虑双指针 \(l,r\) ,初始时 \(l=n\) 和 \(r=n+2\) 处,表示下一次可能选的值,显然每次是尽可能删掉近的 \(0\),且不能删 \(1\),考虑若 \(l,r\) 中有一个是 \(0\),则一定是删掉 \(0\) 使得 \(l,r\) 同时向左右跳一个,若是都是 \(1\),就是删掉左边或右边最近的一个,使另一边跳一个,容易发现删掉左边和右边是一样的,最后跳到头证明都能取,否则一定有一组 \(1\) 卡住了不能都取。

模拟即可达到 \(O(n)\) 的复杂度。

考虑优化,发现在枚举 \(L\) 时每次只会增删一个值,考虑动态维护判断。

首先发现在都是 \(1\) 时指针的跳动不对称,考虑改变操作,变为将最近的 \(0\) 变成 \(1\),两边同时跳一个,容易发现其剩余对于序列没有变化。

于是将两边一起考虑,当值是 \((0,0),(0,1),(1,0)\) 时直接跳,当值是 \((1,1)\) 时要将后面一个 \(0\) 变成 \(1\)。

发现只有 \((1,1)\) 可能会卡住,考虑 \((0,1)\) 改掉一个 \(0\) 会变成 \((1,1)\),并不会有贡献,\((1,0)\) 同理,只有 \((0,0)\) 可以消掉一个。

设 \((1,1)\) 的贡献为 \(1\),\((0,0)\) 的贡献是 \(0\),因为大于 \((1,1)\) 个数的 \((0,0)\) 不会有贡献,于是问题变成了从前往后依次加,动态对 \(0\) 取 \(max\)。

这是一个经典问题,考虑 冲刺CSP联训模拟2——星空遗迹 的做法,将对 \(0\) 取 \(\max\) 拆掉,问题变成最后是依次加的历史最小值,可以线段树上二分,也可以维护前缀和后区间加区间 \(\min\)。

P


标签:守望,2024.10,22,鲜花,不再,删掉,右边,一个,考虑
From: https://www.cnblogs.com/xrlong/p/18493795

相关文章

  • 20222304 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    一、实验内容1.1知识回顾堆栈结构和堆栈变化EIP:存储下一条指令;EBP:栈底指针;ESP:栈顶指针。栈溢出的三种方法:修改栈中邻接变量;修改函数返回地址;代码植入。shellcode构建RET返回地址;NOP空(0X90);shellcode调用shell;NSR模式;RNS模式;RS模式缓冲区溢出的防范技术源程序检查:静态检......
  • 2024/10/22日 日志 --》关于Maven的基础学习 笔记整理
    今天正式步入Maven的学习,以下是基本的笔记整理。点击查看代码--Maven--·Maven是专门用于管理和构建Java项目的工具,它的主要功能有:--·提供了一套标准化的项目结构--·提供了一套标准化的构建流程(编译,测试,打包,发布...)--·提供了一套依赖管理机制--·......
  • 2024.10.22训练记录
    上午NOIP模拟赛最近每天上午都是模拟赛了,感觉每打一场信心都少了。确实有全力认真打,\(4\)个小时不是磨洋工过去的,但是有时候就是不能想出来。思维题也太电波了。A很厉害的dp技巧题,基本是会这个trick就会吧。\(O(nm)\)的复杂度可以过掉这个弱化版。对于几个数加起来有固......
  • 20241022每日一题洛谷P1223
    普及洛谷P1223接水问题有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小第一行为一个整数n,第二行n个整数,第i个整数Ti表示第i个人的接水时间Ti输出两行,第一行为一种平均时间最短的排队顺......
  • Day22--下标越界及小结
    Day22--下标越界及小结数组的四个基本特点:长度是确定的,一旦被创建,大小不可改变。元素必须是相同类型,不允许混合类型。元素可以是任何数据类型,包括基本类型和引用类型。在Java中,数组对象在堆中。数组边界数组边界特点如下:下标的合法区间为[0,length-1],如果越界就......
  • 2024.10.22模拟赛反思
    2024.10.22模拟赛反思怎么感觉题目越简单打的越差啊?\(T1\)没什么好说的,\(8\)分钟就做完了。主要问题主要就是在\(T2\)上。其实本来\(10\min\)就想到贪心怎么做了,但是发现直接贪心有点问题,所以就一直在想怎么解决。可能是前几场比赛考的比较难的缘故,我就一直在想能不能用......
  • 10.22 模拟赛
    2025--炼石计划--10月16日--NOIP模拟赛#13【订正】-比赛-梦熊联盟复盘T1模拟了一小下就会做了。中间模数写错了(998244353少了个最后的3)调了几亿年。还是很快就切了。T2一眼不可做啊。部分分好像很多,放弃正解做部分分。\(k=1\)显然是给总司令的,输出\(T\)个N......
  • 20222426 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容·免杀原理免杀技术的核心原理是通过修改病毒、木马的内容,改变其特征码,从而躲避杀毒软件的查杀。杀毒软件通常使用特征码识别技术来检测和清除恶意软件,因此,通过修改恶意软件的特征码,可以使其绕过杀毒软件的检测。·免杀技术1.修改特征码。·直接修改:将特征码所对应......
  • Day22--内存分析
    Day22--内存分析Java内存分析:1.堆:存放new的对象和数组;可以被所有的线程共享:不会存放别的对象引用2.栈存放基本变量类型(会包含这个基本类型的具体数值)引用对象的变量(会存放这个引用在堆里面的具体地址)3.方法区可以被所有的线程共享包含了所有的class和static变量......
  • 20222321 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    一.实验内容(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(4)使用MSFmeterpreter(或其他软件)生成获取目标主机音频、摄......