前行记录 - 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游记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238125

相关文章

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图