NOIP2023 JL 迷惑行为大赏

· · 个人记录

去年写的。

这回是真的了。

本场比赛共有93人参加。

没码人:

太多了,仅列出名字(没有特殊标记就是全没有,没有输出内容也算没码):

JL-0001
JL-0003
JL-0009 T4
JL-0030 T4
JL-0031 T4
JL-0032 T4
JL-0038
JL-0046 T3
JL-0047 T3 T4
JL-0048 T4
JL-0050 T4
JL-0056 T4
JL-0057 T4
JL-0062 T3 T4
JL-0063 T3 T4
JL-0064 T2 T3
JL-0066 T2 T3
JL-0068 T4
JL-0071 T3
JL-0072
JL-0073 T4
JL-0074 T3 T4
JL-0076
JL-0077 T4
JL-0078 T4
JL-0079 T3 T4
JL-0080 T2 T3 T4
JL-0082
JL-0083
JL-0084 T3 T4
JL-0085 T2
JL-0086 T2 T4
JL-0089 T4
JL-0090 T4
JL-0091
JL-0092 T4

跳过这些,我们来鉴定一下每个人的代码:

JL-0002:

//luogu uid 236523 关注一下谢谢喵
(T1)
//时长4个半小时OIer体验卡
(T4)

JL-0010:

这是这位兄弟的T3片段,看得出来是想写正解的。

JL-0011:

CE人(T4)

另外这人的T2写了275行,毅力可嘉(虽然只有40分)。

JL-0013:

//好热 
//50

/*
noi@noi-jl:~/Desktop/tribool$ g++ -o B tribool.cpp -Wall -Wextra -O2 && \time ./B  && diff dict.out dict4.ans --ignore-trailing-space 

*/
(T2)
//only B  8pts/dk
(T4)

JL-0014:

这人T3没有freopen(是根本没有,不是注释了),默哀。

JL-0015:

这是这位兄弟的T1片段,想写正解人2.0。

JL-0017:


//拿下,win
(T3)
//kakongjian
//10:41 8p
//11:02 44p
//going to fix T2
//try to get much points
......
    //freopen("run.in","r",stdin);
    //freopen("run.out","w",stdout);
    freopen("run.in","r",stdin);
    freopen("run.out","w",stdout);
(T4)

JL-0018:

/*
srand(time(0));
mt19937 rand();

//freopen("dict.in","r",stdin);
//freopen("dict.out","w",stdout);

cout<<"1110";
printf("1110");
puts("1110");

const int N=1145141919810;
const int Mod=998244353;
const int base=100;

I AK NOIP if I got 400pts.

在看/做迷惑大赏?还不去卷题?
NOIP2023 游记  by _mayiwei(luogu uid=943211)
左边lhr,右边没人。
08:29 查看数据,无大模拟!
08:36 写T1,这不sb题?暴力轻松过。
08:44 寄了,判断不能O(1)完成
08:52 T1写完。
09:00 都会A?都会A?都会A?
08:57 大样例过了。
09:03 手玩第2个样例,有点思路了。
09:07 想到T2的正解了,正边缩点,负奇环改为U以及一堆特判。
09:09 也许会挂?一小时写不出了就打暴力。
09:16 发现基环树森林。
09:22 U=-U怎么处理啊!
09:28 不写T2了,下一个。
09:30 不如写T2。赌一波T2正解。
09:48 写挂了,重构代码。
09:51 啊?我才写链式前向星。
09:54 判二分图就行啊。
10:03 多测不清空。
10:06 小样例测过。
10:10 第3个样例没过。(只有U+)
10:22 debug成功,并差集合并时有玄学错误,存疑,赛后再看看。

AC:
void merge(int x,int y){
    int u=find(x),v=find(y);
    if(u!=v){
        fa[u]=v;
        siz[v]+=siz[u];
    }
}

WA:
void merge(int x,int y){
    if(find(x)!=find(y)){
        fa[find(x)]=find(y);
        siz[find(y)]+=siz[find(x)];
    }
}

10:27 第4个样例也对了,200pts,赢!
10:28 这次比赛难度相对于去年下降了?还是多得点分更好。
10:30 T3诈骗?不就是一个序列严格大于另一个序列?
10:32 等等,这次数据这么强?45pts呢?
10:34 要饿似了,lhr一直在旁边吃。
10:36 是DP!  
10:38 DP只有35pts,但足够了。
10:41 数组可滚动,加上时间跑不满,应该可以骗更多的分。如下图,1只由2和3得到把1直接存在3的位置。
... ... ... ...
...  2   1  ...
...  3   2  ...
... ... ... ... 
10:49 竟然有测试点编号,感动。(但我似乎不需要)
10:56 没啥用啊,还是用二维数组存吧。
11:08 T3 30pts
11:10 T3特殊性质到底有啥用啊。
11:14 T3大样例没过。
11:20 都几把AK了?
11:25 第2个大样例过了。
11:29 第3个大样例过了,显然不用测第4,5个大样例。
11:31 T4什么天天爱跑步,已经没有可以用的题目背景了?
11:35 没树论?没树型数据结构?
11:40 《天天爱打卡》试运营了2739726年。
12:00 整了点小活,还有一个小时,T4打个暴力应该要有时间。
12:15 T4挂了。
12:25 不想调了,第一次参加NOIp230pts(也许)挺好了吧。
12:26 写了特殊性质A,8pts。
12:32 不写了,遗憾离场。
13:00 结束了,也解脱了。(可以颓废了!)

估分:100+100+30+8=238
希望别挂分。(但已经挂了)

口胡一波,T3贪心,T4树型数据结构优化DP。

前已无通路,后不见归途。
儿时怀兴致,不识OI苦。
至今已四年,仍一无是处。
问君何所得,群论平衡树。
无缘入省队,角落一人哭。
十分定胜负,五分辩同殊。
挂分与退役,此后常孤独。
众人讥且讽,含泪自归去。

五分之差与省一无缘。
天天骂自己以至于精神涣散。
错误的时间,错误的地点。
选择了错误的道路,为之付出了三年。
我们攀登着,直到永远。
站在分割世界的桥梁,不见当初的客船。
大石碎胸口,等待命运的审判。
一无所有,却想着更远的更远。
野草的遗言,在绝望中呐喊:
让狂风将我带去,将我带去那彼岸。
多希望是大梦一场,多希望能回到从前。
多希望是大梦一场,哪怕星光璀璨。

前已无通路,后不见归途。
NOIp挂分后,星河长明依旧。
含泪退役书日记,告别OI忘晨曦。
无缘省一扬四海,流言蜚语杨柳殆。
以未努力RP减,赛前常颓彻失颜。

lhr别退役。
lhr never gonna AFO!
口胡一波能AK,知道正解却太懒。

也许努力了,保龄也是赢,但我也没努力啊。

I will AK NOIP next year.

赛前颓废日复日,NOIP年副年。
考场挂分未曾变,别人省一心不安。
阅读理解不及格,错将赛题水题看。
口胡一波能AK,代码实现却太难。

(LinuxNoi输入法414)

最后,申请加入迷惑行为大赏。
感谢所有迷惑行为大赏制作者们的付出。
*/

JL-0021:

//为啥感觉T2>T3啊
//非常好题,使我大脑宕机
//还有9min,我觉得我会了。/kk
(T2)
//摆了。
(T3)
//按这个发挥我真可以写退役记了。
(T4)

JL-0024:

T2写了574行,毅力可嘉(然而只有30pts)。

JL-0025:

T3写了309行,毅力可嘉。

JL-0027:

// 思路
// 求出每个字符串交换 2 次的最小字典序和最大字典序
// 按照字符排序 相同按照下标排序
// 找到第一个能交换的位置
// 私募了看错题了尴尬5
// 但是这样是 n3 的
// 考虑如果对所有的串排序
// 一个串合法当且仅当他 minn 前面的字符串都是别的字符串的 minn
// 这样就变成了 n^2 + nlogn

// 应该会入选迷惑行为大赏吧
// 我总是这样 不看完题胡个意思就自以为是的开始写了
// 哦 这里是 rs,如果你认识他的话
// 那就狠狠的嘲讽他在 A 上因为看错题面失去了 3.5h 吧。
(T1)

满足你。

JL-0036:

/*
野蛮人滚筒也算是半张新卡了,上线之初这张卡的影响力还不算太大,
不过在降费改版后,这张卡一夜之间就成为了香饽饽。
自身只有两费,可以碾压小费人海,之后蹦出来的野蛮人还可以去拉扯
起初对骑士桶的影响最大,之后已经进入了所有卡组里,真是火的一塌糊涂阿
*/
(T1)
/*
白山苍苍,松水泱泱,毓秀之地,人杰才昌
百鸟齐唱,百花齐放,惊才绝艳,唯我ZY
长剑一出,横扫八荒,英雄豪杰,莫能相抗
金牌之下,皆为蝼蚁,金牌之上,ZY无敌
*/
(T2)
/*
交交桑扈,有莺其羽。君子乐胥,受天之祜。
交交桑扈,有莺其领。君子乐胥,万邦之屏。
不可以,总司令。
*/
(T3)
/*
你说的对,但是《天天爱打卡》是由小T开发的一款开放世界冒险游戏
*/
(T4)

