首页 > 其他分享 >2023.10.11 一些好题

2023.10.11 一些好题

时间:2023-10-11 21:25:49浏览次数:38  
标签:11 max 2023.10 好题 sim 区间 SG mex dp

A

你有 \(m\) 个相同的球,球有性能 \(c\),你可以测试 \(x\),若 \(x\ge c\),那么球会碎掉,若 \(x< c\),那么球不碎。
性能的范围 \(n\le 1e5\)。求最多要测试多少次。
首先答案有一个上限是 \(\log n\)。所以令 \(m\to \min(m,\log n)\)
所以我们记状态可以记 \(dp_{l,r,k}\) 表示当前确定性能区间是 \([l,r]\),还剩 \(k\) 个球,至少测试几次。
然而这样状态数太大,发现每个区间是等价的,那我们记状态是 \(dp_{i,k}\) 表示确定性能区间长度为 \(i\),还剩 \(k\) 个球。
考虑转移,\(dp_{i,k}=\min(\max(dp_{j,k-1},dp_{i-j,k}))\).
发现 \(\max(dp_{j,k-1},dp_{i-j,k})\) 是单峰的,所以可以三分。
其实有更优的,注意到 \(dp_{j,k-1}-dp_{i-j,k}\) 的值越接近 \(0\),那么 \(\max(dp_{j,k-1},dp_{i-j,k})\) 越小。
那么直接二分即可。

B

有 \(n\) 个点,每个点 \(i\) 到 \([l_i,r_i]\) 区间里的点有连有向边。
你需要在这张图上玩有向图游戏,从 \(1\sim n\) 的每个点都开始一遍。
求每个点的 \(SG\) 函数。
我们从 \(1\sim n\) 去遍历,\(SG(i)=mex(SG(l_i),...,SG(r_i))\).
发现就是区间求 \(mex\) 问题。这个经典的问题可以用主席树去实现。
我们第 \(i\) 个版本维护的是 \(1\sim i\) 里面,所有 \(SG\) 函数的值最后一次出现的位置。
对于查询 \([l,r]\),在第 \(r\) 个版本,二分出 \(mex\) 值。
只需要维护区间最小值,二分出第一个位置小于 \(l\) 的权值即可。

标签:11,max,2023.10,好题,sim,区间,SG,mex,dp
From: https://www.cnblogs.com/Simon-Gao/p/17758201.html

相关文章

  • 大二打卡(10.11)
    今天做了什么:英语课,今天对于老师上课的小发问都能回答上来,不知道是不是因为坐的稍微靠后心情没那么紧张,脑子活了,听力最后一部分听的不行,比上回好了一点,但有限弄了半天建民的测试,我现在已经不知道自己搞错哪一步了,tomcat重装,connector也下了重装,web项目建立的也没问题,代码也没保......
  • 2023.10.11——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.java的一些特性;明日计划:学习......
  • 10.11(动物园管理员)
    第一版:把每种动物都定义为一个类,漏洞大,每天加一种动物或者动物数量发生变化都会需要对代码进行调整每种动物的喂食函数名也不同packagehomework;publicclasstext{publicstaticvoidmain(Stringargs[]){Feederf=newFeeder("小王");......
  • 2023/10/11 网络的学习
    学习笔记1网络基础1.1 什么是网络网络:计算机网络,电脑和电脑之间通过线缆或其他介质连接起来,并实现相互之间的通信。通信:人与人,人与物,物与物之间通过某种媒介和行为进行沟通。1.2 网络的分类局域网:作用于相对较小区域。例如企业内部网络,校园内部网络等。城域网:作用于城......
  • 231011校内赛
    T1树上的数题解比上一次好一些的第一题不过我还是没做出来一眼树形\(dp\)不过状态设计和转移不是很好列容易想到对于子树枚举,记录\(f_{i,j}\)表示\(i\)的子树空出了\(j\)个点时的方案数对于每一个节点的初始状态都是\(f_{i,0}=n-dep_i\\\f_{i,1}=1\)为......
  • 20231011
    20231011NOIP#18总结时间安排7:50~8:30看题,\(A,C\)一眼切,\(B\)不会一点,\(D\)应该能爆搜不知道拿多少分。8:30~8:40写\(A\)的正解。8:40~9:40写\(C\)的正解。9:40~10:20写\(D\)的爆搜再加点剪枝,打点数据特判希望骗分。10:20~11:50写了\(B\)的爆搜,然后打特殊......
  • oracle11g linux环境安装
    【0】需求在centos7上安装oracle11G1204,有7个文件。【1】环境配置(1.1)修改主机名【1】hostnamenew_hostname#直接修改本地主机名 hostnamectlset-hostnamenew_hostname  【2】vi /etc/sysconfig/network#修改网......
  • 10.11树的最大深度和判断对称树
    publicclasstrees<T>{privateTdata;publictrees<T>left;publictrees<T>right;publictrees(Tdata){this.data=data;this.left=null;this.right=null;}publictrees(Tdata,trees<T&g......
  • 2023_10_11_MYSQL_DAY_03_笔记_下
    2023_10_11_MYSQL_DAY_03_笔记_下#截断表的作用是把原来的表摧毁,重新创建一个结构和原来一模一样的新表,语法如下:TRUNCATETABLEtable;#TRUNCATE和DELETE区别#1、TRUNCATE是DDL命令,使用ROLLBACK不可以回滚。而DELETE是DML命令,使用ROLLBACK可以回滚。#2、DELETE可以通过指定......
  • 2023.10.10 js.Array和js.String
    1定义数组21.vararr=newArray{1,2,3,4...};32.vararr=[1,2,3,4];4访问5arr[索引]=值67同一数组的类型可变,长度可变。89Array中的属性和方法10arr.length//获取数组长度11forEach()遍历数组中的每个有值的元素,并调用一次传入的函数12arr......