首页 > 其他分享 >20241016 模拟赛总结

20241016 模拟赛总结

时间:2024-10-16 19:12:10浏览次数:1  
标签:总结 20241016 T3 一位 异或 位数 100 考虑 模拟

期望得分:100+100+55(?)+0=255

实际得分:100+100+0+0=200

迷迷糊糊睡了好一会才起来打……

感觉打的还行,除了 T3 时间太紧了,有的错误没检查出来挂分了。。

T1

简单线性 DP。

\(f_i\) 表示前 i 个数的答案,\(g_i\) 有点抽象,先假设当前在 \(p\),\(a_p = i\),\(g_i\) 表示的是如果 \(p\) 作为左端点被删去那么 \(1\sim p\) 最少会剩下几个数没被删去。然后直接 dp,\(f_i = \max(f_{i - 1},i - g_{a_i}),g_{a_i} = \min(g_{a_i},i-f_{i-1})\)。

T2

想了好一会,还好在快 2h 的时候过了,说明最近做了一点思维题还是有点用的?

记 \(x\) 为 \(k\) 位二进制数。观察发现小于等于 \(k\) 位的数至多只能选 \(2\) 个,这两个数要满足异或大于 \(x\),且位数不能相同。对于位数大于 \(k\) 的,位数不同之间不管怎么异或,最终值都会大于 \(x\),对于位数相同的,两两异或后这一位就没了,对于下一位,可能有下一位为 0 的数也可能有下一位为 1 的,同为 0 和 1 之间互不影响,0 和 0,1 和 1 之间异或就都没了,就继续往下一位考虑……一直考虑到第 \(k\) 位的时候,发现我们就把问题转化成了前面位数小于等于 \(k\) 的问题。接下来就来考虑小于等于 \(k\) 怎么做:从高位往低位考虑,如果 \(x\) 这一位是 1,剩下的数要么这一位全为 1 要么全为 0,那就不能组成异或大于 \(x\) 的数对,所以这些数中只能挑 1 个,反之可以,就往下一位判断。如果 \(x\) 这一位是 0,如果有这一位是 0 也有这一位是 1 的,那么这些数就可以挑 2 个,反之找不到,就往下一位判断。一直到第 0 位还没结束,那么这些数顶到天也只能拿 1 个,因为到这里说明已经等于 \(x\) 了。代码实现有点小复杂,还要小特判一下 \(k=0\) 的情况,时间复杂度应该是 \(\mathcal{O}(n\log V)\)。

T3

打表发现其中一个数列肯定是一堆 1 和一堆 0 拼一起组成的,另一个贪心地尽量打散,考场上没有想到合适的办法,不得已拿出了随机化算法,随机调整,本地测试看上去还行,但是后来发现忘记考虑用 1 打散 0 的情况了……而且输出的时候忘记特判输出反了……有点蠢、、

luogu 第一篇题解讲得很深刻,从匹配数和位置数的角度去考虑,把 \(xy\) 次匹配放到 \(n\) 个位置中,很厉害!!!

T4

感觉很困难……考场上也想不到这么多引理……感觉不是我能做的……摆了。

n <= 3 好像是容易的,写几个分类讨论就行了,可惜来不及写了。


总结:位运算相关不太熟练,T2 因为一些细节思考了一些时间。T3 又是太粗心了,而且没把 SPJ 下载下来测一下,不然也稳妥一点。时间把控还行?应该适当缩短一些思考睡眠时间。

标签:总结,20241016,T3,一位,异或,位数,100,考虑,模拟
From: https://www.cnblogs.com/y1wei/p/18470568

相关文章

  • 前缀和和差分归纳总结
    前缀和数组可以在O(1)的时间内求得某一区间中的所有数据的和差分数组可以在O(1)的时间内对某一区间中的所有数据进行加减操作原数组求差分及为差分数组,差分数组再求前缀和即为原数组一维前缀和:设原数组为a[N],前缀和数组为s[N],数组下标都从1开始存储每个s[i]等于a[1]......
  • [赛记] csp-s模拟11 && 多校A层冲刺NOIP2024模拟赛07
    玩水(water)100pts一道结论题,考场一眼出,结果认为不对,然后被硬控了2h结果打出了个抽象DP然后过了;赛后发现,这DP和那个结论是等价的。。。;首先考虑只有两个人怎么做,那么我们只需找出一个位置$(i,j)$满足$a_{i+1,j}=a_{i,j+1}$即可;那么三个人呢?设现在有两个满......
  • python-基础-常见字符串格式化方法总结
    1.f-string方法案例:点击查看代码#计算圆的面积importmathdefcalculate_circle_area(radius):"""计算圆的面积"""returnmath.pi*(radius**2)radius=5#圆的半径area=calculate_circle_area(radius)print(f"圆的面积为:{area:.2f}"......
  • DevEco Studio:模拟器的更多扩展能力
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • DevEco Studio:启动和关闭模拟器
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • 2024.10.16总结
    本文于github博客同步更新。A:打表发现有决策单调性,考虑人类智慧,每次向后跳\(rand\%200\)个点,若更优则继续跳,然后就过了。正解是这样写的:设\(p[i\)]为当前层的最优决策点,把决策按顺序加入,同时更新\(p[i]\)把相同的\(p[i]\)合并成一个点,对这些点维护栈,每加入一个决策......
  • 面试关于HTTP协议,TCP/IP协议栈及相关其他常见问题总结
    面试常用知识点总结1.HTTP协议HTTP请求和响应的组成部分常见的HTTP方法及其用途常见的HTTP状态码及其含义HTTP/1.1和HTTP/2的主要区别无状态协议的含义及其影响2.TCP/IP协议栈TCP/IP协议栈的四层结构及其功能各层常见协议及其特点TCP和UDP的区别TCP三次握手和四次......
  • 一个简单的价格模拟工具
    模拟交易价格对于量化分析建模很重要,下面是一个简单的价格模拟工具:首先,要找到标的的价格波动属性,而标的的波动每天都不一样,下面这个代码可以直观地绘制出价格波动的变化情况:defcalculate_volatility():#取日线数据data=get_data(symbol="rb",duration_seconds......
  • DevEco Studio:使用模拟器运行应用
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • 图论day61:最小生成树|最小生成树理论基础:prim算法、kruskal算法(思维导图版)、53.寻宝(卡
    图论day61:最小生成树|最小生成树理论基础:prim算法、kruskal算法(思维导图版)、53.寻宝(卡码网第七期模拟笔试)最小生成树理论基础(思维导图版)53.寻宝(卡码网第七期模拟笔试)1.prim法2.kruskal法最小生成树理论基础(思维导图版)53.寻宝(卡码网第七期模拟笔试)题目描述在......