JL-0042:

这是我。

//~~快进到尊贵的NOIP保龄选手~~
//100+40+10+16=166
(T1)
//56 78 都推不出来,GG。
//写这题的时候Cart一直在吃,跟没吃早饭似的
//啊啊啊啊我啥也没带馋死了啊啊啊啊
(T2)
//O(t * 2^n * (n+m)) 不会被卡掉吧/jk
//upd on 写完这题的暴力之后:哦时限2s啊,那没事了。
(T4)

JL-0043:

/*
 * xyz的noip游寄
 *
 * 进考场前面积了zpair,真的好可爱
 * 另外感谢zpair的彩虹糖,shy的巧克力,袁神的棒棒糖,以及tsq的麦丽素救我一命
 *
 * T1想到了排序后比较,复杂度是O(Tn^2),大概是80pts,想到可以哈希比较和桶排就变成n^2就A了,但是测了3e3的大样例,发现跑的好快,貌似不用卡也能过,于是放下T1去看别的
 * T2思考了将近1h,想到建图然后找环,发现貌似是假的,又想到分层图,松弛后判一下各层的连边,感觉貌似没问题
 * 但是写了一会发现不会写了,于是去写性质分
 * 写了3456四个点的,40pts到手
 *
 * 然后一直在吃东西,薯片一个小时就吃没了,饿
 *
 * 现在是11:30 目前得分是80+40+0+0,但是发现我T2的56性质貌似假了
 * 然后看了T34,不会,甚至不会打暴力了
 * 回去写一写T1的正解
 *
 * 感觉周围的都把T2过了,这次怕是要低于大众分了
 *
 * 估计连2=都保不住了,呜呜呜
 * 一道都不会,似了吧
 *
 * 然后去上了个厕所,回来发现linux死机了,命令都输不了结果
 * 之后监考老师帮忙重启了电脑,然后之前重构的T1没了
 * 好好好,于是重新敲了T1,此时还剩45min
 * 
 * 然后写了T4的B性质,贪一下就行,过了样例5
 * 目前是[80,100]+[20,40]+0+20
 * 如果数据水一点应该能160pts,否则可能就100pts了
 * 感觉这次全机房都得200+吧,这波稳AFO了
 * 还有10min结束,呜呜呜
 *
 * 车考前说会考平衡树和斜率优化,一个没考/cf
 * xyz考前说不会考tarjan,T2不就考了/cf
 *
 * 唉,这一周复习的所有算法都没考,本来想着noip能出一个数学或者ds,然后就win了,结果搞了四道连算法都认不出的题
 * 不过这次noip质量还不错,大概是绿蓝紫蓝吧,可能是最近几年最简单的一次了,只不过对我来说不太友好
 * 出分了估计我就AFO了,这次怕是连告别的机会都没有了
 * 至于OI,或许高一再搞,或许,真的要说再见了
 * 暂别吧,OI
 * 亦或是……永别?
 *
 * xyz
 * 于noip2023考场上
*/
(T2)

JL-0044:

/*
if (NOIp == first_prize)
    I_will_be_the_history();
else
    tuiyi(

初一第一次打NOIP,神犇们应该都200+了把,我太蒻了
T3T4真的一点不会,应该是黄蓝紫紫罢
最绝望的事:代码敲完了,考试结束还有一个多小时
希望不要挂分
T1:
预处理每个字符串可能变换成的最大和最小字典序,然后让i的最小去跟j的最大比
估分100(字符串比较不会常数爆炸吧
T2:
n,m较小可以爆搜,可以用迭代加深搜索来碰碰运气,说不定能过n,m较大的点
v = TFU,看每个变量最后的值有多少个U即可
估分40分(希望IDDFS能让我多得点分
T3:
问号,题差点没读懂, n,m = 1的点看两个数是否相同即可,剩下的不会写
估分5分(悲
T4:
n <= 18可以爆搜,yysy,这题暴力也难写
估分8分(悲
100 + 40 + 5 + 8 = 153
please give me 1= !!!
(话说我写这些中文会不会影响编译啊,用了cin,cout加速,最后没有cout << endl;会不会保龄啊
愿苍天保佑我这个初一新生

yyrwlj
*/
(T4)

JL-0046:

I can not do anything now.
I hope I will have a nice and happy whk.
Goodbye OI.
The life before is so colorful;
I can't wait to try new life in my high school.
I believe I can catch the grades,the friends,the shining times and also the beauty of other class.
I seem to see my classmates. At this time,I have almost a world that in my heart.
Oh,It's the time.Bye~
(T3)

