代码源Csp-S模拟赛Day10-11赛后总结

news/2024/10/7 21:31:56/文章来源:https://www.cnblogs.com/yxans/p/18450569

代码源Csp-S模拟赛Day10-11赛后总结

Day 10

赛时

T1 赛时感觉很难维护时间以及多个精灵同时到达同一格子的情况,后来想了一种做法:对于每个格子最早被遍历到的时间我们的处理是容易的,你考虑我们可以对每行每列都建一棵线段树(数据范围保证了 \(rc\leq5e5\),所以总空间大致是一个 \(4rc\) 的,动态开点处理的话,空间肯定不会炸),如果一个精灵能向右走,我们就在它这一行的第一个线段树的他这列的那个位置上添加一个 \(t_i-y\)\(t_i\) 是该精灵出现时间,y 是他所在的列数,其它方向的同理。然后你求每个格子最早的染色时间的时候先 \(n^2\) 枚举所有格子,分别查询它四个方向的精灵,线段树维护,所以是 \(\log\) 级别的,于是 \(n^2\log\) 可以解决这个问题。然后你得到每个格子最早被到达的时间后你按照精灵的编号去枚举,维护一个指针指向它当前能染色到的格子编号,然后每轮按照他的方向继续移动一格,判一下到达时间不等于这个格子的最早遍历时间那么这个精灵就死了,再继续考虑下一个就可以。每个格子至多遍历一次,所以复杂度 \(O(n^2)\) 。这一系列都很对,但有一个小问题,就是你在预处理每个格子到达的最短时间的时候没有考虑到有的精灵一出生就死了,根本不可能遍历到它,但是你还是统计到了他的贡献,导致有一部分点你本身是可达的,只因最短时间的统计错误致使不可达。赛时是已经码完之后不过样例仔细思考才意识到这点的,而且这个思路实现需要很多细节,包括我线段树还码炸调了半天……意识到思路假的时候已经11点了(我本身是考虑T1A掉,后面都打暴力分数还是可以的,所以在这到题上投入了差不多四分之三的时间)。后面都打的暴力,所以也没啥可说的了。

赛后

T1 糖完了,竟是之间把每个精灵放到优队里暴力模拟……我感觉这个手法也见了不止一次两次了,不过是一年前的事了。已订。
T2是道构造题,容易发现一个性质就是如果我们找到了一个合法序列a,可以合理调整每个元素的值(+k,-k)来得到更多的合法解。所以一种想法是我们求一下序列a的和模n为i时和的最小值,通过枚举 \(a_n\) 的值为多少已经在这种情况下我们考虑原序列前 j 个元素,我们可以dp 求解这个问题。已订。
T3简述的话是只要你会码dfs暴搜后你就很容易想到 \(n^3\) 的dp,然后发现第三维没用优化成 \(n^2\) 的了。如果你还能注意到dp 下标的单调性,就完全转化成了格路计数问题。这就是正解了(感觉上一篇写得太长了所以决定简化题解部分)。可订未订。
T4……未订

Day 11

赛时

时间分配大致是 T1五分之三 T4 五分之一,T2T3五分之一。

T1是在磕正解,T4是20分的dp码炸了在努力的对拍,T2T3是简单的码暴力+T2推一些小性质。
但是T1糖了,没磕出来,所以是全场暴力,每道题的思考过程也没啥好说的了。

赛后

T1 看题面感觉很亲切,因为类似的题我做了两道,都是让你建的图有 \(n^2\) 规模的边让你求最小生成树的总边权的。一道是今年打的应该是abc35x的一道F题,另外一道是P9488 ZHY的生成树,它们的思路都是考虑一些不必要的建边然后暴力跑Kruscal。其实都说到这儿了这道题的解法也呼之欲出了。你考虑建的新图正常建是 \(m^2\) 个点,但你考虑建图的过程,枚举每个点它所连的每条边互相连边,那么你考虑只需要让边权最小的那条跟其它的连就行了,其它的连边都是无意义的,于是总边数为 \(O(m)\) 级别的。然后就做完了。

T2 T3 T4 都待订吧,视频还没看完,T1订过了。

总结

1.我觉得还是先把暴力都码完再磕正解比较稳妥一些,不然我这两天的比赛暴力分都没拿多少,都是仓仓促促最后三四十分钟码的。

2.思考的时候有的时候不够缜密,这种码了一两个小时最后发现思路是错的情况发生并不少见。

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

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

相关文章

期末考试复习宝典P19题7:特征图大小的计算(当计算得到小数时)

