首页 > 其他分享 >「闲话」CSP 集训记梦

「闲话」CSP 集训记梦

时间:2024-10-09 17:50:10浏览次数:8  
标签:大样 暴力 集训 T2 T1 记梦 lxyt pts CSP

一个不写闲话的 oier 不能证明他是一个 oier

其实写这个是因为 10.5 晚上做梦了,所以记录一下

建议跳过 9.28 和 10.1 部分

9.28

上午模拟赛。

T1 一开始搞了个贪心假做法,发现过了大样例,但显然不对吧!也不会其他的解法,先交了一发。

然后开始写暴力拍了一手,两千组拍出了个 Wa 的,手膜,不对呀,答案没问题啊,哦原来暴力锅了,继续拍,又一个错的,这次是真错了,觉得正解就是可反悔贪心,不过不知道怎么贪,一想也不好卡吧,先跳了。

T2 纯无脑分讨,打了一版过不了大样例,发现题读假了,开始重构。在纸上把所有情况列出来就清晰多了,直接按着打,完了之后发现还是过不了大样例,仔细检查代码,改了几个细节。

在终端 diff 查大样例,不对?这拍暴力也不好写啊,继续瞪码吧,没问题啊,于是开始瞪我的输出和大样例找不同,找不到不一样的?尝试二分删减输出和大样例。

删到大样例答案和我的输出都只剩一行,diff 还是不对,这时发现是空行和空格的问题,无语 + 1......这个时候大概已经两个小时十分钟了(找这个丝毫不存在的错误找了快一个小时),于是钦定自己 T2 过了,不再管大样例(事实确实过了)交了。

回去想 T1 贪心怎么反悔,发现可以 \(O(nm)\) 地反悔贪心,十分钟改完过了所有样例开始拍,1000 组、5000 组、10000 组,耶!静静欣赏自己对拍的输出“AC 10005 AC 10006 ...... AC 15000” ,ok 这下肯定没问题了,准备停拍,发现电脑死机了,无语 + 1,等了一会不活只好重启。

重启之后重打 T1 代码,这时很急,打完大样例错了,??找了五分钟,发现是个唐错,改完就好了。可这时就只剩 0.8 h 了。开始慌了,200 pts 肯定是个大众分一下,T1、T2 那么水,我要是 T3、T4 暴力打不完肯定倒数。

飞快读完两道题,发现暴力都不好打,还剩 0.3 h 的时候,会了 T3 40 pts,需要一个深搜,一个宽搜,一个倍增求 lca 等等, 没办法直接开始打,最后结果是没打完......

得分:\(75+100+0+0=175 pts\),T1 贪假了。赛后知道 T3、T4 都输出 1 可以拿 25 pts,无语 + 1

这场好像确实没挂分,只不过是被 diff 因为空格的问题控了 1 h,被对拍把电脑拍死重打代码控了 0.5 h,浪费了 1.5 h,damn。

10.1

今天放假还要打模拟赛。。。

开场看 T1,感觉很水,想到了个按正数分块,然后启发式合并假做法,直接开打,过了三个样例,爽!诶,第四个不对,而且很不对,由于代码写的较复杂,所以我果断选择直接重构,开个结构体存就好多了,测样例,过,过,过!错!!于是开始看代码,发现假了,这个时候大概一个小时左右,然后开始想正解怎么办,想了半个小时真不会...跳了

之后半个小时读了后面三道题想了点暴力分,发现暴力分很多,三道题打完暴力和特殊性质能拿 \(80pts\),尝试想正解无果,还剩一个半小时的时候开打暴力,从 T2 开始吧,想想链的性质怎么办,诶我们对于每一个点找到第一个大于这个点权值的点,查询的时候倍增查不就做完了吗,那这不就是正解吗,现在只需要做到找第一个大于这个点的点就行了啊,这好说呀,直接一个单调栈,诶好像栈不好做啊,那我把每个点链上的点存起来,不排序 upper_bound 不就行了吗(我承认我是唐诗),还剩 0.5 h 的时候打完了,小样例过了,大样例不对?!自己造了几组小数据找到不对的,发现我是唐诗,upper_bound 是二分找的,肯定不能用它查没排序数组啊

10.5

正文:

晚上打第三遍铃声前抱着被子正要去一个“安静点的宿舍 406”“好好睡觉”,消费股突然从半路冒出来,赶紧又抱着被子往回跑了。决定等几分钟他走了再行动。

上床 7 分钟的时候就安耐不住了,问 int_R,你觉得消费股走了吗?int_R:阿坝无阿坝欧。

遂有如下对话:

Aqr:5k,你说消费股走了吗
5k:我不到啊,这怎么说
Aqr:那我在心里定一个 A 代表走/不走,B 代表不走/走,你选 A 还是选 B?
5k:那我定一个 1 代表 A/B,2 代表 A/B,你选 1/2?
Aqr:行,那我选 1
5k:1 代表 B
Aqr:啊?B 代表不走,那再等会吧。

三分钟后,再次如上猜测消费股走没走,结果如下:1 -> A ->走了,遂抱着被子去了 406 这个适合睡觉的宿舍。

好宿舍果然会有好觉呢!做了好长时间(大概是 \(8.3h-3.5h=4.8h\))的梦,内容如下:

先是梦到和好多人玩狼人杀,都有谁忘了,人都一种熟悉而陌生的感觉,好像都是似仁吧。

我是平民,第一晚先思乐个叫什么 CTH 的狗,据大家分析好像说是什么“狼狗一家”,所以 CTH 其实是狼,自刀的。然后 lxyt 和发电王对跳预言家,并且对跳另一人是狼。

这种情况于是我立马怀疑起来了 lxyt(因为他是后跳的),他说话的语气类似于都被爆了遂摆烂的那种。于是我表达了对 lxyt 的怀疑。

9G 又开始表示了赞同,最后又加了一句“嗯不不,半支持吧”,这不纯 int_R 玩法吗?据我所知,除了 int_R 没人会在不是狼的情况下这么说话的。但是 int_R 的先例让我很顾忌。

最后就是雀氏 9G 和 发电王是狼,lxyt 两晚上验出了两狼,于是把发电王票了,5k 毒了 9G,游戏结束。

中间好像还插入了别的情节:梦到有个大爷突然在楼道里开始用方言大骂特骂,“你做嘛来的啊?啊?你做嘛来的?”于是我就醒了,醒了大概十分钟吧,去了个厕所发现大爷只是梦里的大爷,楼道里并没有,又继续睡。

睡着了之后竟然又接着没做完的梦继续做了,把那一把狼人杀玩完了。我们又开始玩谁是卧底。

第一把很典的空调和电扇,我是空调。上来两三个唐诗说的什么勾使(原神崩铁啥的吧)听都听不懂,直接红温决定要说一个大家都听不懂的。

不过好像没什么是大家不懂的吗,那我就瞎编,瞎编还能听懂?于是说了一个:这是可以买卖的商品,有一个牌子是肖战代言的(做梦前刚喝了一瓶肖战代言的牛奶)。

第二轮我正常说的:这个东西的一种有一个听起来很官方的名字,它可以藏在墙里,(我指的是中央空调)结果就给我票了,理由是听不懂我说什么。这么玩是吧,那我第一轮是不是该把前三个发言的:El...(不会拼)、lxyt、GGrun 全投了!

又双叕玩了几把,最后一把告诉我是白板。

第一个人 oos 发言,他吭哧半天说了一个“阿弥陀佛”,纳尼?立马想到观音菩萨和如来佛祖,后面到 El... 和 lxyt 也都是很抽象,一眼白板的那种感觉,这个时候我知道了大家都是白板!好玩了!后来 GGrun 和 5k 甚至对跳白板。更加验证了我的猜测,于是准备开始放肆地玩好玩的,先选了一个自己准备说的对象:观音。于是到我的时候,我说:他和最近一个很火的国产游戏的故事相关。

我想的是,大家都是白板,肯定不会票正常玩的那个,结果大家都不按正常人的思维出牌,我被票了!恼!!!我没开始玩呢!后面就到了他们吭哧吭哧、编也编不出来、说也不敢说的地步,作为一个思乐之后的场外很难不笑。

我:我现在已经确定 3 个人的身份了,两个是跟我一样的,另一个是对面的。

到了 ggrun 发言,他开始吭哧,于是,我:不是,你没玩到那一关吗? GGrun 附和:不是,我在想一个对面听不出来但是能让队友确定我的身份的词。

好玩捏!

这个梦好像一直做到半夜十二点多,不知道为什么梦里的人都突然倒地上一动不动了,但我也没什么反应,也不惊讶什么的?奇怪捏。只剩下 GGrun 和 El... 了,我开始给他们讲一个爱到极致的爱情故事。

讲完之后 GGrun 突然表现出了极大的藏 shi 天赋:\(*\) 了人为什么要抛 \(*\) 呢,直接把肉和骨头剁成馅和渣渣分多次冲进马桶不就行了。 ...膜拜天赋哥!!!然后 El... 就说睡不着了,害怕。