另外,他T3就只有这些东西,所以归入没码人。

JL-0048:

freopen("expand1.in","r",stdin);
freopen("expand.out","w",stdout);
(T3)

JL-0049:

//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
(T4)

这人T4注释freopen+CE,nb。

JL-0051:

/*
还行吧
机器本来应该是 22 号的
但是 22 号的机器坏掉了所以被挪到了 最后一排
然后那个键盘的线还特别短 鼠标也一样
最初还和监考对线来着但是这个考场就这个样子我也没有办法了
然后就慢慢把线往出薅。。。。。。最后勉强拿到了桌子上面
买多了一杯咖啡然后抓不到随机大郎来喝药(不加糖的很苦
但是看女孩子贴贴真的很开心哇 两个女孩子互相贴贴还互相 rua
很可爱 喵

呜呜呜这个 noi 自带的输入法是真的难打字

感觉这个 ifndef 真的挺有用的
因为我在本地可以用这个命令来编译:
-Wall -O2 -DLOCAL_LOGGER
然后在上交之后他们还会再编译一遍的:
‐O2 ‐std=c++14 ‐static
然后运行的时候不用发愁读入和输出 因为可以用:
./dict.exe < dict3.in
./dict.exe < dict4.in > dict4.out
前面是直接比对较短文本 后面比对较长文本

这些小技巧我在博客里都写过。
实际上如果提交到锣鼓的话为什么我不直接 -DONLINE_JUDGE 呢

10:03 upd: 对啊 我可以补充上 修改好了
*/
(T1)
/*
如果把初始值记作变量的话
最后对于每一个变量有两种情况
1. 是一个数字
2. 是另一个变量
个人考虑模拟过程取得最终状态,接下来循环:
1. 如果这个变量最终是一个数字,则赋初值
2. 如果这个变量是由一个赋初值的变量得来的,则赋初值
但是需要考虑步骤 例如说
(3) X4 <- X3 (4) X3 <- U ...... (79) X5 <- X4
然后出现了 ...... X5 <- X4 (<- X3)
这个时候如果 X3 不是 U 也可
我不清楚并查集可不可以简化 2 过程因为我不会写
接下来会有一些链(?)和环(?)
对于环:
如果是偶数个变量 无反 全都赋值 T / F
如果是奇数个变量 有反 全都赋值 T / F
否则赋值 U
这样可以完全等于初始

哦 但是我不会做
*/
(T2)

顺便提一句,这位T4CE了。

JL-0055:

T4CE了,默哀。

JL-0060:

freopen("dict1.in","r",stdin);
freopen("dict.out","w",stdout);
(T1)

JL-0062:

//样例过,烧香。
//百分到手。
(T1)

然后T3T4没码,T2没freopen。

JL-0063:

freopen("tirbool.in","r",stdin);
freopen("tirbool.out","w",stdout);
(T2)

然后T2cpp名也是tirbool,T3T4都没码。

跟“Tire树”(应该是Trie树)有异曲同工之妙。

JL-0067:

scanf("%d%d%d%d",&C,&n,&m,q);
(T3)

这人T4还CE了。

JL-0069:

cout<<0001110011101001111010110011111011111011111001010010110101111;
(T3)

T3还CE了。

JL-0070:

四题的cpp文件名称均为main.cpp,喜提保龄。

JL-0075:

    if(c==3)
    {
        //不写了
    }
    if(c>=8&&c<=14)
    {
        int xmx=0,ymn=INF;
        fo(i,1,n)xmx=max(xmx,x[i]);
        fo(i,1,m)ymn=min(ymn,y[i]);
        out( ((xmx<y[1]&&ymn>x[n]) || (ymn>x[1]&&xmx<y[m])) );
        //假,下一个
        return;
    }
    out(0);
    //To our beloved Starwar.
(T3)

然后这人在所有题目中都出现了starwar一词,猜测是将galaxy误拼成starwar。

JL-0078:

freopen("expand4.in","r",stdin);
freopen("expand.out","w",stdout);
(T3)

JL-0080:

T1没有freopen,剩下三题全没码。

JL-0086:

freopen("dict.cpp","r",stdin);
freopen("dict.out","w",stdout);

喜提保龄。

JL-0087:

T2没有freopen+CE。

JL-0090:

freopen("dict.in,"r",std.in");
freopen("dict.out,"w",std.out");
(T1)
freopen("tribool.in,"r",std.in");
freopen("tribool.out,"w",std.out");
(T2)
freopen("expand.in,"r",std.in");
freopen("expand.out,"w",std.out");
(T3)

T4没码,所以喜提保龄。