2025寒假后训练总结

news/2025/2/11 16:31:11/文章来源:https://www.cnblogs.com/dccy/p/18710029

2025寒假后训练总结

2025-02-05

今天一早返校,困困。寒假十天有点玩脱了,从没学习过,WC 和 THUWC 的游记还没写。

今天省选组题感觉非常有趣,但也很难就是了。

第一题是给定排列和用 XOR-SHIFT-64 生成的随机数生成方式,然后求随机种子。我首先倒推出每个 \(i\) 操作完后 \(\bmod i\) 后的值,然后枚举种子暴力 check,就获得了 40pts,这也是我模拟赛最终的分数。
实际上考虑如果模数是 \(2^k\),那么就可以得到一个关于按位考虑种子每一位的值的异或方程,而对于 \(i\) 不为 \(2^k\) 的情况也可以把 \(2\) 因子提出来。
比赛时没有发现 \(n\ge 50\),而这就好做了,当 \(n=50\) 时,方程的个数是 \(47\),高斯消元后也可以确定约 \(45\) 个元,于是枚举剩下的自由元并暴力 check 即可。时间大概是 \((47^2+2^{19}k)\)\(k\) 是做 XOR-SHIFT 暴力 check 的很小的常数。

在做完第一题的 40pts 后很困,开始睡觉。后面又想了想后两题,想到第二题可能是什么 DP,然而我发现样例 1 都看不懂,赛后才发现是直接从 1 走到 \(n\)。而第三题我就没多想了,感觉很神秘。

最后获得四十分,大概是中位数。

晚上八点把第二题改出来了,是一个比较难想的容斥,然后剩下的就用简单 DP 算就好了。具体来说如果两条路径有交那么交换交之后的路径,最后可以得到答案是 \(F(1,n)\times F(2,n-1)-F(1,n-1)\times f(2,n)\),其中 \(F(x,y)\) 是从 \(x\) 走到 \(y\) 的方案数。而 DP 就是依次插入弦,然后记录到达这条弦最后一个交点的方案数。

而第三题则是用 NTT 和发现性质等优化 DP。

总结

  • 今天很困,于是没有多多思考,原来第一题和第二题考察的知识点并不难。
  • 第一题没有看见 \(n\ge 50\) 的数据范围,以后要仔细看数据范围。

2025-02-06

今天大失误,没有获得理想的分数。

首先看 T1,感觉有点像签到题。一个小时时想到了可以用 ST 表配合优先队列快速求出一个后缀的第一小、第二小……但是发现如果 DFS 是错的,于是我就想 BFS,对新的点重标号而保证顺序,就这样过了大样例,然而我忘记考虑到大样例有很水的成分。

后面我去看后两题,几乎没有什么思路,T3 的暴力也不好写,于是最后只写了 T2 的暴力获得 20pts。

结果就在最后十多分钟,我想到可以给 T1 对拍一下,五分钟写了暴力,结果发现过不了拍,原来是我的做法假了。最后只好交了暴力。
赛后发现原本假做法是 36pts,暴力是 12pts。

这场比赛最终得分是 12+20+0=32,获得倒数第一。

而 T1 的正解就是考虑改进一下在 \(a\) 互不相同时正确的 DFS 做法。
可以用 vector 记录每一种相同的序列最后到达的位置,以此传参。然后可以延续之前 ST 表加优先队列的做法。最终在改题时获得了最快解。

总结

  • 今天的问题在于 T1 是签到题,而我用假做法却过了大样例,以后当大样例较水时应当写对拍。

2025-02-07

今天做杂题。各题的总结写入2月杂题集了。

2025-02-08

今天开场 T1 换了三次题,因为都有人做过,最终换成了前两题都是构造。

首先看到 T2 其实就是使所有长为 \(3\) 的子序列都出现过,那么我猜可能是分治构造,之后就去看 T1。

几乎所有时间都给了 T1,然后也获得了最高分 59pts。分别看每一档,然后用手构造出一些看起来合理的图形,最终发现最后的答案大概都是循环的,于是很容易就把 \(K=2,4,5,8\) 的过了。

然后就卡在 \(K=3,7\) 了。中途花了很多时间手绘,设计出了一种 \(K=3\) 的做法,发现可以过其中的三档,但还差两档。之后就没有进展了。

最后的四十分钟我尝试写 T2,然而最后十分钟发现我的思路貌似假了。

最终得分 \(59+0+0=59\),取得中位数。

