首页 > 其他分享 >NOIP 模拟赛:2024-11-23

NOIP 模拟赛:2024-11-23

时间:2024-11-28 14:56:42浏览次数:8  
标签:11 结点 le NOIP 碰撞 2024 满足 sim dp

假算法轻取 96pts。

T1:

给定一个\(n\)个结点\(m\)条边的简单无向图,结点编号\(1\sim n\)。你需要构造一个结点编号的排列\(v_1,v_2,\cdots,v_n\),满足

  • \(v_1=1\);
  • 对\(1< i < n\),至多一个\(i\)满足要求:点对\((v_i,v_{i+1})\)和\((v_i,v_{i-1})\)中,一对之间有边直接相连,另一对没有。即对排列中非两端的结点,至多一个和排列中的两侧邻点中恰一个有边直接连接。
    请输出一个满足条件的排列。

"有 \(n\) 个人戴了黑白帽子,每人不知道他的帽子是什么色的,怎么排成黑白分明的队伍?"

让每个人插入到当前序列的黑白交界处即可。

本题一样,让每个结点判断与交界处是否有边来决定去左边还是右边。

T2:

数轴上有 \(n\)个有编号的点,其中在时刻\(t=0\)时\(i\)号位于\(x_i\) ,并具有初速度\(v_i\in \{1,-1\}\)(每单位时间的坐标变化)。保证初始位置各不相同。

之后所有点开始运动,如果在时刻\(t\),编号为\(x,y\)的两个点位置重合,且\(v_x=1,v_y=-1\),则碰撞在了一起,这时记录一个碰撞事件\((t,x,y)\),并令\(v_x,v_y\)值互换。如果同时出现多个碰撞事件,可以任意顺序各自独立的结算。

可以发现会出现的碰撞事件\((t,x,y)\)是有限的,请找出字典序排序后的第\(l\sim r\)个事件的\(x,y\),保证存在\(r\)个事件。

\(\dagger\) 多元组\((t,x,y)\)的字典序指先按第一个元素\(t\)从小到大排序,\(t\)相同的按\(x\)从小到大,\(x\)也相同的按\(y\)从小到大。

经典转化:碰撞并不是回头了,而是都继续往前走。

先把所有点按坐标排序。二分 + 双指针可以求出字典序 \(l\sim r\) 的事件所属的时间区间 \([tl,tr]\)。

容易发现碰撞对象只可能是相邻两个球。同时 \(i,i+1\) 的第一次碰撞时间等于 \(\le i\) 第一颗右球和 \(\ge i+1\) 的第一颗左球相遇的时间(就是碰撞继续走),第二次碰撞时间是 \(\le i\) 的第二颗右球和 \(\ge i\) 的第二颗左球 ……

我们要找到(第 \(i\) 颗左球,第 \(i\) 颗右球)这些对里,发生时间在 \([tl,tr]\) 里的。

可以预处理 \(lst[i],nxt[i]\) 表示 \(i\) 的上一颗右球、下一颗左球。可以暴力向左右跳。复杂度平方。

因为 \(>tr\) 可以直接 break,瓶颈在于经过了很多发生时间 \(<tl\) 的碰撞。

如何快速找到第一次发生时间 \(\ge tl\) 的碰撞?使用 ST 表加速即可。

坑点:最终可能有开头的几个时间字典序 \(<l\),因为二分可能会留下一点。

T3:

求构造满足如下条件的\(n\)长度整数序列\(a_1,a_2,\cdots,a_n\)的方案数

  • 所有整数的取值范围为\(1\sim m\);
  • 对\(1\le i < n\),以下两个条件至少一个成立
    • \(a_i\le a_{i+1}\);
    • \((a_i\mod a_{i+1}) > 0\)。

答案对998244353取模。两个方案不同,当且仅当存在至少一个位置,使两个序列中该位置的数不相等。
\(n,m\le 10^5\)。

妙题。对容斥集合直接 DP。

注意到不满足的条件很苛刻。如果 \(a_i,a_{i+1}\) 是不满足的,必须 \(a_{i+1}\) 是 \(a_i\) 的真因数。而连续的真因数 \(\log n\) 次就变成 \(1\)。
因此可以求出 \(c[i][j]\) 为:长度 \(i\) 的序列以 \(j\) 结尾,任意相邻位置不合法的方案数。\(i\le 20\) 可以递推。令 \(sc[i]=\sum c[i][]\)。

既然不合法的情况这么少见,可以考虑容斥。怎么容?平时是 "至少 \(0\) 个不满足" - "至少 \(1\) 个不满足" + "至少 \(2\) 个不满足" - ……,容易发现偶数加奇数减。

我们直接 \(dp[i][0/1]\) 表示填前 \(i\) 个数,使得有偶数/奇数个位置不满足的方案数。

如何转移?枚举 \(i\sim i-j\) 是一段连续不合法段,根据上面的观察有 \(j\le 20\)。

