20240808校内模拟赛
总
100+100+5+10=215100+100+5+10=215100+100+5+10=215 分,12/2312/2312/23 名。
T1
赛后得知 n>7n>7n>7 的答案都是 000,那我写的 n≤30n\leq 30n≤30 就退火肯定能过,但却因为
do {a=rand()%n+1;b=rand()%n+1}while(a==b);
在 n=1n=1n=1 的时候死循环被卡了好久。
T2
看到陵形转坐标系,然后就突然变得简单了,蛮奇怪的。
T3
没时间,拿白送的分。
T4
没时间,拿白送的分。
20240807校内模拟赛
总
100+0+100+0=200100+0+100+0=200100+0+100+0=200 分,19/2419/2419/24 名。
出题现场表演造数据 233。
T1
没啥好说的,因为把a[i]写成i调了半天,用掉 505050 分钟,非常小丑。
T2
正解几乎就是暴搜,但是花了一个小时没 rush 出来,根号以下和以上分讨也是老套路了。
唐完了。
T3
凸包裸题,WA60 以为被卡精度,最后却发现是排了序编号没有跟着排。
浪费了不少时间,非常小丑。
T4
不少人搞出 909090 分的好成绩,但我都不咋有时间看。
20240806校内模拟赛
总
100+45+10+30=185100+45+10+30=185100+45+10+30=185 分,16/2416/2416/24 名。
这次数据也比较弱,但我赛后回头看了一下 WA100 的代码,发现我乱搞本领和意识还是很弱,所以就算是不拿的部分分,也可以试着在时限内多跑跑,也许会出奇迹。
T1
水
T2
人均骗出 100100100 分,正解也不难,我唐完了,暴力也挂了一些分数。
jiangziqi\color{black}\texttt{j}\color{red}\texttt{iangziqi}jiangziqi 的高妙 WA100 做法:把 r−l+1r-l+1r−l+1 比较小的和 aia_iai 比较大的缝在一起
T3
别人 n2n^2n2 得到 909090 分,我从 505050 分挂到 101010 分。
jiangziqi\color{black}\texttt{j}\color{red}\texttt{iangziqi}jiangziqi 的高妙 WA100 做法:把较小和较大的 lenlenlen 取出 150150150 个进行计算。
T4
前面唐 ...
20240805校内模拟赛
总
100+100+12+0=212100+100+12+0=212100+100+12+0=212 分,7/197/197/19 名。
T1
逆向思维一下,就出来了。调的稍微久了点,以后调简单题应该专心差错而不是质疑做法。
T2
想了半天,然后决定暴力,打出 1−101-101−10 的答案后怀疑有规律,然后真的有。
T3
最后一小时都没调出 242424 分,得到了 121212 分小丑分数。
T4
没时间看。
计算几何模板
神奇地,在这份题单中,计算几何甚至没划在“数学”里面,于是我也借鉴了才不是为了水篇数呢。
凸包
以P2742 [USACO5.1] 圈奶牛Fencing the Cows /【模板】二维凸包为例。
Garham算法
#include<bits/stdc++.h>#define fru(i,j,k) for(int i=j;i<=k;i++)#define frd(i,j,k) for(int i=j;i>=k;i--)#define pc(x) putchar(x)#define fio(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout)using namespace std;using ll = long long; namespace ugi{char c=' ';int in(void){ int x=0;bool f=false; while(!isdigit ...
游记_2023NOIP
考前都在摆烂,也就不搞什么DAY-1了QWQ。
DAY 0
十分简洁的比赛经历
T1,40分钟,过大样例。
T2,快三小时,过大样例。
T3,打了十分滚粗。
结束。
太简洁了,因为我T2愣是一直调不出来,但是却很有精神地一直调,别人调得快的暴力都到300分了,悲。
但是T2真的调试了很久,很绝望,到最后一小时才突然调出来,体验了什么叫“过大样例,改命了”。
(照片区预留)
下午通过 T1 T2 的民间数据,200 分的1=应该是有了。
DAY 1
更新!T3民间数据全寄了,有200,但是只有200……
adam01都测出271的高分了,所以wssb。
DAY 2
听说原来adam01考的才是大众分。好,更菜了……
洛谷P5443 [APIO2019] 桥梁
本题是一道细节巨多的操作分块题。
踩坑记录
一个块中有可能多次修改一条边(个人认为是本题最难部分)。
set的erase会直接删除所有不大于且不小于传入变量的键值,所以一定要好好写 operator 使其可以匹配唯一键值。
变量多了一定要打注释,在这方面一定不要相信你的大脑。
即使你很确定错误在哪,也要看看别的地方,不要像我瞪了半小时才知道错误在屏幕外。
AC 代码
自己都觉得又臭又长
#include<bits/stdc++.h>#define fru(i,j,k) for(int i=j;i<=k;i++)#define frd(i,j,k) for(int i=j;i>=k;i--)#define fio(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);using namespace std;using ll = long long;char c=' ';int in( ...
题解_P5056 【模板】插头 dp
因为这玩意没什么好当板子的,就作为题解来写
思路
前人之述备矣。
补充几点:
开始一直以为复杂度是错的,后来写了个暴搜发现长度在 131313 以内的合法串只有 450004500045000 左右,完全是够的。
主要注意:
“((” 的情况应找最近未被匹配的括号。
代码
#include<bits/stdc++.h>#define fru(i,j,k) for(int i=j;i<=k;i++)#define frd(i,j,k) for(int i=j;i>=k;i--)#define fio(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);using namespace std;using ll = long long;char c=' ';int in(void){ int x=0;bool f=false; while(!isdigit(c))& ...
游记_2023CSP
CSP2023 提前开坑~~
“DAY 0” 为开始考试第一天,其余以此类推。
初赛
DAY -2
今天啥都没准备,就看了一个复赛题的题解,还没看懂……
DAY -1
今天搞了半张卷子(不是,这些模拟卷都这么难吗?!!)
DAY 0
早上,CSP-J,水。
下午,CSP-S,跳过了约 5 题,如果线没有比 70 还高应该没事……吧?
DAY 7
出分了,提高的线只有 40 就离谱。
结果普及高 40 分过线,提高高 35 分过线,初赛圆满完结。
复赛
DAY -2
今天发现学的好多东西在纲里所谓“NOI 级”的部分,而在“提高级”里的平衡树和高斯消元却根本不会,感觉药丸……
主要工作:背以前的模板以及摆烂。
DAY -1
继续背板子,学习 pb_ds 以及摆烂。
加油!
DAY 0
考试开始~
早上 J 组:
T1:开始还在推每个位置是啥时候被删掉的,退不出来,然后突然发现只要求 nnn 的答案,于是使用第一次删掉最后一个数的时间。水之,期望 100100100。
T2:看了看,写了一个贪心,让每次的车都直接创到第一个比当前加油站便宜的加油站,因为如果到达一个加油站,油箱里却 ...
题解_[ABC270G] Sequence in mod P
题面
弱化版题面(甚至那题很多题解都过不去这题)
推导相当简单,只要等比数列求和一代入,就结束了。
但特判有三个,还很隐蔽……
a==1 \\会使推导过程分母为0a==0 \\会出现0的0次方/*分母*/%p==0 \\逆元不存在
代码
#include<iostream>#include<cstdio>#include<iomanip>#include<cstdlib>#include<algorithm>#include<random>#include<ctime>#include<cmath>#include<cstring>#include<queue>#include<map>#include<unordered_map>#define fru(i,j,k) for(int i=j;i<=k;i++)#define frd(i,j,k) for(int i=j;i>=k;i--)#def ...