总结

  • 本次比赛问题在于没有写 T3 的暴力,事实上如果 T3 获得 20pts,再加上 T1 的分数,就能取得非常高的排名。
  • 像 T1 如此暴力的题应该最后花时间来想,应该先把其他题的暴力拿下。

abc392

因为太久没打 abc 所以没有 Rated,所以做慢了也不紧张。

做完 ABC 以后,D 题让我有些犹豫,决定先放一放。

然后我看到 F 题,发现是平衡树板子题,我想用 rope 水分,然而 TLE 了,只好老实地重写了一遍 FHQ-Treap。

然后看到 G 题,想了很久终于想到可以把 \(B-A=C-B\) 移项得

\[2B=A+C \]

枚举 \(B\),就是求有多少组 \(A+C\) 等于 \(2B\),于是用 FFT 卷积即可。

然后回头做 D、E。E 题 WA 了两发,第一发因为忘记了题意只能改变一个端点,第二发因为一个变量名写错。

然后是 D 题,刚才已经想到了一个 \(O(n\sum k_i)\) 的做法,很快就实现了。

最后在还剩二十多分钟时 AK 了,前面已经有十几个人 AK 了,属于是做太慢了。

2025-02-09

今天终于场切了一道题。

首先开 T1。发现贪心不可做,于是想到了 DP,求出每个子树内的最大值。把路径挂在 LCA 上,加入一条路径时要加上这条路径上挂着的那些子树,注意到还有儿子不能重复选的限制,于是加上状压,枚举子集合并复杂度可以接受,最后更新路径和,路径和使用 BIT 维护。最后复杂度是 \(O(3^{10}n+(n+m)\log n)\)。过了这题大概用了一半的时间。

然后对于 T2,看到数据范围,想到可能是 \(O(n\sqrt n\log)\)\(O(n\sqrt n)\) 左右的复杂度,于是考虑怎么分块,但没想到,于是打算写 \(O(n^2\log n)\) 的线段树上二分试图拿到 60pts,然而赛后发现只有 25pts,大概是写假了。

然后 T3 就没有什么思路了,似乎因为重复元素很少所以可以水很多分,但我只写了 20pts 的暴力。

最终得分 \(100+25+20=145\),排名属于中间。

总结

  • 今天的分打得比较满,但 T2 写假了有点可惜。T3 也还可以试图水一些分。
  • 今天 T1 在赛时通过对拍成功发现了错误,以后能写对拍一定要写对拍,特别是没有大样例的时候。

2025-02-10

今天杂题 & 自主安排。各题总结写在2月杂题集里了。

2025-02-11

T2 是半年前做过的树分块原题,但当时没改出来。

首先做 T2 前三个档是容易的,考虑第四个档,发现一个性质:对于一个问号变成 \(0\) 的点,其父亲一定不存在问号变成 \(1\) 的点,否则交换一定更优。那么现在就是选若干个不相交的子树,这些子树中的问号填 \(1\),其他问号填 \(0\),那么可以按 DFS 序 DP,当一个子树 \(x\) 全选 \(1\) 时,从 \(i=dfn_x\) 直接转移到 \(j=dfn_x+sz_x\),预处理一些东西的子树和与到根的路径和即可做到 \(O(qn)\)。写完并交上去用了 2h,预计获得 50pts。

然后回头做 T1。先想没有问号怎么做,我想到了对于位于 \(i\) 的加号,记前面有 \(s\) 个减号,那么如果 \(a_{i-s}\) 为减号那么就有 \(1\) 的贡献。就这样可以得到 30pts。交了上去,此时已经过去三个小时。

T1 我尝试用 DP 代替暴搜,然而并想不到。然后看 T3 题意太冗长,各种定义套来套去,估计要做很多等价变化,暴力分也很少,于是就没有再看了。于是最后的一个半小时一分未得。

最后总分 \(30+50+0=80\),发现很多人都过了 T1,T2 也能得到 75pts,所以今天垫底了。

赛后

ZnPdCo 用了一个更显然的性质做了 30pts,于是他就能 DP 优化了,我就无法套上 DP。性质:记一共有 \(s\) 个加号,那么贡献即为 \([1,s]\) 中减号的个数。

总结

  • 今天 T1 的性质不好,不能直接优化,然而可以打表发现一些更显然的性质从而 \(O(n^2)\)
  • T2 属于是之前没有改题导致的。

The End

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/882139.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shiro中UnavailableSecurityManagerException解决方案

前言 大家好,我是小徐啊。spring boot默认使用spring security,spring security自然不用说是一个强大的安全框架,但是用惯了shiro,一时半会用不来spring security,所以要在spring boot中自己整合shiro。 但是,我遇到了一个报错:UnavailableSecurityManagerException,搜…

