前行记录 - NOIP2018游记

2023-10-19 06:59
文章标签 记录 前行 游记 noip2018

本文主要是介绍前行记录 - NOIP2018游记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NOIP2018游记 - 前行记录

NOIP2018 完跪……滚回学校考半期 QwQ

这篇不是题解 awa ,题解之后会发布的,毕竟我还没有AC呢

又及……G2020 陌路笙歌 - 再见(╯▽╰)


 

感悟

第一次考提高组,之前和将要AFO的G2020一起培训了很久,感触颇深~毕竟距离AFO就只剩两年了,还是抓紧吧

星期五试机的时候有一点爆炸……O(nlogn) 的最长上升子序列都写挂了。

考试的时候根据策略先扫了一遍所有的题——嗯~好!没几道会做的 QwQ


 

Day1 划水

一群人说AK Day1……然后高中那边说只有3个人没AK,然而真的很爆炸

铺设道路

一开始的奇葩思路:找到最小值,作为分隔点分治;

怎么找最小点呢?线段树!-_-|||

然后发现好像很难实现……如果区间里有多个最小值怎么办?

又一想,NOIP day1 t1 线段树??? Impossible! 

再看一眼……贪心!尽可能多填(似乎是很明显的)!单调栈!(终于对了)

嗯,用了1h做出来

货币系统(对,就是这道题写挂了)

好熟悉的题目……完全背包!(正解是这样)

然后莫名递推式写挂,多写了一个 O(n)

出题人非常友好~特殊数据挺多。

先说我自己的做法吧……因为时间不够,就没有写正解,直接骗分:

当m=1时直接跑DFS,加一个最优性剪枝;

当i和i+1相邻时,就相当于是一个链,所以可以二分答案,贪心检测(即从链的端点出发,尽可能选线段,记录现在的线段总长为tot,当tot>mid即符合条件时,就可以清零tot,找到的路径条数+1)

其实想到二分+贪心判断就已经接近正解了,还是有一点可惜。据说正解先二分答案,然后从叶子节点出发尽可能取线段(边),当达到mid时就形成了一条新的路径;当两个路径会于同一个节点,即LCA,则判断两条路径相连能否>=mid,可以就形成新路径,否则取较长的路径连接根节点再往上推。

 

听说很水,但是还是挂了;似乎是230的分。


 

Day2 尝试

好像有一点Difficult,对于一个初中生真是太不友好了(似乎对于zjx和tly巨佬来说不是这样的……)

旅行

比较简单的贪心;

从1出发;

对于树形结构先走较小点;

然后又一个环的情况挂了……时间复杂度没分析对,本来 O(n^2)能过,但是就没写,以为会 TLE;

填数游戏

看题目的时候第一眼——结论题!!!

然后第一题放弃后就开始死推结论,然后推出来一个似乎是正确的结论——

如果A,B两个位置,A在B的右上方,则A的填的数字不能大于B;

验证了一下2*2的情况,是对的(开心);然后手算3*3……为什么我算出来是144?!

心态就崩了……最后只好将6*6的所有答案通过DFS打表跑出来(效果不错)

然后赛后发现很多同学和我的结论一样……都卡住了,于是我们开始讨论——我把我有点疑惑的一点画出了图:

上面黑色块填的数字是1,看得出来蓝色路径为 "RDDDR",红色路径为"DRRRD",但是蓝色路径经过的点为"01010",红色路径经过的点为"01000"……

尴尬……结论完全错误

保卫王国

 第一眼树形DP(开心)

然后发现多组询问,沉思QwQ

想不出来,就只好写 O(n,m) 的,也就是对于每一次询问都做一次 O(n) 的DP

but……树形DP写挂了啊——因为如果当前点是询问中要求必须选/不选的点,dp状态中的一个值就需要赋值为INF,但是我把这一步操作放在了访问当前节点的儿子时处理的……也就是说如果当前节点是被限制的一个节点,在访问它的一个合法儿子(不是父亲)时,我就把某一个dp状态设为INF(比如当点u不能选时,表示“选择u点”的状态就是INF)。但是会出现一个问题——限制叶子节点时,因为叶子节点没有子节点,所以它的不合法状态就不会标记为INF,就挂了。

关键是只要存在一个这样的询问,整个数据就会挂掉QwQ


 

叹息

唉,以前常喜欢说 “路还很长,要慢慢走” ,但现在看来路虽长,但时间却不多了啊!

已经初三了,下一年就是高一,再过两年,没进省队就要AFO了(虽然不是真正的OIer,但是还是不愿提到AFO这个终会到来的事实)

后面的路得加紧走了(我设立了一个计划,刷《挑战程序设计竞赛》的习题,尽可能每周6道)

希望大家能共同进步(膜谁也没用,考场上还是孤单一人)


 

The End

Thanks for reading!

转载于:https://www.cnblogs.com/LuckyGlass-blog/p/9946014.html

这篇关于前行记录 - NOIP2018游记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_33753845/article/details/94237156
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/238125

相关文章

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE