首页 > 其他分享 >提高组数学专题 1 做题记录

提高组数学专题 1 做题记录

时间:2024-11-22 17:42:31浏览次数:1  
标签:popc 专题 记录 text 复杂度 times 数学 即可 dp

提高组数学专题 1 做题记录

A [CF1909F1] Small Permutation Problem(Easy Version)

首先推性质,发现若令 \(d_i=a_i-a_{i-1}\),则:

  • 若 \(d_i=0\),那么 \(1\sim i-1\) 位置上的空位不能放 \(i\),\(i\) 位置上不能放 \(\le i\) 的数。所以 \(i\) 位置成为一个空位。
  • 若 \(d_i=1\),那么要么在 \(1\sim i-1\) 的空位中放一个 \(i\),要么在 \(i\) 位置上放一个 \(\le i\) 的数。
  • 若 \(d_i=2\),那么既要在 \(1\sim i-1\) 的空位中放一个 \(i\),又要在 \(i\) 位置上放一个 \(< i\) 的数。

于是设 \(dp(i,j)\) 表示放到第 \(i\) 位,当前剩下 \(j\) 个空位的方案数。那么根据上面的分讨有:

  • 若 \(d_i=0\),则 \(dp(i,j)=dp(i-1,j-1)\)。
  • 若 \(d_i=1\),则 \(dp(i,j)=dp(i-1,j)\times j+dp(i-1,j)\times (j+1)\)。
  • 若 \(d_i=2\),则 \(dp(i,j)=dp(i-1,j+1)\times (j+1)\times (j+1)\)。

发现复杂度是 \(O(n^2)\) 的。不过实际上我们最终的状态就只有 \(dp(n,0)\),并且每一步都可以通过 \(d\) 推算出上一步走到 dp 值的第二维,所以迭代 / 递归去实现复杂度其实是 \(O(n)\) 的。

*B [CF1909E] Multiple Lamps

首先我们观察到这样一个性质:如果将所有 \(n\) 个开关全部按一遍,最后亮起来的只有平方数,因为只有他们有奇数个因子。那么按照这样的策略去按我们最后会剩下 \(\lfloor\sqrt n\rfloor\) 个数,在 \(n\ge 20\) 的时候这个值恰好不超过 \(\lfloor\dfrac n5\rfloor\),因此直接全部输出即可。

在 \(n\le 19\) 的时候,我们预处理一下,利用状压算出使亮灯数量合法的按开关状态,每一次询问的时候暴力判断是否满足限制要求即可。

C [HAOI2017] 方案数

首先考虑到格子总数过多,但是障碍格子少。这是经典的容斥 dp,设 \(f(i)\) 表示走合法路径走到第 \(i\) 个障碍物的方案数,那么会有转移方程:

\[f(i)=\{[0,0]\to[x_i,y_i]\}-\sum f(j)\times\{[x_j,y_j]\to [x_i,y_i]\} \]

其中 \(\{[x_i,y_i]\to[x_j,y_j]\}\) 表示从 \((x_i,y_i)\) 走到 \((x_j,y_j)\) 的方案数。现在问题就是怎么求这个。

发现题目中所给出的转移本质上和具体数值无关,而只和坐标的 \(\text{popc}\) 值有关。所以我们就设 \(dp(x,y,z)\) 表示从 \((0,0,0)\) 走到满足 \(\text{popc}(i)=x,\text{popc}(j)=y,\text{popc}(k)=z\) 的 \((i,j,k)\) 的方案数。枚举当前这一步增加了多少 \(\text{popc}\) 然后分三种转移计算即可。总复杂度 \(O(\log^4 n+o^2)\)。

^D [CF1917E] Construct Matrix

大力分讨的构造题。

  • 容易观察到,\(k\bmod 2=1\) 时必然无解。因此 \(k\bmod 2=0\)。所以接下来考虑将 \(k\) 按对 \(4\) 取模的结果分类。

  • \(k\bmod 4=0\) 时:

    • 容易发现我们挨个去填 \(2\times 2\) 的正方形一定有解。
  • \(k\bmod 4=2\) 时:

    • 当 \(k=2\) 或 \(k=n^2-2\) 时,如果 \(n\ne 2\),则必然无解,否则有解。

    • 当 \(k=6\) 时,可以在左上角构建一个如图所示的 \(4\times 4\) 的图案即可:

      1 1 0 0
      1 0 1 0
      0 1 1 0
      0 0 0 0
      
    • 否则,我们先在刚才的图案中加入 \(4\) 个格子:

      1 1 0 0
      1 1 1 1
      0 1 1 0
      0 1 0 1
      

      然后剩下的部分挨个去填 \(2\times 2\) 的正方形即可。

E [CF1891E] Brukhovich and Exams

考虑贪心的思路。

首先我们一定是先将同时与相邻两个数都互质的数改成 \(0\),这样每一次答案都可以减 \(2\)。接下来还有一种情况可以使得答案减 \(2\),就是将序列中间连续的一段 \(1\) 全部改成 \(0\)。所以将这样的序列按长度从小到大贪心选即可。

剩下的所有数怎么改单次都只能使答案减 \(1\) 了,对于不是 \(1\) 的数,直接改成 \(0\) 即可,答案对应减 \(1\);否则,剩下的 \(1\) 一定都在两边,此时应该从内向外去修改才能达到最优。

