首页 > 其他分享 >2024.10.1 近期练习

2024.10.1 近期练习

时间:2024-10-05 20:11:42浏览次数:7  
标签:度数 2024.10 练习 近期 即可 Delta 直径 考虑 dp

CF1993F2 Dyn-scripted Robot (Hard Version)

这个题非常的一眼,首先翻转路径的操作可以转化为翻转矩形。
也就是,如果触碰了边界不改变行走的路径,而是继续走下去,只不过对应的位置需要对称回去。
那么,计算走到 \((0,0)\) 的次数,也就是在反转后的坐标系里的 \((2k_1w,2k_2h)\) 的位置。
类比 2024 省选“季风”,把路径上每个点在不同周期的位置取出来,是 \((x+t\Delta x,y+t\Delta y)\) 的形式。
然后求解多少个 \(t\),满足 \(x+t\Delta x=0\pmod{2w},y+t\Delta y=0\pmod {2h}\)。
发现这就是 EXCRT 的形式,然后合并出来计算即可。

CF2003F Turtle and Three Sequences

观察到 \(m\) 很小。所以这个题非常像 CSP2022“假期计划”,于是考虑给每种 \(b\) 随机染上 \(m\) 种颜色之一。
那么我们若选出 \(m\) 个不同颜色的位置,\(b\) 一定不同。
所以现在我们相当于使 \(a_i\) 递增,\(c_i\) 和最大,且颜色覆盖 \(m\) 种的每种且不重复。
这个用 dp 很简单处理。考虑像普通 LIS 那么用树状数组优化 dp 求即可。
考虑计算算正确的概率,一次算对是 \(\dfrac{m!}{m^m}=0.0384\),重复大概 \(120\) 次,正确的概率就 \(99.9\%\)。

CF2004G Substring Compression

很明显一个性质,若要把 \(t_i\) 重复 \(t_{i-1}\) 次,那么 \(t_{i-1}\) 一定是属于 \(1\sim 9\)。
所以题目可以转化为划分若干段出来,每一段的权值是其首位数乘上长度减一。这个可以拆贡献。
考虑 dp,有 \(10\) 种状态,对应当前段首位数是多少。转移考虑新开段或继续接上。
转移比较简单,维护 \(f_{i,j}\) 表示前 \(i\) 位上一段是 \(j\) 的答案,以及 \(\min_j f_{i,j}\),用 ddp 处理。
然后这个题是滑动窗口形式的询问,所以套上 Baka's Trick,即双栈模拟队列即可。

CF2006E Iris's Full Binary Tree

我们考虑找一个根出来,这个根需要满足度数 \(\le 2\),其他的节点度数 \(\le 3\)。
关于从这个根出发最远的点深度,这与直径有关,深度也就是其到直径中点的距离+直径的一半。
所以我们只需要维护直径中点的位置即可。注意到每次挂叶子,直径中点移动最多半条边。
直径中点的移动会造成子树加,拍到 dfs 序上处理即可。
于是相当于查找全局 \(\min\),对于度数 \(>2\) 的,我们将其设为 \(\inf\) 即可。
这个十分典,树上点到其他点最长距离与直径中点有关。

标签:度数,2024.10,练习,近期,即可,Delta,直径,考虑,dp
From: https://www.cnblogs.com/Simon-Gao/p/18448406

相关文章

  • 2024.10.5 LGJ Round
    A给定\(n\)个区间,你要选出最多区间对数,使得每一对的区间都不交。\(n\le4e5\)。反悔贪心,我们将所有区间按\(l_i\)从小到大排序,一个一个加入,加入的时候有两种情况。1.之前的区间中存在未匹配的区间,且可以跟当前区间匹配。我们随便选择一个区间跟当前区间匹配即可。2.找不到......
  • 算法练习记录(24.10.5)
    1.B.BrightnessBegins思路要求最后的灯泡打开的数量,由于一开始灯泡是打开的,如果最后还需要打开,那么操作数量一定是偶数,移目至操作前提,需要灯泡的序号能整除\(x\),由于遍历1~x,推出最后灯泡\(i\)亮的条件是:\(1~i\)中有偶数个\(i\)的因数,即\(i\)有偶数个因数,反之即有奇数个......
  • 2024.10.5 LGJ Round
    A给定\(n\)个区间,你要选出最多区间对数,使得每一对的区间都不交。\(n\le4e5\)。反悔贪心,我们将所有区间按\(l_i\)从小到大排序,一个一个加入,加入的时候有两种情况。1.之前的区间中存在未匹配的区间,且可以跟当前区间匹配。我们随便选择一个区间跟当前区间匹配即可。2.找不到......
  • 【THM】Nax练习
    【THM】Nax练习与本文相关的TryHackMe实验房间链接:TryHackMe|Nax简介:识别市场上最强大、最可信的网络监控软件中的关键安全缺陷,该软件允许用户通过身份验证执行远程代码执行。你能完成这个挑战吗?注意:这个房间需要Metasploit6第一题:你找到了什么隐藏的文件?第一步端口......
  • C++-练习-52
    题目:这个练习让您编写处理数组和结构的函数,下面是程序的框架,请提供其中描述的函数,以完成该程序#include<iostream>usingnamespacestd;constintSLEN=30;structstudent{charfullname[SLEN];charhobby[SLEN];intooplevel;}; intgetinfo(studentpa[],i......
  • 2024.10.4(周五)
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><title>工资核算信息</title><style>/*整体页面布局和样式*/......
  • 2024.10.7(周一)
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><title>车间班组</title><style>/*整体页面布局和样式*/......
  • 《代码大全》阅读笔记1(2024.10.4)
    第一章:引言软件构建的艺术:介绍了软件开发的复杂性,以及编写高质量代码的重要性。强调了良好的编码习惯不仅能提高代码的可读性和可维护性,也能降低后期的开发成本。第二章:软件构建的哲学质量的重要性:讨论了软件质量的定义,强调高质量软件不仅包括功能的正确性,还包括可维护性、......
  • 2024.10.2(周三)
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><title>生产工序信息</title><style>/*整体页面布局和样式*/......
  • 2024.10.1(周二)
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><title>生产制令</title><style>/*整体页面布局和样式*/......