2024省选游记
我来自ZJ,非常菜,别人在考省选,而我却像在考CSP。
Day -1
稍微补了点题,然后复习了下板子和之前写的博客。总结了下思路来源
1.因为是序列上的问题,不难想到是一道数据结构题。
2.在构造题中看到相等,我们就能想到各种-1和1相抵消。
3.二进制想到拆位
4.在图中的约束条件想到并查集
5.数的约束条件想到并查集,差分约束,dfs
6.看到要求的比较难求。正难则反或不妨枚举要求的,然后验证条件(包括退火)。
7.看到环想到双倍
8.将删除转换为添加
9.看到能dp的题目就做dp,先压状态,然后进行优化
10.通常一个子树的信息可以由儿子合并而来。题目要求输出每个子树的答案。时间1e5想到线段树合并
考试策略/方法:
打暴力
Day1
很低,但基本把我会的分都打了。
发现自己在游记中有点有点学术东西了
8:30-10:30 T1
看到这个先拆式子
我想先从入手
不妨设xi全部相等
后面这个式子比较好处理
然后因为
发现随是有二段的一个关系,通过打表发现m是否符合情况是类似000011111110000(0表示不符合1表示符合)可以使用三分。但是我不会三分,考场上现推,寄了。搞了个退火,能过60%样例,寄。最后贴了个暴力。
10:30-12:40 T2
一开始看着暴力分比较好打,直接花15min打完暴力。然后人傻了,一个都不会。考试时想着要冷静,然后看到了没有加法这一档,显然可以用01trie。然后思考一下怎么做。一开始想的是在01trie上做树形dp然后统计答案,然后发现不用dp,直接dfs一遍。具体的,比如说我有一个01trie,因为我要求min,所以我每次走的时候都要保证当前走的是最小值
比如这是一颗trie,插入了1 1 2 3 7五个数。(根节点的1是我乱标的)如果我要往下走向右儿子,说明右儿子是最小值,那么左子树要大于右子树,只需这一位打大就行了,下面不用管,所以这一位是1,如果走左子树同理。如果只有一个儿子,那么这个必定是最小,如果走右儿子,那么这位取0,否则取1(因为要保证最大),还要走下去,万一下面还有子树。然后这样就拿到了12分。想这个花了挺久的,调也调了挺久,然后过大样例时已经是12:10了。想下一个部分分,一开始想假了,到了12:25时想了一个看似正确的做法,写了一下,没过大样例,继续调,检查了下之前代码,然后就遗憾离场了。
虽然分非常低,但这些分,除了T1,T2的暴力都基本发挥出了我的实力,我打比赛时也非常爽,享受到了乐趣,反正是初三,分低点没事,眼光放长远。明天还有一天,说不定三位数还有希望。
Day2
考前聊天时发现第一天是蓝黑黑,觉得Day2会简单一点qwq
8:30-12:30 T1
今天基本只做了T1,因为我觉得只有T1可做。
首先打了个暴力,调一下。
然后A性质是贪心,只要贪心递归左边就可以了。注意要一直搜下去。
然后B性质是树形dp,写了个重载运算符vector拼接,比字典序大小,然后又写好了。
这一天全在调代码,没什么思维含量
T2
第一题exgcd+dfs就可以了
最后总分79分,差不多就这样吧,明年再接再厉
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】