暴力模拟这个过程即可,复杂度 \(O(n\log V)\)。

*F [CF1886E] I Wanna be the Team Leader

观察样例发现假如我们对 \(a\) 从大到小排序,那么对于每一个项目,其所选的程序员在排序后的序列上是一个连续段。那么这个时候我们就悔得到一个最简单的 dp:设 \(dp(i,S)\) 表示到第 \(i\) 个人已经完成分配的项目集合是 \(S\) 的可行性。转移是简单的,复杂度 \(O(nm2^m)\),炸成大粪了。

再考虑一个贪心的思路,对于一个集合 \(S\),如果它对应选择的程序员正好是一个连续段的话,我们一定会让这一段的结尾更靠前。也就是说我们不必关心每一个人对于每一个集合的可行性,只需要关注每一个集合的终止位置。于是设当前已经分配的项目集合为 \(S\),我们要求出最小的 \(dp(S)\),使得将这些项目可以分配给 \([1,dp(S)]\) 中的人。转移方程比较简单:

\[dp(S\cup\{i\})=\min\{g(dp(S)+1,i)\} \]

其中 \(g(i,j)\) 表示分配第 \(j\) 个项目时,若从 \(i\) 开始分配连续段,至少要分配 \([i,g(i,j)]\) 这个连续段才合法。这个可以简单 \(O(nm)\) 预处理出来,总复杂度即为 \(O(nm+m2^m+n\log n)\)。

标签:popc,专题,记录,text,复杂度,times,数学,即可,dp
From: https://www.cnblogs.com/UKE-Automation/p/18563342

相关文章

  • 提高组字符串专题做题记录
    提高组字符串专题做题记录A[NOIP2020]字符串匹配考虑枚举循环节长度和循环次数,利用哈希判断合法,然后我们就可以求出\(f(C)\)了。此时我们需要在前\(i\)个前缀中找出满足\(f(A)\lef(C)\)的前缀有多少个,看上去可以用树状数组简单维护出来,但实际上由于\(f(S)\)的值最多......
  • 记录---前端中断请求的方式与原理
    ......
  • 【Linux工作记录】 grafana面板添加clickhouse数据源
    登录grafana的ui界面中添加clickhouse数据源发现没有找到clickhouse数据源操作步骤:1、到grafana节点机器中,找到grafana的bin目录2、安装clickhouse数据源插件./grafanaclipluginsinstallgrafana-clickhouse-datasourceError:✗pluginsDir(/var/lib/grafana/plugins)......
  • 专题五:知识产权与标准化
    知识产权概括从所涉及的法律法规角度著作权法计算机软件保护条例商标法专利法从试题考点分布的角度保护期限专利权:知识产权人确定工业品外观设计权:商标权:侵权判断保护期限问题客体类型权利类型保护期限公民作品署名权、修改权、保护作品完整权没有限制发......
  • 初学STM32记录
    一、硬件准备1.物品采购(1)STM32F103C6T6最小系统板(2)STLink仿真器(一般会随机赠送几条母对母杜邦线,若没有请购买)(3)一台计算机2.线路连接(1)将STM32系统板的VCC3V3、SWDIO、SWDCLK、GND这几个端口通过杜邦线连接到仿真器对应端口。(2)调试时将仿真器USB接口插入......
  • 洛谷 P1841 [JSOI2007] 重要的城市 做题记录
    前置芝士:floyd,组合数学思路因为要所有点的距离不变,所以我们需要一个全源最短路算法,理所当然的用上了floyd(下文循环顺序默认为\(k,i,j\))。我们在记录最短路长度的时候,同时记录最短路的数量\(sum\)。最后我们枚举所有三个点组成的三元组,如果有\(i\tok\toj\)的最短路,且有......
  • Shell脚本入门指南(三):参数传递与数学运算
    声明学习视频来自B站up主**泷羽sec**有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站......
  • COMSOL 多物理场仿真技术与应用-光电专题
    超表面逆向设计与拓扑光学在量子光学领域的应用探索 (一)案列应用实操教学:案例一光子晶体能带分析、能谱计算、光纤模态计算、微腔腔膜求解案例二类比凝聚态领域魔角石墨烯的moiré光子晶体建模以及物理分析案例三传播表面等离激元和表面等离激元光栅等案例四超材料和......
  • 为什么上海的学生都抢着考AMC8数学竞赛?AMC8有哪些作用?-季遇教育
    上海地区的学生和家长之所以对AMC8数学竞赛趋之若鹜,原因在于它不但能够增强学生的数学能力与综合素养,还能够为学生的升学以及未来发展给予强有力的支撑。故而,AMC8竞赛于上海乃至全国范围内均受到了广泛的关注与热捧。上海的学生在升学进程中,尤其是小升初阶段,面临着极为激......
  • 2025年AMC8数学竞赛的考试题目难度会增加吗?-季遇教育
      2025年AMC8数学竞赛的考试题目难度会增加吗?这无疑是众多备考同学心头萦绕的关键问题。新赛季的AMC8数学竞赛已确定将于2025年1月23日正式拉开帷幕,对于那些怀揣着在竞赛中取得优异成绩梦想、想要备考AMC8竞赛的同学们而言,此刻必须迅速行动起来,投入到紧张的备考之中! ......