此时就已经有了 \(j\) 个不合法,方案数是 \(sc[j]\),如果要贡献到 \(dp[i][0]\) 里,后面要有 \(j\bmod 2\) 的位置不满足;否则需要 \(1-j\bmod 2\) 的位置不满足。

dp[i][0] += sc[j + 1] * dp[i - j - 1][j % 2] % MOD;
dp[i][0] %= MOD;
dp[i][1] += sc[j + 1] * dp[i - j - 1][1 - j % 2] % MOD;
dp[i][1] %= MOD;

复杂度 \(O(m\log m+n\log m)\)。

标签:11,结点,le,NOIP,碰撞,2024,满足,sim,dp
From: https://www.cnblogs.com/FLY-lai/p/18574225

相关文章

  • 11.28 CW 模拟赛 赛时记录
    看题有外校的一起考,那我爆个\(0\)\(\rm{A}\)至少不能是简单题考虑找规律一类的东西,看能不能推出来?\(\rm{B}\)啊?也是需要脑子,多半不会做,应该也是规律题\(\rm{C}\)至少暴力可以打,争取达到高档暴力\(\rm{D}\)能打到这在想吧完了嘛时间分配:\(1\rm{h}+......
  • NOIP 模拟赛:2024-11-22
    T1:当需要对数组重标号时,想清楚哪里要用原编号,哪里要用新编号。T2:\(n\)个人参加THUSC,其中每个人都参加了算法场和工程场两场比赛,第\(i\)个人的得分分别是\(a_i,b_i\)。你希望给所有人进行排名,规则如下:先选定两个正实数\(x,y\),计算每一个人的综合得分为\(xa_i+yb_i\);按照综......
  • 网络安全(黑客)详细自学路线 一一2024新版
       前言当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。一、网络安全的基本概念网络安全是一种保护:它涉及保护我们的设备和信息,从各种威胁,如病毒和蠕虫,到更复......
  • 刷题分享11_28
    刷题分享1.(力扣15)这是一道求三数之和的问题,如果使用哈希表的方法了话,十分难实现去重的操作,所以我们可以考虑将问题拆分,即先用一个for循环遍历数组,在每一层遍历内部(相当于确定下来第一个数),使用双指针的方法,这样利用指针++或--的操作,可以很方便的实现去重的操作。classSoluti......
  • P1979 [NOIP2013 提高组] 华容道
    题目大意详细题目传送门\(n\timesm\)的华容道盘,有障碍。多组询问,每组障碍不变。其中要将初始在\((sx,sy)\)的棋子移动到\((tx,ty)\)。初始空白的位置在\((ex,ey)\)。求至少多少次移动完成目标,无法完成输出-1。\(n,m\leq30,q\leq500\)。思路发现显然应该是要预处理什......
  • Win11又双叒叕崩溃,受灾区为Intel Z890用户
    不得不承认,这年头的Win11用户是越来越难了。漏洞、功能缺失、兼容性等多年祖传问题可谓是随时随地随便啥装备都能上演。上周奇仔刚遭遇了华硕X515KA升级Win1124H2蓝屏死机事件,这两天同事又双叒碰上了。这次是跟IntelZ890主板不兼容~社区里也有很多Win11用户反馈,称在升级......
  • 2024最新付费进群源码搭建+教程(修复卡顿)
    部署环境:Nginx≥1.18 PHP=7.2 MySQL=5.6(必须按照这个环境来,否则无法正常使用)搭建此网站需要3个域名(一个作为后台域名,一个作为中转域名,一个作为分站域名,添加到同一个站点里面)知识点:不需要购买3个域名,同一个域名可以无限解析二级域名(当然3个域名都不一样会更好,避免域名红......
  • 2024web漏洞扫描神器xray安装及使用_2024-11-28
    一、功能开源的Web漏洞扫描工具,支持以下漏洞XSS漏洞检测(key:xss)SQL注入检测(key:sqldet)命令/代码注入检测(key:cmd-injection)目录枚举(key:dirscan)路径穿越检测(key:path-traversal)XML实体注入检测(key:xxe)文件上传检测(key:upload)弱口令检测(......
  • 2024-11-28 闲话
    给急性肠胃炎大爹跪了!周二晚上发现自己体温有点高,而且还窜稀几次。因为种种不适,就没去吃完饭,也没有体锻。晚上九点四十同学说你这么不舒服,应该是没吃晚饭导致的,于是我先把车昱辉留着当周三早餐的面包吃了,然后又吃了燕麦。学校暖气一坨大便,这时候没想起来开空调……因为越来越难......
  • windows11升级系统后重新安装virtualbox虚拟网卡变 virtualbox host only Ethernet ad
    windows11系统升级后,重新安装virtualbox5.2.30发现网卡变virtualboxhostonlyEthernetadapter#2如下所示:1.通过查找一些资料,需要删除注册表内残留的virtualboxhostonlyEthernetadapter注册表信息,参考信息:https://blog.csdn.net/weixin_43113691/article/details/1......