首页 > 其他分享 >杂题记录2

杂题记录2

时间:2024-02-24 18:44:05浏览次数:30  
标签:记录 位置 sqrt 贡献 端点 区间 杂题 根号

P3515 [POI2011] Lightning Conductor

此处主要记录不用决策单调性的做法。

  1. 我们发现根号的取值是 \(O(\sqrt{n})\) 级别的。于是在每一个位置枚举根号取值然后在对应前后缀中查询 \(a_j\) 最值,这样算法是 \(O(n\sqrt{n})\) 的。
  2. 使用贡献法,对于每一个位置 \(i\) 考虑对别的位置的贡献,只需要在每一个根号值发生变化的地方打上标记即可。
  3. 优化:我们发现一个位置能对之后产生贡献的必要条件为这个位置的值大于之前的所有位置。这么一来在随机数据的情况下复杂度又下降为 \(O(n+\sqrt{n}\log{n})\)。
  4. 其实能产生贡献的位置更少,设序列最大值为 \(max\),那么只有值域落在 \([max-\sqrt{n},max]\) 之间的数才能产生贡献。而且该数必须是第一次出现。这就把能产生贡献的规模降到了 \(O(\sqrt{n})\),总复杂度为 \(O(n\sqrt{n})\)。

【PR #1】删数

其实数列是可以从左往右按顺序删除的,我们发现每次删除保留的是两边的数,也就是一个区间删完之后剩下的是左右端点,所以并不能通过左右各删一部分,使得左右边的某个数跨过了屏障相遇。这题还有区间平均数的不变性,所有剩下两个端点平均数为区间平均数不过好像没用。
部分分 \(a_i=i\),直接奇偶删即可。部分分,\(a_i \le 3\) 挺有意思的,其实我们发现本来是不能遇到能删就删,但是这个部分分策略就是能删就删,因为如果有连续的三个不同的数可以被操作,也就是 \(1~2~3\),我们发现左或右边的数无法被更左或更右的数删,因为它们已经是极值了。
部分分 \(n \le3000\),其实虽然 \(\sum n \le 10000\),但是单组数据 \(n\) 并不大,所有可以 \(O(n^2\log n)\)。易知区间删到最后就是两个端点,所以区间结果具有唯一性。于是设 \(dp_{l,r}\) 表示区间 \([l,r]\) 能否被操作,中间的分治点需要满足 \(a_{m}=\frac{a_l+a_r}{2}\)。观察性质,发现区间 \([l,r]\) 是单调的,二分寻找即可。
正解是考虑差分,这样就是合并相同差分并乘以 \(2\)。固定右端点,发现可以满足条件的左端点级别在 \(O(\log n)\)。这里有一个小技巧,我们发现呈 \(2\) 倍关系的差分值 \(\frac{d_i}{lowbit(d_i)}\)。

【NOIP Round #6】抉择

感觉这种优化到尽头还无法解决的 \(dp\) 就是要挖掘一下
部分分挺简单的,但是正解思路其实和特殊性质最后一档很想,二者的思想都其实是选更多的大概率会更优一点。我们来分析一下为什么不多选,比如选了 \(a_j\) 和 \(a_i\),我们非要在其中插入的一个 \(a_k\),那么可能 \(a_k\) 的很多位都为 \(0\),导致我们损失了一些高位。这里给出一个结论也就是只要 \(a_i~and~a_j\) 与 \(a_i~and~a_k\) 的最高位相同即可,很明显最高位大于其他位之和。所以我们只需要对于每一位保存最近的即可。注意别忘记考虑按位与为 \(0\) 的情况。

标签:记录,位置,sqrt,贡献,端点,区间,杂题,根号
From: https://www.cnblogs.com/FCB-Messi10/p/18031424

