首页 > 其他分享 >24.10.10

24.10.10

时间:2024-10-10 19:22:56浏览次数:1  
标签:10 le 边界 sum 24.10 区间 calc

非常好双十模拟赛,使我的分数任意旋转都不变(〇),爱来自 CDQZ。

话说怎么双十模拟赛题面都是双十一啊(

A

数据范围弱化版:P2592

\(n, m \le 10^7\)。

把一个看作 \(+1\) 另一个 \(-1\),那么合法序列即为前缀和的最大值与最小值的差 \(\le k\)。在一维上不好写,上二维平面。

把向右走一步看作 \(-1\),向上走一步看作 \(+1\),那么每个格点代表的前缀和为 \(y - x\),也就是要求路径上 \(\max(y - x) - \min(y - x) \le k\)。也就是划定两条直线 \(y = x + i,y = x + i + k\) 使路径不穿过这两条直线。

芝士反射容斥,可以看集训队论文再谈格路计数。也可以拜谢反射容斥 & exLucas 大蛇 NT

令 \(n,m\) 是非负整数,\(l, r\) 是整数,满足 \(l < 0 < r, n + l < m < n + r\),从 \((0, 0)\) 到 \((n, m)\),始终不与 \(y = x + l\) 和 \(y = x + r\) 相交的格路数量为

\[|L((0, 0) \to (n, m) | x + l < y < x + r)| = \sum_{k \in \mathbb Z}\left(\binom{n + m}{n - k(r - l)} - \binom{n + m}{n - k(r - l) + r}\right) \]

使得组合数有意义的 \(k\) 是一个区间。只需要计算 \(O(\frac{n + m}{r - l})\) 个 \(O(n + m)\) 量级的组合数。

然后这个题里没有规定上下边界,只要求上下边界距离为 \(k\),所以枚举上下边界,但是枚举之后发现每个上下边界距离为 \(\Delta\) 的路径被算了 \(k - \Delta + 1\) 次。那么记枚举上下边界距离为 \(k\) 算出的答案是 \(calc(k)\),最终答案为 \(calc(k) - calc(k - 1)\)

这样复杂度是 \(O(\frac{n + m}{k} \times k ) = O(n + m)\) 的。

B

令 \(f_i\) 表示面值为 \(i\) 的方案数,记 \(cnt_i\) 表示面值为 \(i\) 的优惠卷数量,那么转移:\(\displaystyle f_i = \sum_{d = 1}^{100} f_{i - d} \times cnt_d\)。

最终答案为 \(\displaystyle\sum_{i = 1}^k f_i\)。

长得矩阵模矩阵样的。

C

交互题,不会配交互库所以没写(

鳶一折紙:怎么 std 只有 37pts。还是我交互库配错了?

D

这里区间端点是隔板,所以活动范围是开区间。

考虑对每个区间 \((l, r)\) 增加两维 \(l', r'\),表示拆了板子后的区间是 \((l',r)\) 和 \((l, r')\),那么两个区间 \((l_1, r_1, l_1',r_1'),(l_2,r_2,l_2', r_2')\) (不妨设 1 在 2 左侧)同时选的条件为 \(r_1' \le l_2 \wedge r_1 \le l_2'\)。

找区间可以从下往上扫描线 + set,当一个线段被加入就向左找 \(3\) 个点向右找 \(3\) 个点统计区间。

将所有区间按 \(r'\) 排序。

设 \(f_i\) 表示考虑完最右端点(就是 \(r'\))在 \(i\) 之前的区间后,最多能选多少区间,\(g_i\) 表示在 \(f_i\) 最大的情况下,最后一个区间的右端点(\(r\))最小是多少。

那么考虑第 \(i\) 个区间时,先让 \(f_{r_i'}\) 继承前面的状态,再用 \(f_{l_i}\) 去更新 \(f_{r_i'}\),更新条件是 \(l_i' \ge g_{l_i}\)。

标签:10,le,边界,sum,24.10,区间,calc
From: https://www.cnblogs.com/KinNa-Sky/p/18456964

相关文章

  • STM32f103c8t6中PWM的配置
    1、PWM简介    PWM波形(PulseWidthModulation,脉冲宽度调制波形)是一种占空比可变的脉冲波形。这种调制方式通过改变脉冲的宽度来控制电路中的信号强度和频率。具体来说,PWM波形中的高电平持续时间和低电平持续时间可以根据需要进行调整,从而实现对模拟信号电平的数字......
  • 【玩转 JS 函数式编程_010】3.2 JS 函数式编程筑基之:以函数式编程的方式活用函数(上)
    写在前面按照惯例,过长的篇幅分开介绍,本篇为JavaScript函数式编程核心基础的第二部分——以函数式编程的方式活用函数的上篇,分别介绍了JS函数在排序、回调、Promise期约、以及连续传递等应用场景下的用法演示。和之前章节相比难度又有一定的提升。准备好了吗?3.2.以......
  • 《大侠立志传》游戏闪退未响应提示“找不到cv210.dll”文件该怎么处理?大侠立志传游戏
    《大侠立志传》以其丰富的剧情和独特的玩法吸引着众多玩家。然而,启动游戏时若出现闪退未响应且提示“找不到cv210.dll”文件,着实令人苦恼。遇到这种情况该如何处理呢?下面为大家提供解决办法。cv210.dll的功能介绍cv210.dll是VisualC++RedistributablePackage的一部分,特别......
  • 《星球大战绝地:幸存者》游戏启动时未响应弹窗“找不到mfc110u.dll”文件该怎么解决?星
    《星球大战绝地:幸存者》以其精彩的剧情和刺激的战斗吸引着众多玩家。然而,启动游戏时若出现未响应且弹窗提示“找不到mfc110u.dll”文件,着实令人苦恼。遇到这种情况该如何解决呢?本篇将为大家带来《星球大战绝地:幸存者》游戏启动时未响应弹窗“找不到mfc110u.dll”文件该怎么解决......
  • Windows-WMI 事件 ID 10或0x80041003——解决过程
    2024年10月8日国庆节后,第一天上班,实验室里一台PC机出现故障,Windows7系统,可以正常启动进入安全模式,但是正常启动无法加载桌面,可以看见鼠标,Ctrl+Alt+Del无法调出任务管理器。开始处理,进入安全模式,查看系统日志。发现一个错误如下(截取自[https://www.cnblogs.com/longware/p/78231......
  • 算法训练营第十天|232.用栈实现队列 ,225. 用队列实现栈,20. 有效的括号,1047. 删除字符
    前置知识栈和队列都是以deque为缺省底部结构,实际上可以自己指定vector,deque,list都可以栈和队列都被归类为containeradapter(容器适配器)使用栈实现队列的操作:push(x)--将一个元素放入队列的尾部。pop()--从队列首部移除元素。peek()--返回队列首部的元素。empty()......
  • [赛记] csp-s模拟10
    欧几里得的噩梦-pts看见是个线性基的题就没打;其实也不是线性基,只不过模拟了一下它的过程;考虑插入一位数时它能不能被表示,其实就是它异或上线性基中的某些值后可不可以为$0$,那么我们就可以将插入的单独一位数与$0$连边,将两位数互相连边,这样每插入一位数时看看它与$0$......
  • IEEE全球极限编程大赛10.0题目题解:给出数字N,A,B,求出A,B之间与N互质的数的和(数据范围大)
    题目题目来源第10届IEEE极限编程大赛https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/inti-setsInordertomotivatehisPeruvianstudents,ateacherincludeswordsintheQuechualanguageinhismathclass.Today,hedefinedacurious......
  • 2024/10/10
    中山市选2011杀人游戏一个环上的点可以通过询问环上任意一点来确定整个环的状态,有入度的点可以通过询问它之前的点来确定。所以我们先缩点。需要统计出所有入度为\(0\)的强连通分量的个数。注意一个特殊情况,若存在一个强连通分量满足它大小为\(1\),且它连接到的点的入度都不......
  • ChatGPT国内中文版镜像网站整理合集(2024/10/10最新)
    一、GPT中文镜像站①yixiaai.com支持GPT4、4o、o1、文件上传、知识库,支持MJ绘画②chat.lify.vip支持通用全模型,支持文件读取、插件、绘画、AIPPT③AIChat支持GPT3.5/4,4o以及MJ绘画1.什么是镜像站镜像站(MirrorSite)是指通过复制原始网站内容和结构,创建的备用网站。......