2024省选游记

我来自ZJ,非常菜,别人在考省选,而我却像在考CSP。

Day -1

稍微补了点题,然后复习了下板子和之前写的博客。总结了下思路来源
1.因为是序列上的问题,不难想到是一道数据结构题。
2.在构造题中看到相等,我们就能想到各种-1和1相抵消。
3.二进制想到拆位
4.在图中的约束条件想到并查集
5.数的约束条件想到并查集,差分约束,dfs
6.看到要求的比较难求。正难则反或不妨枚举要求的,然后验证条件(包括退火)。
7.看到环想到双倍
8.将删除转换为添加
9.看到能dp的题目就做dp,先压状态,然后进行优化
10.通常一个子树的信息可以由儿子合并而来。题目要求输出每个子树的答案。时间1e5想到线段树合并

考试策略/方法:

打暴力

linux

Day1

很低,但基本把我会的分都打了。
发现自己在游记中有点有点学术东西了

8:30-10:30 T1

看到这个先拆式子
i=0m1(xi+ximodn)=x
i=0m1xi+i=0m1ximodn=x
我想先从n=1入手
不妨设xi全部相等
mxi+i=0m1ximodn=x
后面这个式子比较好处理
xi=xi=0m1ximodnm
yi=yi=0m1yimodnm
然后因为|xi+yi|k

发现xim是有二段的一个关系,通过打表发现m是否符合情况是类似000011111110000(0表示不符合1表示符合)可以使用三分。但是我不会三分,考场上现推,寄了。搞了个退火,能过60%样例,寄。最后贴了个暴力。

10:30-12:40 T2

一开始看着T2暴力分比较好打,直接花15min打完暴力。然后人傻了,一个都不会。考试时想着要冷静,然后看到了没有加法这一档,显然可以用01trie。然后思考一下怎么做。一开始想的是在01trie上做树形dp然后统计答案,然后发现不用dp,直接dfs一遍。具体的,比如说我有一个01trie,因为我要求min,所以我每次走的时候都要保证当前走的是最小值

比如这是一颗trie,插入了1 1 2 3 7五个数。(根节点的1是我乱标的)如果我要往下走向右儿子,说明右儿子是最小值,那么左子树要大于右子树,只需这一位打大就行了,下面不用管,所以x这一位是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分,差不多就这样吧,明年再接再厉

posted @   wuhupai  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示