首页 > 其他分享 >关于信息学奥赛中的一些做题思路

关于信息学奥赛中的一些做题思路

时间:2024-03-13 13:45:28浏览次数:40  
标签:信息学 sum 位置 三元组 奥赛 思路 最大值 lx

观前须知

Sugar_Cube的博客园主页

背景介绍

本文记录了笔者在刷题或比赛中运用到的一些做题思路
可以适当参考

正文

Luogu P2048 超级钢琴

首先显然有 \(\mathcal {O}(n^2)\) 暴力枚举每个子段,然后选择其中前k大的
那么可以发现有贪心策略:
选择k次最大值
那么考虑怎样求最大值
想到可以枚举每个起始位置,想办法计算从该位置开始符合要求的字段最大值
将字段长度符合要求转换为终止位置在区间内
由于连续,记前缀和 \(sum_i\)
则对于一个三元组 \((lx,l,r)\) 表示从 \(lx\) 起始,合法终止位置在 \([l,r]\) 区间内
它的最优答案是 \(max\{sum_t-sum_{lx-1} | t\in [l,r] \}\)
即 \(max\{sum_t | t\in [l,r] \} - sum_{lx-1}\)
求最大的 \(sum_t\) 不就是一个RMQ问题吗
注意到,一个起始位置算完后,仍然有别的终止位置可以使用
则分裂原三元组为 \((lx,l,t-1)\) 与 \((lx,t+1,r)\)
并将新的三元组放到中继续维护最大值

细节:
为了计算 \(t\) 要在st表中维护最大值对应的下标
注意判新的三元组的合法性

一句话思路:
暴力->贪心->求最大值->计算子段和->RMQ->分裂三元组用堆维护

标签:信息学,sum,位置,三元组,奥赛,思路,最大值,lx
From: https://www.cnblogs.com/Sugar-Cube/p/18069377

相关文章

  • 动态缓存单个页面-vue3-实现思路
    状态管理定义-全局状态属性`keepNameArray``noKeepNameArray` (为数组)动态组件缓存设置<keep-alive:include="keepNameArray":exclude="noKeepNameArray"><component:is="Component"/></keep-alive>该文件获取keepNameArray和noKeepNameA......
  • 智慧城市中的数字孪生:构建城市数字生态的新思路
    目录一、引言二、数字孪生技术的内涵与特点三、数字孪生在构建城市数字生态中的作用1、促进城市治理现代化2、提升城市服务水平3、推动城市产业创新四、实施策略与发展思路1、加强技术研发与创新2、完善数据共享与协同机制3、推进数字孪生在城市管理中的应用4、培养......
  • 猜数字思路
    1,首先引用一个头文件,写一个main函数,return0;2,为游戏选择一个选择循环——do……while()循环,因为它至少能运行一次(首先要进入一次游戏)3,游戏最开始先建立一个菜单,建立一个menu函数(打印选项)4,新建一个变量input,用来存用户输入的数字(此数字用来决定是否进入游戏),并使用scanf读用户选项5......
  • Http状态码502常见原因及排错思路
    Http状态码502常见原因及排错思路502表示BadGateway。当Nginx返回502错误时,通常表示Nginx作为代理服务器无法从上游服务器(如:我们的后端服务器地址)获取有效的响应。导致这种情况的原因有很多:1、后端服务器故障2、nginx配置问题3、高负载或者资源耗尽4、nginx与后端服务器通......
  • pg distinct 改写递归优化(德哥的思路)
    德哥的优化思路巨牛逼,这种递归思维真的太吊了,我目前就缺递归思路。 下面SQL1000W行数据,列的选择性很低,只有两个值('1'和'11')都是字符串类型,'1'只有一条数据,'11'有9999999行数据。慢SQL:selectdistinctcolfromtt;......
  • 做题思路
    堆由开发人员申请和释放空间(容易内存泄露);栈由系统自动分配释放H5新增:语义化(header等);媒体(video等);canvas;表单控件(time,data等);存储(sessionStorage);websocket反转链表思路:把原链表分成三份:pre(原链表),cur·tmp(即将处理的链表cur.next=null),p(处理完的新链表);总结:原理挺简单的,但是要注......
  • 一文学会JDBC实现java和mySQL的数据连接(尚硅谷学习课程代码+笔记+思路总结)
    JDBC是指数据库连接技术,用于java连接mySQL等数据库。本文详细介绍了尚硅谷课程中JDBC的学习内容和补充知识。概述java语言只提供规范接口,存在于java.sql.javax.sql包下,然后数据库软件根据java提供的规范实现具体的驱动代码(jar)jar包是java程序打成的一种压缩包格式,只要导入就......
  • k8s生产中遇到什么特别映像深刻的问题吗,问题排查解决思路是怎么样的?
    答:前端的lb负载均衡服务器上的keepalived出现过脑裂现象。1、当时问题现象是这样的,vip同时出现在主服务器和备服务器上,但业务上又没受到影响;2、这时首先去查看备服务器上的keepalived日志,发现有日志信息显示凌晨的时候备服务器出现了vrrp协议超时,所以才导致了备服务器接管了vip;查......
  • 初三奥赛模拟测试1
    初三奥赛模拟测试1\(T1\)回文\(0pts\)设\(f_{x_{1},y_{1},x_{2},y_{2}}\)表示从\((1,1)\)到\((x_{1},y_{1})\)结束的回文路径条数,其中\((x_{1},y_{1})\)关于最终形成的回文串的回文中心的对称点为\((x_{2},y_{2})\)。状态转移方程为\(f_{x_{1},y_{1},x_{2},y_{2......
  • 初三奥赛模拟测试1
    前言比赛链接总分:\(107pts\)\(T1~79pts:\)坐标\(DP\),赛时感觉打的是正解,但是打假了。\(T2~28pts:\)理解错题了,以为是帮他调程序了,于是给人家调\(TLE\)了。\(T3~0pts,T4~0pts:\)没啥好说的,不会。官方题解T1回文点击查看题面部分分:部分分没什......