愿每一个努力的少年都能追逐到属于自己的梦想。
Day 0 (4.27)
因为江科太远,于是我们决定住过去。报道的时候碰到了赣州中学黑压压一片神犇,以及我校选手全部没带现金不知道如何报道。。。
我和QYQ分到一间房,后来把XG和lornd一起叫过来了,颓了一下午斗地主。
嗯,江科的食堂真好吃,就是穿着一身蓝出入感觉有点诡异。
晚上四个人在宾馆干了一些扰民的事。。。大概21:30我妈到了南昌并且忘记带家门钥匙了,于是四个人一起出去散步并且把钥匙送到了地铁站。
走在路上,有些凉意,一个看不到月亮的夜晚,一个预测不到的明天。
Day 1 (4.28)
好像4:30就醒了??然后又睡过去了??
7:00正常起床,感觉精神还不错。
在电梯里遇到了赣州三中的uroqa和xyf。
“你们昨天有没有听到旁边KTV还是什么地方在放极乐净土,并且还唱歌唱得好响。。。”他们问我。
“嗯,好像听到了”,我说。
“嗯。”,QYQ说
“嗯。”,XG说。
QwQ
8:00进去试机,感觉没啥问题,就等新版Dev下发了。
8:25系统还登不进去,我以为开考了才能登进去,然后就去了趟洗手间。
8:27回来看到前桌的lornd已经用上了新版Dev??然后才发现旁边的人都登进去了。赶紧叫老师来搞搞搞。
8:30 Dev刚装好就发题了,一眼扫过去。。。
第一版表格的字体格式都和去年一样???(背后发凉
“九条可怜是一个*的女孩子。”
QwQ吉司机又来出题虐江西了么。。其实去年也事吉司机出的,感觉出的还蛮小清新,没什么毒瘤题,比较适合JXOI这种时间短的手速比赛。。。
T1大概是定义
F(S)
F
(
S
)
表示数集
S
S
中的数随机打乱然后有序的概率,先给定了一个数集,让你找一个数集
B,|B|=m
B
,
|
B
|
=
m
,并且
B
B
中的数都在内,使得
F(A∪B)
F
(
A
∪
B
)
最大,输入
n,m,l,r,A
n
,
m
,
l
,
r
,
A
,输出这个最大值,对
998244353
998244353
取模。
多组数据,
∑n≤2000000,m≤10000000
∑
n
≤
2000000
,
m
≤
10000000
。
稍微推了一下就发现
ai a i 表示 i i 在中的出现次数,又是一个和每种元素出现次数有关的题,让我想起了被九省联考IIIDX支配的恐惧。。。
再想一下就发现 ∑ai ∑ a i 是定值,然后两个 ai a i 相差越大阶乘的积就越大,大概就是把 m m 分配给让它们相差尽可能小。。。
然后发现 m m 这么大好像不可做,下一秒就想到二分的最小值。。。
时间复杂度? O(m+nlog(n+m)) O ( m + n log ( n + m ) ) ,感觉挺靠谱。
才8:50,看下一题。
T2是对于数列 l,l+1,...,r−1,r l , l + 1 , . . . , r − 1 , r 的某个排列 p p ,初始每个都是未标记的,我们从 p1 p 1 扫到 pr−l+1 p r − l + 1 ,每扫到一个数 pi p i 就把所有 pi|pj p i | p j 的 pj p j 标记,直到扫到某一个数 pk p k 之后后面的数都被标记了,那我们就记 t(p)=k t ( p ) = k ,输入 l,r l , r ,求所有排列 t(p) t ( p ) 的和,对 1000000007 1000000007 取模。
l,r≤10000000 l , r ≤ 10000000 。
一开始把 t(p) t ( p ) 看成前面不存在它的约数的数的个数,然后就开始考虑每一位在多少种排列里有贡献。。。
然后发现看错题了。
我先看到有两个特殊数据 l=1,l=2 l = 1 , l = 2 , l=1 l = 1 不就是 1 1 的期望出现位置么,不就是最后一个质数的期望出现位置么。。那么任意 l l 不就是。。。
我们定义“好数”是不存在大于的因子的数(因子不包括它自己)
那不就是最后一个好数的期望出现位置么。。。
大概前后各记一下数,假设最后一位在 i i ,可能的排列数就是,其中 n=r−l+1 n = r − l + 1 , m m 是好数个数。
扫,好像就没了。
竟然又切了一题。JXOI果真还是延续去年传统T2最简单,感觉这题会被全场A穿。
这个时候才9:00,
T3就是给定 n n 个点(就是对于 1..n 1.. n 每个横坐标都有一个点),并把相邻点连接,我们定义 (i,hi) ( i , h i ) 能看到 (j,hj) ( j , h j ) 要满足 i≥j i ≥ j 并且两点连线不经过其他点和相邻点连线。询问对于所有区间 [l,r] [ l , r ] ,假设只有 (l,hl)...(r,hr) ( l , h l ) . . . ( r , h r ) 这些点,最少需要选出多少个点使得这些点能看到 [l,r] [ l , r ] 中所有点。
n≤5000 n ≤ 5000 ,只需输出所有答案的异或和。
对于 70% 70 % 的数据, n≥500 n ≥ 500 。
嗯。。。枚举 l,r l , r , O(n) O ( n ) 算一下,总共 O(n3) O ( n 3 ) 70分轻松拿啊。
想了一会之后发现并没有这么简单。。。对于一组 [l,r] [ l , r ] 我好像想不出什么多项式算法计算最小选的点的个数。。。
大概想法是搞成一个DAG,选出最少的点使得每个点要么被选,要么有一个有边向它的点被选,但这个DAG好像没有什么性质, a→b,b→c a → b , b → c 也不一定 a→c a → c ,推了好久好久也没有推出什么有用的性质,每个点能看到的点也没有什么规律,一堆散点。。。
推了1h30min到10:30,唯一想出的有点价值的东西就是 O(n2) O ( n 2 ) 预处理了。。。
不行,先把前两题写完。
11:15写完两题并且拍了T2,T1过了大样例然后造了一个极限数据感觉跑的挺快就没管了。
一直想T3也没想出什么(觉得自己没想到点子上去),赶紧码完了暴力,后来还发现判斜率的时候我把分母乘过去了但没开longlong(好像NOIPday2T1也犯了这个错)。。。接着就着手写个骗分,大概就是在拓扑图上贪心选点,我的策略是如果一个点中有两个以上的后继不合法就选它。。。结果暴力能跑出来的
n≤20
n
≤
20
根本拍不出错。。。
期望分 100+100+[30,70) 100 + 100 + [ 30 , 70 ) ,交卷,感觉自己T3没想到点子上去,遗憾。
出考场QYQ和bdzxt都说自己凉了,好像都是
50+30+30=110
50
+
30
+
30
=
110
大众分,XG说写了
50+20+70=140
50
+
20
+
70
=
140
,结果不到一分钟我们就把他T3的70分算法给hack了(说不定还能骗点分)。。。
然后听说赣州中学那边好像也都是
100
100
左右,难道都没人切题的么。。。隐隐约约感觉省队线大概就
100
100
左右然后再卡卡联赛。
考完找兵哥聊了一下,并在江科食堂共进了午餐qwq。
大家的情绪好像都很紧张,因为好像分数都相差不多,一切都还未知。
后记
后来出题人jiry在qq上问江西选手做题感受,于是和他聊了下并且要到了题解。
T1我写的是正解
T2线性筛之后就可以
O(1)
O
(
1
)
,我竟然还
O(n)
O
(
n
)
求了。。。不过不影响复杂度
T3真没想到点子上。。。
最恐怖的是出成绩
我150,省队后面五个人分别是wzt100,赣州一中神犇80,yjw60,bdzxt80,Ebola80。
分都这么低的么,隐隐约约感觉是不是出锅了。啊。
然后计分方式也不按标准的来,要不然bdzxt可以从B队rank1翻进A队。
数据要到了但源程序还没有要到,依旧不清楚是怎么一回事。。。
其实说实话我的成绩只要进了A队就行,可QYQ却不知道是评测出锅还是写挂了只有70分,只差一点进队。整个机房都很难受。
真的会去想,为什么我们jxsdfz的学生明明实力比别人高,花的时间比别人长,却在重大比赛上频频翻车(至少noip2017和这次省选),而且基本每个人都与自己本该得到的分数相差很多,到头来却打不过暴力打稳的选手。。。
考前模拟了不下30场,各大OJ刷题无数,但这些训练是否认真对待,真正起到作用,可能是我们fzoi每一个成员去思考的
每次赛后机房里只剩下悲凉。
进了省队当然要再接再厉
翻车退役也应当满怀信心
至于高一的选手,你们还年轻,一切皆有可能,你们应当吸取我们的教训,稳中求进,别让汗水付诸东流,fzoi需要你们接力。
(作为一个即将退役的老年选手发出的感慨吧