相关文章

  • ssts-hospital-web-master项目实战记录十三:项目迁移-架构设计(前台管理)
    记录时间:2024-02-24前台管理 CashTradeClean.html CashTradeDetails.html CashTradeSettle.html DeviceTest.html GoodsManage.html login.html Main.html ReceiptReprint.html SystemManage.html翻译搜索复制......
  • LaTeX使用记录
    安装与使用曾在Windows10下装过MikTeX,并配合vscode插件LaTeXWorkshop使用过一段时间;这次转到wsl2中,并使用texlive,所以插件的配置json需要小修改参考AFastGuideonWritingLaTeXwithLaTeXWorkshopinVSCode即加入latex-workshop.latex.recipes和latex-workshop.lat......
  • ssts-hospital-web-master项目实战记录十三:项目迁移-架构设计(适配器、设备驱动)
    记录时间:2023-02-24适配器adapter.jsadapter/adapter.ts:全部1.属性 2.函数 2.1.标准适配器 2.2.Ajax操作 adapterPOS.jsadapter-pos.ts:全部1.入口2.属性   3.函数  设备驱动devicedriver.jsdevice-driver/index.ts:全部1.以发卡机为例......
  • VMware Workstation 安装Ubuntu虚拟机 屏幕窗口分辨率 自动调整大小 自动适应客户机
    Ubuntu18.04.5LTSVMwareWorkstation16Pro 首先排查了vmwaretools的安装问题首先尝试通过这样安装 点击安装后,好像是有个cd挂载上,复制这个文件到桌面解压这个压缩包,在文件夹打开终端sudo./vmware-install.pl全按回车应该就可以其间Theinstallerhasdetect......
  • ssts-hospital-web-master项目实战记录十二:项目迁移-架构库和插件库
    记录时间:2024-02-24架构库和插件库1.架构库(1)common.js (2)web.*.js 2.插件库待建设 一、Html项目js文件目录结构(VS2015)  二、Vue项目ts文件目录结构(VS Code)1.架构库 2.插件库   翻译搜索复制......
  • 『数学记录』测度论学习笔记(一):测度与常见测度基本定义
      在数学中,测度(measure)是对长度、面积、体积等概念的一般化。对于一个可测的(measurable)集合,一个集合可以给出这个集合的“大小”。本文将从简介绍测度的基本定义与一些常见测度。Part1 基本定义  测度通常定义在一个集合的\(\sigma\)-代数(sigma-algebra)上的......
  • 「杂题乱刷」CF954C
    题目链接题目链接(CF)题目链接(luogu)题意简述有一个\(n\timesm\)的矩阵,矩阵上的数字\(1\simn\timesm\)自上到下,自左到右,对于每次操作,你可以向上,下,左或右移动一步,你需要构造出符合操作序列的\(n\)和\(m\)或报告无解。解题思路容易证明,合法的操作序列相邻两项......
  • 记录 re:Invent 大会,使用 PartyRock 编写我们第一个 AI 应用以及心得
    如果说2023年什么应用技术最火,那么说是OpenAI为代表的ChatGPT在AI方面的突破和发展,是完全没有任何的争议的。随后,各大云厂商以及应用集成商甚至垂直领域的服务提供商都有了对应的AI模型。我们开玩笑的说,这个好比多年前的百团大战一样,各种的AI相关的应用奔涌出现、百......
  • Java事件侦听器学习记录
    前言我们监听事件之前要有事件源source,创建事件源(Event),发布事件(publishEvent),然后才能到监听事件。事件驱动机制是观察者模式(称发布订阅)具体实现,事件对象(Event)相当于被观察对象(Subject),事件监听(EventListener)相当于观察者(Observer)1、包结构(个人): 2、创建事件源(Event)......
  • 浏览器录屏技术:探索网页内容的视觉记录之道
    在当今数字化时代,浏览器录屏技术已经成为了一种强大的工具,用于记录和分享网页内容的视觉体验。无论是用户体验测试、教育培训、产品演示还是远程协作,浏览器录屏技术都能提供便捷、高效的解决方案。在线录屏|一个覆盖广泛主题工具的高效在线平台(amd794.com)amd794.com/reco......