首页 > 其他分享 >NOIP 模拟 6

NOIP 模拟 6

时间:2024-11-07 17:20:33浏览次数:1  
标签:NOIP 特判 len 必胜 即可 哈希 直径 模拟

T1 新的阶乘(factorial)

线性筛出质数和每个数的最小质因数,然后直接算即可。

T2 博弈树(tree)

结论:当且仅当起点为直径中心时,后手必胜。
证明:先考虑只在直径上的博弈,如果起点在直径的一端,先手必胜,设直径长为 \(len\),如果在端点的下一个位置,先手可以移动 \(len-2\) 到对称位置,此时后手只能移动到直径端点,先手必胜。考虑再下一个位置,先手还是先移动到对称位置,后手无论怎样移动,都是先手的必胜点。当且仅当起点为中心时,先手无法移动至必败点,此时先手必败。
因为直径是树的最长链,其他节点相当于直径上的点的复制点,所以整个树的博弈可以归纳到直径上。
然后对于直径长度的奇偶性简单分讨一下即可。

T3 划分(divide)

简单观察发现答案是只留一个极长段,剩下每段长度为一。
简单分几种情况:

  • 我会特判!全是 0,直接输出 0 和方案数即可。
  • 我还会一个特判!段数等于长度是只有一种方案,贡献是 1 的个数。
  • 我是特判大师!没有一个开头为 1 的段满足长度,所以直接找第一个 1 即可,方案数插板求得。

都想到最后一个特判了,不难想到对于一般情况就是找出极大段的数量,我会滑动窗口,但是这题要求取模,不能直接比较大小。一个经典的东西是两个数比较大小是,一定是比较第一个两个数不同的位置,所以可以二分加哈希找出这个位置。
对于最后一位,无论是什么,都无所谓,因为它的贡献在段内也是 \(1\),在段外也是 \(1\),所以只用比 \(len-1\) 的长度段即可。
哈希什么不确定算法,我会最小表示法,找到最大之后 KMP 即可,轻松爆标,笑点解析:没有哈希 + 二分跑得快

标签:NOIP,特判,len,必胜,即可,哈希,直径,模拟
From: https://www.cnblogs.com/Ishar-zdl/p/18533193

相关文章

  • NOIP 模拟 5
    T1选彩笔(rgb)观察到值域较小,考虑静态值域三维偏序,人话:三维前缀和。三维前缀和的式子:get(i,j,k,x,y,z)=s[i][j][k]-s[i][j][z-1]-(s[i][y-1][k]-s[i][y-1][z-1])-(s[x-1][j][k]-s[x-1][y-1][k]-s[x-1][j][z-1]+s[x-1][y-1][k-1]);,直接几何意义推的,但是高维前缀和有通式。然后二分......
  • noip模拟8
    A图书管理之前考过。。。但是我忘了咋写了,然后随便胡了个动态开点权值数上去,\(O(n^2\logn)\)拿了\(80\)。。。维护一个桶,检测到进来的两个数在中位数同侧,则中位数移动,否则不移动,然后就好了?。。。点击查看代码#include<bits/stdc++.h>usingnamespacestd;intn;cons......
  • NOIP2024集训Day71 贪心
    NOIP2024集训Day71贪心B.[CCO2015]饥饿的狐狸显然的,要求出最大美味值,应该先交错吃温度最大的和最小的饼干。所以我们给所有饼干按照温度排序,交替选择左右端点吃,如果喝水能够达到更大那就先喝水再吃,反正水管够。分两种情况,即左右端点谁先开始,再取个\(\operatorname{max}\)。......
  • lanqiaoOJ 1110:小王子单链表 ← 数组模拟实现
     【题目来源】https://www.lanqiao.cn/problems/1110/learning/【题目描述】小王子有一天迷上了排队的游戏,桌子上有标号为1-10的10个玩具,现在小王子将他们排成一列,可小王子还是太小了,他不确定他到底想把哪个玩具摆在哪里,直到最后才能排成一条直线,求玩具的编号。已知他排......
  • 基于Arduino的数码管显示变阻器模拟量读取值
    题目要求采集变阻器模拟量信号在数码管中显示,要求有二位小数电路连接数码管连接:数码管的七个段(a-g)分别连接到Arduino的引脚2到8。数码管的小数点(dp)连接到Arduino的引脚9。数码管的4个控制引脚连接到Arduino的引脚10到11。变阻器连接:变阻器的模拟输出引脚连接到Arduin......
  • 多校A层冲刺NOIP2024模拟赛18
    多校A层冲刺NOIP2024模拟赛18T1选彩笔(rgb)签到题,但是没签上。。。没想到三维前缀和,直接上了个bitset。就是直接二分答案,然后枚举这三维每维的区间的起点,前缀和查数量是否大于等于$K$即可,也可以把二分答案改为第一维的双指针,少一个$log$。T2兵蚁排序(sort)比T1还签......
  • CSP2024 前集训:NOIP2024加赛 2
    前言T2开太晚了,没打完,别的没怎么挂。哦对,T1以为埃筛复杂度是\(nlog^2\),实际上是\(n\ln(\ln(n))\),结果以为复杂度是错的,然后本地不开O2都飞快,我甚至还在惊叹本地竟然能跑\(5e9\)……还有我之前不知道树的直径的中点时唯一的……T1新的阶乘直接埃筛做完了。点击查......
  • NOIP2024 模拟赛 #15 总结
    Larunatrecy:信心赛。赛时T1求中位数,想起前两天做过的[ABC203D]Pond,考虑了二分答案。看出二分答案后不会做了,罚坐\(20\)min。然后发现我傻逼了,选出一个区间翻转,可以通过钦定右端点,找到最优的左端点得到,神仙Heldivis就出过一道这样的题。写完后调了下二分边界过了大样......
  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛18
    前言不知道咋回事儿?脑子里一直放歌。然后T3空间给了256,开了256.23死了。T1选彩笔显然可以二分答案,所以现在有了\(O(nv^3\logv)\)的做法,去重后可以拿到\(80pts\),发现直接三维前缀和就可以做到\(O(v^3\logv)\)。点击查看代码#include<bits/stdc++.h>#definell......
  • 『模拟赛』NOIP2024加赛2
    Rank一直烂,什么时候触底反弹(A.新的阶乘赛时觉得线筛一遍同时统计每个质数的指数就做完了,然后本机怎么跑不进1s,卡常卡了半个小时,最后没T,但是vector炸了,70pts。可以换思路考虑,赛时一直没转换过来。对于每个质数枚举其倍数统计贡献。复杂度不知道多少,跑得中等速度。点......