GDKOI2023游寄
mod998244353 · · 个人记录
可能更好的阅读体验
day1
T1:给出三个
n\times n 的矩阵A,B,C ,判断是否C=A\times B ,对998,244,353 取模。\\ 多组数据,\sum n\leq3,000 T2:求有几个
1\sim n 的排列p ,满足\forall 1\leq i\leq m,p_i>m 且\forall 1\leq i\leq n,p_i\not=i ,对998,244,353 取模。\\ 多组数据,t\leq2\times10^5,0\leq m\leq n\leq2\times10^5 。T3:给一个
n 点m 边无向图、长度为n 的序列a 和一个常数C ,求有几个整数点权序列b_i 满足:\\\forall i,0\leq b_i\leq a_i\\\forall (u,v)\in G,b_u\not = b_v\\\operatorname{xor}_{i=1}^n b_i=C\\ 答案对998,244,353 取模\\1\leq n\leq15,0\leq C,a_i\leq 10^{18}
先用了大概 30min 看完题,之后还是觉得 T1 应该更适合先开。
想到显然不能直接求矩阵乘法,就试着去写几个类似匹配的式子来计算,我写了个式子:
但是会出现
于是我就想用哈希来解决,取一个小质数
那么
但是我很愚蠢地用了 NTT,加上对拍成功写了2h呢。
开 T2 时已经只剩 1.5h 了,容斥一下
推出式子出来的时候已经不到 1h 了,所以我就把
开 T3,急急急,写了暴力
期望得分
T1 正解是随机一个
T2 是把
T3 是容斥
day2
T1:给一颗
n 点的树,q 次查询x,y,z ,构造三元组(u,v,w) 满足dis(u,v)=x,dis(u,w)=y,dis(v,w)=z 。\\n,q\leq2\times10^5 T2:给一个数
x 和一个长度为2^n 的整数序列c ,做K 次操作,每次操作随机一个整数y\in[0,2^n) ,p 的概率让x\leftarrow x \operatorname{or} y ,1-p 的概率让x\leftarrow x \operatorname{and} y\\ 设序列a 的权值为\sum\limits_{i=1}^K c_{a_i} ,求生成的x 组成的序列的权值的期望,对998,244,353 取模。\\ 1\leq n\leq17,1\leq K\leq10^9,0\leq p,c_i<998,244,353 T3:给一颗
n 点的树,带点权,q 次查询x,k ,求式子:\sum\limits_{dis(x,y)\leq k} dis(x,y) \operatorname{xor} v_y 。\\1\leq n,q\leq 10^6
先花了半小时看题,之后还是开 T1:
一般情况下三条路径只有一个公共点,设为
考虑预处理每个
写完 T1 已经只剩 1.5h了,T2有个显然的
补充:有个
之后又考虑写个暴力转移,发现要枚举子集,是
还剩下 1h 做 T3。想了一会儿正解,但没想到。只好打了
期望得分:
D2T1拍了几十组大数据还是挂了80分(官方提供了spj)。
总结
好像尽力了,又好像没尽力。
D1T3 完全没写过 dp套dp等骗分的东西,而且 D1T2 因为太急了,根本没有考虑后面怎么做。(虽然标算的
D2T1 估计是救不回来,拍了很多组大数据,而且一共花了1.5h了,确实不好接着多拍一会儿,而且至今还不知道哪里错了。
D2T2 不知道为啥两个部分分都没分,
估计还是太菜了。
还有,一道sb题对拍了还挂大分真的很搞心态,真不好说啥。
谢谢你,GDKOI2023,让我获得了我该有的耻辱。