首页 > 其他分享 >NOIP 模拟赛:2024-10-30

NOIP 模拟赛:2024-10-30

时间:2024-10-31 19:11:08浏览次数:1  
标签:10 题目 箱子 仓库 max 30 2024 sim dp

T1:

一场比赛一共有\(n\)位选手和\(m\)道题目,其中你是第\(1\)位选手。你现在知道了每位选手通过了哪些题目。
你可以调整题目的顺序,然后给题目赋予一个分值,使得第\(i\)道题目的分值是\(2^i\)。
你想知道能否通过调整题目的顺序,使得你的成绩恰好是第二高的。
保证不存在两个选手的通过的题目集合是一样的。

多组数据。
\(T\le 200,n,m\le 400\)


若有至少两个超集,不行。
若有恰好一个超集,可以。

否则枚举哪个比 \(1\) 大,假设是 \(i\)。然后枚举 \(i\) 中一个是 \(1\),且 \(1\) 中不是 \(1\) 的位,若除了 \(1,i\) 以外的数这一位都是 \(0\),可行。
如果找不到,不可行。

直接做是 \(O(T\cdot n^2m)\) 的,用 bitset 优化可以除以 \(w\)。

T2:

给定 \(n\times m\) 的平面和 \(k\) 个点。求一条路径,从 \(x=0\) 的某个点去 \(x=m\) 的某个点,最大化与上下边界、点的距离的最小值。
\(k\le 7000\)。


显然是二分,然后能到的点之间连边,如果有一个连通块卡住了上下界就无解。否则就有解。
但是问题在于可能的边太多了。

法一:充分发扬人类智慧,按 \(x,y,x+y\) 排序后各取 \(50\) 个点连边。

法二:Prim 算法。

T3:

一共有\(n\)个仓库,第\(i\)个仓库里面一共有\(f_i\)个箱子,第\(i\)个仓库和第\(i+1\)个仓库的墙的高度是\(h_i\)。同时,你可以随身带任意多个箱子。
现在假设你在\(i\)仓库,你身上带着\(x\)个箱子,当前仓库里面\(y\)个箱子,你可以做这些操作。

  1. 拿起一个箱子,也就是使\(x\)加一,\(y\)减一,其中\(y\)要大于\(0\)。
  2. 放下一个箱子,也就是使\(y\)加一,\(x\)减一,其中\(x\)要大于\(0\)。
  3. 移动到相邻的仓库,需要满足当前仓库里面的箱子个数不小于与相邻仓库的墙的高度。比如从\(i\)移动到\(i+1\),那么要求\(y\geq h_i\)。

你可以执行上述操作任意多次。
现在你想知道,如果一开始在\(i=1\sim n\)仓库,你想要访问遍所有的仓库,那么一开始需要至少随身带多少个箱子。

\(n\le 5000\)。


又是区间 DP,一样不会做。

数据范围明显 \(O(n^2)\) 的 DP。

\(dp[l][r][0/1]\):已经访问了 \([l,r]\) 的区间,最终位于 \(l/r\),要访问其他仓库,当前至少有多少个箱子在手。

注意这个定义:我们不考虑 \(l\sim r\) 内借了几个箱子、不考虑从仓库里拿了几个箱子,我们只定义为 "现在手上要有几个箱子"。

初值 \(dp[1][n][0]=dp[1][n][1]=0\),因为没有其他需要访问的仓库了。

答案是 \(\max(0,dp[i][i][0]-a_i)\)。

转移:考虑下一步去哪里。

  1. 去 \(l-1\),至少有 \(h[l-1]\) 个箱子才能过去,过去之后手上要有 \(dp[l-1][r][0]\) 个箱子,同时在 \(l-1\) 处获取了 \(f[l-1]\) 个箱子,因此需要的箱子个数为 \(h[l-1]+\max(0,dp[l-1][r][0]-f[l-1])\)。

  2. 去 \(r+1\),需要从 \(l\) 跨越 \([l,r]\) 去 \(r+1\)。考虑在这个过程中我们要欠多少箱子,发现就是 \(\max h[l\sim r]\)。一个重要的观察是:当访问完 \(l\sim r\) 且位于 \(l\) 时,\(l\sim r-1\) 的墙右侧都放了 \(h[l\sim r-1]\) 个箱子。 而翻越 \(h[r]\) 后还要 \(dp[l][r+1][1]\) 个箱子在手,同时在 \(r+1\) 处获取了 \(f[r+1]\) 个箱子,因此需要箱子个数为 \(\max h[l\sim r]+\max(0,dp[l][r+1][1]-a[r+1])\)。

上面两种取 \(\min\) 就是 \(dp[l][r][0]\)。\(dp[l][r][1]\) 的转移同理。

T4:

原题为 apc001 XOR Tree。

给一颗带边权(\(w<16\))的树,每次操作可将一条路径的边权异或任意值。问最少几次使所有边权为 \(0\)。\(n\le 10^5\)。