我回到自己床上准备睡觉,然后他也跑到我床上,我俩就浅聊了一个多小时吧,聊了聊初中一个共同的同学,然后他就开始发电,高举双手“我永远喜欢伊蕾娜!”。

10.6

好丸,有体活,六点二十醒的,回到自己宿舍不敢不睡,因为做梦时间太长了,这样深睡眠时间就短,怕自己第二天模拟赛困,但是又睡不着了,然后就去打球了。

上午模拟赛,竟然全程一点不困,格外精神,事实证明做梦越多第二天越精神,lxyt 也是这样认为!那今天晚上我还要做梦!!!

T1 看起来很水,想了个假做法,大样例过不去发现假了,于是在一个小时的思考之后想不出正解,开始乱搞,不断的循环来尽量贪心贪的更优。最后改了三次,结果如下:

T2 想了四五十分钟吧,想到了线段树维护斜率做法,但很难搞吧,double 型的,精度怎么办啊,乘上 1e6 搞成整型做?没敢打,跳了。

T3 读题,唐唐唐!一眼不会题!打了爆搜,结果答案是按数量的比例分配?不管,交了

T4 ,丸!更不会,想到直接求出初始两点间距离可能就能拿不少分吧,但一想,即使是很大的样例也很容易造出不让这种骗到分的数据啊,于是没打!实际能拿 20 pts。

会 T2 的 \(qxy\) 暴力,看了一眼数据范围,\(q^2\) 更好打诶,这样两个加起来不就 \(60pts\) 了吗,打完 \(q^2\),只剩 15 min,然而 \(qxy\) 没有想象中那么好打,决定弃了,再去 T1 贪一下。

最后也没贪到更多分。

下午有 CF,发现自己切题飞速?连切三个,卡到 C2 时打开 friends 排名发现好多人才 AC 1个?排名在 1200 左右,爽了!尝试去做 E1,打了一个搜 \(n\) 遍的深搜,发现假了,folyd 又不太对,注意到要用到的道路两端一定至少有一段是给定的序列中的点,那 \(n\) 次 \(Dij\) 就处理好边权了,然后呢?反过来做,从 \(n\) 到 1 每次加边权最小的边 ,嗯。。。假了。结果就是没打出来,只 A 三道。

打完 tui 了一会,开始该模拟赛题,去问了 CTH 状压不合法的怎么办?我说:这也不是很好打吧。 CTH:其实很好打,你打就知道了。

后来又去找他:延伸到哪怎么找,枚举复杂度也太高了吧。 CTH :好好好,那你快去打吧,去优化吧。

当我用了 20 min 打完之后,改了一个点,正准备跟这个 3k 的代码耗到底时,然后就过了?。扭头看见比我早打一个小时的(很好打的) CTH 还没调出来,然后把他拉过来疯狂嘲讽,黑子说话啊!不是好打吗

10.9

模拟赛又第一了,倒的

开题看见 T1,

\(n\) 的范围为 \([10,10^{180}]\)

嗯...好高精,傻子才打,于是打了 __int128 部分准备跳,发现大样例显然在 __int128 内但我不对?!

尝试换种搜索写法,没用。于是开启了疯狂调试时间。在一个半小时的不断输出后,发现其实是 bitset 不能存 __int128。基霸!没事,反正这次模拟赛 4.5 h 呢呵呵,真没事吗

看到 T2 求子串(字符串里最讨厌的东西),让我 \(O(nq)\) 做,直接跳了,看 T3,又是字符串,十五分钟打了 30pts 暴力,正解无思路,看 T4,想了一会,发现正解搞个分块或者线段树维护个区间 \(kx+b\) 很好做吧。这个时候大概还剩两个小时,决定回去打了 T1 的高精。我是傻子

觉得应该不能很难打吧,毕竟之前暑假赛时读假题也打过一次高精乘。然后打出来高精乘 2 后测试正确与否,过一个样例“帅!”(跟 Ratio 学的),调高精减的时候同样,帅了十几次,lxyt:别出你那 b 动静了,安静点,哦,不帅了。

打完之后就 11 点了,不是啊?就剩一个小时了??

于是火速思考自己的 T4 思路的可实现性,嗯,乘方...每次乘方都得开个块?显然不好,那线段树?不敢打啊(赛时没打过线段树),而且每两个符号就放一个 ^ 这时间复杂度就不对了啊。所以开始打部分分。

写了 3 个 namespace,一档暴力分,一档每次询问符号一样的,直接存起来所有数的加和与乘积,询问的时候是 + 就直接加加和,是 * 就直接乘乘积,^ 就搞快速幂,还有一档只有 +* 两种符号的分块维护每个块内的 \(k,b\) 值,每次修改块内 \(\sqrt n\) 修改就好了,结束前一分钟打完这三挡分,预计能有 \(40pts\)。