https://blog.csdn.net/qfqf123456/article/details/112389559#:~:text=本文介绍了如何计算卷 题目:输入图片大小为200乘200,依次经过一层卷积(kernel size 5乘5, padding 1,stride 2),pooling(kernel size 3乘3, padding 0,stride 1),又一层卷积(kernel size 3乘3, …

IDEA如何快速定位到当前打开文件所在的目录

前言 我们在使用IDEA开发时,经常需要知道当前打开的文件是在哪个目录,这个可以在上方看到具体的目录。 但是,当我们需要知道这个目录下有哪些文件或者想要复制当前文件的时候,就需要快速定位当前文件的目录了。 那么,我们应该如何操作呢? 如何操作定位当前打开文件目录 首…

Vulnhub 靶机 THE PLANETS: EARTH

0x01信息收集 1.1、nmap扫描 IP段扫描,确定靶机地址 平扫描 nmap 192.168.1.0/24扫描结果(部分) Nmap scan report for earth.local (192.168.1.129) Host is up (0.0015s latency). Not shown: 983 filtered tcp ports (no-response), 14 filtered tcp ports (admin-prohib…

基于 Prometheus+Grafana+Alertmanager 搭建 K8S 云监控告警平台(附配置告警至QQ、钉钉)

目录一、机器规划二、部署安装 node-exporter、prometheus、Grafana、kube-state-metrics1、创建 monitor-sa 命名空间2、安装node-exporter组件2.1、说明2.2、应用资源清单2.3、通过node-exporter采集数据3、k8s 集群中部署 prometheus3.1、创建一个 sa 账号3.2、将 sa 账号 m…

2024.10.7 鲜花

【UNR #3】百鸽笼【UNR #3】百鸽笼花の塔 君が持ってきた漫画 くれた知らない名前のお花 今日はまだ来ないかな? 初めての感情知ってしまった 窓に飾った絵画をなぞってひとりで宇宙を旅して それだけでいいはずだったのに 君の手を握ってしまったら 孤独を知らないこの街には…

基于 Prometheus+Grafana+Alertmanager 搭建 K8S 云平台系统(附配置告警至QQ、钉钉)

目录一、机器规划二、部署安装 node-exporter、prometheus、Grafana、kube-state-metrics1、创建 monitor-sa 命名空间2、安装node-exporter组件2.1、说明2.2、应用资源清单2.3、通过node-exporter采集数据3、k8s 集群中部署 prometheus3.1、创建一个 sa 账号3.2、将 sa 账号 m…

软件工程第二次结对作业

软件工程 https://edu.cnblogs.com/campus/fzu/SE2024作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13281作业目标 基于第一次结对作业项目程序的实现学号 102201127合作伙伴 102201129项目分工: 102201129周鑫: 前端开发: 设计和实现用户界面。 确保界面响…

20241007

sequence 我们会发现,我们每次删的一定是长度最短的那个,所以我们可以最开始按照长的排一下序,然后用线段树维护每一个区间中还有几个数,每次加上答案后在两个端点打上标记即可 #include <bits/stdc++.h> #define _1 (__int128)1using namespace std; using ll = long lo…

软件工程week2课程作业|“物品复活“软件开发

“物品复活”软件开发 作业要求 大学生经常有些物品觉得扔掉可惜,不处理又觉得浪费自己的地方。请你编写一个物品“复活”软件 该程序允许添加物品的信息(物品名称,物品描述,联系人信息),删除物品的信息,显示物品列表,也允许查找物品的信息 你实现的程序可以采用命令行…

[42] (多校联训) A层冲刺NOIP2024模拟赛03

今天的乐子今天的乐子2 昨天晚上做梦 梦见自己被关进戒网瘾学校 里面的老师全和疯子一样 然后我和这帮疯子老师比疯 疯子老师发现他们没我疯 所以就把我放了今天的乐子3 lhx 罗曼蒂克的辟谷A.五彩斑斓 赛时的想法 \(n^4\) 的做法,设 \(f_{i,j,k,l}\) 表示以 \((i,j)\) 为左上角…

Metasploit渗透测试框架学习(一)基本使用教程

1.Metasploit框架结构 1.1总览基础库文件Rex为最底层,实现网络套接字、网络应用协议、客户端服务端交互、数据库支持等 framework-core实现与上层模块交互的接口 framework-base对framework-core的扩展封装,用于提供各种接口供用户调用基于framework-base实现的六大模块Explo…

统计学(十三)——相关分析

img { display: block; margin-left: auto; margin-right: auto } table { margin-left: auto; margin-right: auto } 相关分析是用于研究多个变量之间相互关系的统计方法,最早由英国统计学家卡尔皮尔逊(Karl Pearson)于1896年提出。皮尔逊通过对变量间线性关系的深入研究,…