trick:边权化点权。定义点权 \(a_u\) 为 \(u\) 所有邻边的异或。则边权为 \(0\) 等价于点权为 \(0\)。(若点权为 \(0\),不停删叶子可证明)
同时
于是一次操作变成把两个点异或任意值。

贪心,两个相同权值的点必然一次消掉。然后最多剩下 \(1\sim 15\) 个不同的权值需要处理。

状压,\(dp[S]\) 表示 \(S\) 中数,至少几次异或后全部变成 \(0\)。

若 \(S\) 中数整体异或非 \(0\),显然无解。

否则,\(|S|-1\) 次操作显然可行;同时可以枚举一个子集 \(S'\),\(dp[S]\leftarrow dp[S']+|S-S'|-1\)。

复杂度 \(O(3^w+n)\)。

标签:10,题目,箱子,仓库,max,30,2024,sim,dp
From: https://www.cnblogs.com/FLY-lai/p/18518318

相关文章

  • 10.29博客
    今天学习了栈和队列的两种实现方式栈和队列是非常重要的两种数据结构,在软件设计中应用很多。栈和队列实现回文的两种实现形式includeincludeusingnamespacestd;typedefstruct{char*base;intfront;intrear;}SqQueqe;typedefstruct{char*base;char*top;int......
  • Goby 漏洞发布|Apache Solr /solr/admin/info/properties:/admin/info/key 权限绕过漏
    漏洞名称:ApacheSolr/solr/admin/info/properties:/admin/info/key权限绕过漏洞(CVE-2024-45216)EnglishName:ApacheSolr/solr/admin/info/properties:/admin/info/keyPermissionBypassVulnerability(CVE-2024-45216)CVSScore:7.3漏洞描述:ApacheSolr是一个开源搜索服......
  • 国产化基于 Zynq-7100 的高性能计算模块FMC载板
    国产化基于Zynq-7100的高性能计算模块FMC载板是一款高性能计算模块。主控芯片采用Xilinx公司Zynq-7系列SoC家族中的XC7Z100-2FFG900(兼容XC7Z045-2FFG900,国产FMQL45T900,和XC7Z035-2FFG900)。其内含ARM公司的Cortex-A9MPCore处理器系统与Xilinx的K......
  • centos7 查看防火墙开放3306端口
    在CentOS7中,系统默认使用firewalld作为防火墙管理系统。要查看防火墙是否开放了特定端口(如MySQL的3306端口),您可以按照以下步骤操作:1.查看当前防火墙规则首先,您可以查看当前防火墙的规则,确认是否已经有3306端口被开放:sudofirewall-cmd--list-all这条命令......
  • STM32F103C8T6学习笔记1--新建工程模板
    1、简介STM32是一系列由STMicroelectronics(瑞士意法半导体)公司设计和生产的32位微控制器产品线。这些微控制器基于ARMCortex-M内核,并具有高性能、低功耗和多种外设接口的特点。STM32处理器被广泛应用于各种嵌入式系统领域,包括工业控制、消费电子、汽车电子、物联网等。STM32......
  • (一)VB 2010 开发环境
    VB2010开发环境使用VB2010.VB2010界面如图所示起始页:访问项目,团队项目,MSDN帮助资源(MSDN(MicrosoftDeveloperNetwork)帮助资源是微软公司为开发者提供的一个综合性资源平台)新建项目:选择VB“Windows窗体应用程序”,“确定”后新建如图Windows窗体应用项目窗口窗体有设计......
  • juc复习(下篇)(10.31)
    juc复习(10.31)阻塞队列写入:如果队列满了,就必须阻塞等待读取:如果队列是空的,必须阻塞等待生产使用阻塞队列的情况多线程并发处理,线程池四组API方式抛出异常有返回值不抛出异常阻塞等待超时等待添加addofferputoffer(3个参数)移除removepolltakepoll(两个参数)检测队首元素e......
  • 10.14博客
    经历了几周关于Java的学习后,我想已经初步了解了Java。在这一周中我跟随黑马程序员的脚步初步学习,现在已经安装了jdk环境(当然它不只是一个运行环境,还附带了许多开发工具)并能够用它输出“HelloWworld"。当然,开发工具不止这个,我还学习并安装了Notepad++与idea,关于这两种开发工具,......
  • NHE2530FNW PCA, Clusters and Grid
    1HEUNIVERSITYOFHUDDERSFIELDSchoolofComputingandEngineeringASSIGNMENTSPECIFICATIONModuleDetailsModuleCodeNHE2530FNWModuleTitlePCA,ClustersandGridsCourseTitle/sBEng(Hons)ElectronicEngineeringandComputerSystemsAssessmentWeighting,Typ......
  • 2024.10.31模拟赛
    一定要好好睡觉啊,不然打模拟赛的时候会困死的!!!非常非常困的7:50时就开始打模拟赛,还是打了四个小时。打了T1、T2的正解,T3的5分特殊样例、T3的10分特殊样例,预计总215分。然后经过漫长的三个小时的等待,出现了T1100分,T265分,T360分,T410分、总分235分的神奇成绩。虽然结果比预......