实际得分 \(100+0+0+0\),T3、T4 全 RE 了??额,T3 字符串数组开炸了,T4 我以字符形式输入一个数,但没管可能是两位数。改了之后 T3 20pts,T4 45pts,挂了 65?

然后 T2 人手 70 pts ?不是!!凭什么 T2 暴力给 70 pts

CTH:我 T2 暴力就打了 5 min,就 70 pts

我上早八!!!

标签:大样,暴力,集训,T2,T1,记梦,lxyt,pts,CSP
From: https://www.cnblogs.com/YuenYouth/p/18438103

相关文章

  • 2023牛客OI赛前集训营-提高组(第三场) - 题解汇总
    空位与数(game)贪心即可,因为正正得正,负负也得正,所以将两个数组分别按照正负性分开,然后让正数里面大的配上大的,负数里面绝对值大的配上绝对值大的,这样可以让正积总和尽量大。剩下不足的(必须要一正一负相乘的)让绝对值大的配绝对值小的,这样可以让负积总和尽量小。#include<cstdio>#i......
  • XYD1008CSPS
    T1邦布照相[贪心]Description给定长度为\(n\)的序列和一个\(k\),在序列中找到字典序最小的且是\(k\)的排列的子序列,输出答案。\(k\len\le2\times10^5\)。Solution考虑贪心,遍历序列,用一个类似单调栈的东西维护答案,如果这个数在栈中出现过,便跳过,如果没出现过,先把栈顶......
  • XYD1002CSPS
    T1区间[贪心]Description给定\(n\)个正整数区间,从左往右进行\(n-1\)次操作,每次可以将相邻两个区间取交集或并集。要求至少有\(m\)次取交集操作。求操作后最大的区间长度。Solution考虑三个集合\(A,B,C\),显然\(card(A\capB\cupC)\)一定不劣于\(card(A\cupB\ca......
  • XYD1004CSPS
    T1序列[贪心,模拟]Description给定一个序列,每次可以将一个数减一,求让所有数字互不相同的最小操作数,\(0\)除外,也就是\(0\)可以相同。Solution贪心地,从大到小考虑每个数,都只需要减到第一个没有数出现的数。开个桶从大到小累计答案即可。T2XYD[构造]Description给定\(......
  • 2020CSP-J普及组第二轮试题及解析(第二题直播获奖live)
    参考程序代码:#include<bits/stdc++.h>usingnamespacestd;constintN=610;intn,w,m;inta[N];intmain(){ scanf("%d%d",&n,&w); intx; for(inti=1;i<=n;i++) { scanf("%d",&x);//读入该分数 a[x]++;//该分数放到桶里 ......
  • 2024初秋集训——提高组 #33
    C.星际航行题目描述给定一个\(N\)个点\(M\)条边的无向带权图。我们定义一条路径的长度为路径上边权最大值。有\(Q\)次查询,第\(i\)次查询从\(u\)到其他\(N-1\)个点的最短路径中路径长度第\(k\)大的长度。思路首先,此题显然只会在最小生成树上选择路径。所以我们......
  • Day2 备战CCF-CSP练习
    Day2题目描述请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后可能会包含......
  • NOIP2024集训 Day47 总结
    前言人有两次生命,当他意识到只有一次的时候,第二次生命就开始最小生成树和二分图匹配专题,感觉总体都比较套路。但是这些套路为啥感觉见都没见过啊,怪不得做这么慢。色观察到对于最终答案显然都是最小生成树上一条两个端点颜色不同的边。而这个题并不会改变图的形态,仅仅是改......
  • CSP2024-33
    2A题意:给定一个01串,每次可以循环移动一个子串,求多少次操作使整串有序(升序)。每次操作至多使极大全1段个数减一:111100001111\(\to\)000011111111。数一下一开始有多少全1段,判断一下最后一个元素是否是1即可。submissionA题意:给定\(n,m,a,b,k\),求满足\(ax+by=k,\x,......
  • NOIP2024集训Day47 生成树+二分图
    NOIP2024集训Day47生成树+二分图B.[THUPC2022初赛]最小公倍树直接建边显然不行,考虑优化建边。对于两个点\(u,v\),\((u,v)\)的边权为\(\displaystyle\operatorname{lcm}(u,v)=\frac{u\timesv}{\gcd(u,v)}\),显然应该选择\(\gcd(u,v)\)尽可能大的点对连边,也就是......