网络流 笔记

本文原在 2024-07-22 10:17 发布于本人洛谷博客。 一、定义与性质 1. 基本定义 从水厂出发,有很多节点和水管,节点不能存水,但容量无限,水管有容量上限,全部水管最终经过某些节点都会流向某个工厂里,问最多同时能给工厂发多少水? 流网络:这张图。 源点:水厂。 汇点:工…

CentOS7 - firewalld只允许国内ip访问

firewalld只允许国内ip访问 #查看public区域大致情况 firewall-cmd --zone=public --list-all #获取china ip源 wget --no-check-certificate -O- http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest | awk -F\| /CN\|ipv4/ { printf("%s/%d\n", $4, 32…

2025 寒假集训 第二期

2025 寒假集训 第二期 J - Shift and Flip 题意:给出两个 \(01\) 串 \(A,B\) ,要求使两串相等,可以执行以下三种操作将 \(A\) 左移一个单位 将 \(A\) 右移一个单位 选择一个位置 \(i\) 满足 \(B_i=1\) ,使 \(A_i\) 取反求最小操作数。 思路:不可能的情况只有当 \(B\) 全为…

为word中的图片批量添加边框

写报告时,经常会在word中插入几十张甚至是上百张图片,而为了美观,通常会为这些图片添加边框,但一个个添加显然是疯狂且愚蠢的,我们应该做一些更有效率的事情。 使用python-docx来实现我们的操作(由于各种原因,不会选择用宏) 首先观察一下图片加边框前后的文档结构变化(…

DeepSeek本地化部署超简单!快给你的大模型安排上聊天助手吧!

上一篇我们讲了如何把deepseek R1 安装部署到个人电脑上。(感兴趣的请跳转至 https://www.cnblogs.com/AI2025/p/18709288) 但是,我们部署完了发现,如果仅仅是只在黑漆漆的命令行里面去和AI对话聊天,感觉很不人性化,也不好用。那么,有没有更好的和AI交互聊天的工具呢? …

prometheus监控k8s并发送报警

1.编辑prometheus的configmap文件kubectl edit cm prometheus-1738826520-server2.添加如下红色字体apiVersion: v1 data:alerting_rules.yml: |-groups:- name: deployment Monitoringrules:- alert: DeploymentReplicasUnavailableexpr: kube_deployment_status_replicas_una…

VS2022 安装失败 : 未能安装包“Microsoft.VisualStudio.JavaScript.SDK_1.0.1738743,version=1.0.1738743”

VS2022 安装失败,异常提醒: 1、未能安装包“Microsoft.VisualStudio.JavaScript.SDK_1.0.1738743,version=1.0.1738743” 2、未能安装包“Microsoft.Windows.SDK.BuildTools_10.0.26100.1742,version=1.0.0.0” 问题原因,可以直接查看本地安装异常日志文件,文件中的描述应该…

项目管理证书报考条件:不同证书的对比分析

项目管理领域的证书众多,它们在行业内都具有一定的认可度和价值。对于有意投身项目管理行业或提升自身项目管理能力的人来说,了解不同证书的报考条件至关重要。这不仅关系到能否顺利报考,更影响着未来的职业发展方向。接下来,我们将对几种常见的项目管理证书报考条件进行对…

C# 迷宫求解算法,给出思路和例子。

C# 迷宫求解算法 迷宫求解通常可以使用 深度优先搜索(DFS)、广度优先搜索(BFS)、A(A-star)搜索* 或 Dijkstra 算法。以下是几种常见方法的思路及代码示例。1. 迷宫表示 迷宫通常可以使用 二维数组(char[,] 或 int[,])来表示:0 表示可以通过的路径 1 表示墙或障碍物 S(…

No.18 Kappa系数精度评价2.0

# Loading necessary libraries library(openxlsx) library(vcd)# Reading the Excel data AccData <- read.xlsx("D:/R_proj/a绘图demo/bKappa/五指山生态系统分类精度评价一二级类.xlsx",sheet = 1, colNames = T)# Handle missing values (replace NA with 0) …

什么是回溯法,给个C#简单的例子。

回溯法(Backtracking)是一种搜索算法,主要用于解决组合优化问题,如全排列、子集、数独、八皇后问题等。它通过递归的方式尝试所有可能的解决方案,并在发现当前路径无法得到正确答案时回溯到上一步,继续尝试其他路径。 回溯法的基本思想选择:选择一个可能的选项。 约束:…