西安集训总结

Day0

做火车加吃饭加玩

Day1

考试日。
第一次考试,感觉它的题可能没有NOI的难度,但是比NOIP的难。

T1

第一题有一个非常没有用的题目背景,我甚至理解很久,感觉毫无意义,以后还是直接看题。一开始并没有思路,还是先研究它的部分分首先发现有 \(n\) 特别小可以暴力枚举的部分,然后有 \(2^k\) 以及 \(2^k-1\) 的部分分,手玩 \(2^k\) 发现等于 \(2^{k-1}+1\) 。然后考虑对于 \(2^k-1\) 发现最大值为 \(2^{k-1}\) 。到这暴力了 \(40\) 分,然后对于剩下的打表获得了 \(45\)
没有挂分但,但是正解其实不远(有很多人做出来)我们发现这个值有一个上界 \(min(2^h,n-2^{h-1}+1)\) 第一个上界的证明我不会,但是第二个在已知第一的时候是简单的(相当于 \([1,2^h-1]\) 的数能选的都选了,\([2^h,n]\) 的数全部选上了,显然这是一个上界。)。
一直答案考虑怎么构造出合法的方案(不止一种)我们可以直接选 \([2^{h-1},2^{h-1}+ans-1]\) 因为在 \([2^{h-1},2^h-1]\)\(2^h\) 个数 \(2^{h-1}\) 位是 \(1\) , \(2^{h}\) 位是 \(0\) ,在 \([2^h,2^{h-1}+ans+1]\)\(2^{h-1}\) 位是 \(0\) , \(2^{h}\) 位是 \(1\) 。所以任意两个数异或在 \(2^{h-1}\)\(2^h\) 要不然全是 \(1\),要不然全是 \(0\) 。一定不冲突。

T2

赛时觉得比较能做的题,实际上并不简单。
首先我们发现对于每一个点除叶子外向上跳的最短方法是一样的,我们可以求出 \(f\) 统一进行计算。如何求出 \(f\),考虑 \(dp\)
\(f\) 显然可以从上面往下落,或者从下面跳,对应转移
image
然后我们考虑如何进行有可能转移不合法(跳出去回不来了)所以我思考 \(f\) 是否是对的。对于 \(f\) 的值对应了一个操作序列,我们调整序列一定不影响结果,所以我们贪心的先选向下即可(只要没有向上超过链长的就一定合法)。对于叶子不管(叶子一定没贡献)。
然后如何完成答案统计,这种跟 \(lca\) 有关的我们考虑枚举 \(lca\) 统计答案。考虑分讨,有贡献的点对有三种:

  1. \(u\) 是自己,\(v\) 是重子树(给定的链)
  2. \(u\) 是轻子树,\(v\) 是重子树(包括自己)
  3. \(u\) 是重子树,\(v\) 是自己
    做就对了。

T3

不会

DAY2

接着考试,更难了。

T1

我一看就不太会的感觉。然后还是想了很久发现不好做,只会模拟,等到后面再写,但是到最后发现模拟写起来很让人难受,中途放弃了 \(15\) 。感觉这个分还是应该拿,想清楚再动手。

T2

又是一个一直钻研部分分的题。手玩一些给完的序列,发现对于设开始在 $x $ 的位置经过一轮操作以后在 \(f(x)\) 的位置。我们显然发现它一定是合法的。对于剩下的情况和你 \(f(x)\) 位置的情况有关。所以我们有了暴力枚举的做法。
考虑如何优化这个过程,显然关键在于 \(f(x)>x\) 的情况,仔细研究发现 \(f(x)\) 最终一定收敛(单调有界)有 \(f(x)=x\)。所以我们希望从这里入手来优化。但是我们发现这样的 \(x\) 可能不止一个,直接计算会算重。所以对于每种序列我们只在最靠左的地方计数(就是抵到1)的情况。
然后我们就有了 \(dp\) 的想法。设 \(dp_{i,j,0/1}\) 表示执行了前 \(i\) 个操作,当前在 \(j\) 的位置有没有到过 \(0\) 的位置的方案数。转移就是对与三种情况分讨即可。
然后每个位置都当作开头做一遍,答案为 \(f(x)\) 小于 \(x\) 的方案数,以及后面的收敛方案数。

	int res=sum;
	for(int i=1;i<=k;i++)res=(res+(f[n][i][0]+f[n][i][1])%mod)%mod;
	sum=(sum+f[n][k][1])%mod;
	ans[k]=res; 

DAY3

难得的不用考试日,感觉时间会更加充足。
今天主要在做发的 \(dp\) 题,感觉非常难。基本上都没什么思路,做了三道发的题,一道昨天留下的构造题以及一道作业题。收获还是比较大的,在结束之前把今天的题解写了就圆满了。(还出去吃了饭,肉夹馍太好吃了,羽毛球太难打了)
完不了工了!!!
P4516 [JSOI2018] 潜入行动题解
CF1930G Prefix Max Set Counting 题解
AT_arc168_e [ARC168E] Subsegments with
不过今天还是没有写计划,感觉有一点随心所欲的感觉,没有整体的规划。

DAY6

又考试了,终于有一道我会的题了,虽然是一个原题,能做出来还是很开心的。但是考了 \(120\) 还没有我上一次 \(15\) 排名高(滑稽)。

T1

其实是最简单的题,但是感觉这个贪心考场上不太敢写,也不太能证明贪心的时间复杂度所以过的人也不是特别多。
很符合直觉的是挂在中点,同时还有找深度最浅的点挂上还有从大到小加入。在赛场上能推出来但是不会汇总起来,灵活应用。有了上面的性质就可以用数据结构模拟这个过程,我直接无脑用了线段树(事实上可以用差分);

T2

场切的dp题,会写在dp合集里。

T3

又是一道dp,会写在dp合集里。

DAY7

休息日,组织我们去西安博物馆看了一下,感觉很一般(除了有几个唐三彩和陶俑有点意思以外)而且不知道是不是因为前一天睡的不算早,所以在博物馆基本上腰酸背痛。永兴坊感觉不如宽窄巷子和锦里,有点小,也没看到特别好吃的。想个同学们买点特产,看得上都太贵了。最后只给自己买了一个牌子。下午昏天黑地的睡了一觉,晚上点了个外卖,很一般,然后黑灯瞎火地打羽毛球,有点实力。回去和同学一起打麻将,写题,看比赛然后就去睡觉了。
虽然什么都没有干,但是休息放松加上和同学出去玩还是很不错。

DAY8

考试,截至目前考得最好的一次虽然一道题没有写,但是第一题本身比较简单,所以部分分非常好得,比较简单的实现就可以获得 \(80\) 分的巨额成绩,虽然正解最需要写一个不等式再用李超线段树维护即可。第二题,是一个非常一眼的数据结构题,但是它的操作非常的难,我自己感觉是没有见过,同时认为不好维护与实现,基本上十分钟就放弃了。然后第三题,只会最简单基础的暴力,可以隐约感觉到是dp,但是设计不出dp状态,只能放弃。

DAY9

数据结构专题,发现有几道是以前做过原题,所以复习了一下。
然后在题单里找了一道最简单的题,但是由于最开始没理解,所以一直思考了很久才懂它是如何拆掉绝对值同一维护的。分块非常好实现就直接写了分块的做法。(好像还有可持久化平衡树暴力维护的做法,我没有学)。然后下午改了下前一天考试没改完的题,然后想再写一道 ds 于是尝试学习 slope trick ,未果。晚上,感觉自己感冒状态不好,所以请假回去休息了一下。

DAY10

又是考试,而且这次我一道都不会。
可以发现 \(2,3\) 是数据结构,\(1\) 非常的神秘,可能是数学或 dp。但是我考场时思考了很久,一直没有找到突破口,所以没有任何进展,最后的时候只写了暴力,\(1,3\) 的暴力不好打,所以打了 \(2\) 的。但是最后暴力写挂就爆零了。下午发了题解后看不懂 \(1,3\) 勉强看懂 \(2\) ,尝试做 \(2\) 发现实现不出来。最后,晚自习找同学学了 \(T1\) 才改出了一道题。

DAY11

接着考试,终于又有了一道我会的题。(虽然有可能时因为题目简单导致的)
通读完题目后,我就一直在看 \(t_3\) 感觉比较可做,只有包含和无交关系会形成一棵树的结构,然后答案就是边数。所以就需要求最小的包含它的区间,所以想到了扫描线,从左向右做区间覆盖问题。然后就切了,自己出了一些小数据测了一下,就放在那了。没有想出来 \(t1,t2\) 。但其实都比较简单。\(T1\)\(dp\) 专题,\(T2\) 是 CF1458C 。我们发现 \(t_2\) 的部分分为什么 \(RLUD\) 是好做的,因为对于所有格子的操作是一样。然后我们发现 \(IC\) 其实也满足这个性质,如果我们对于每个点维护一个三元组 \((i,j,a_{i,j})\) \(IC\) 就是交换 \(1,3\) 或交换 \(2,3\) 。所以维护每个值的偏移和最终位置即可。

DAY12

最后一天还在考试。而且有点难,三道题我都不太会,思考了很久打了一些暴力分上去,非常的低,然后就去吃饭了,搜完东西之后还以为自己的球拍在机房找了老师,最后发现在yt的寝室里。拿上拍提着行李箱走了好长一段路到地铁站,地铁上看了一会书但一直在担心自己身份证是不是在行李箱里没怎么看进去。火车上学了一会的伴性遗传,听了一会歌,然后学了会数学和英语,就下车了。回到家吃了一顿不太愉快的饭,再回家看电视。这一天就过完了,这一天可以休息一下,剩下的清明假期就要好好加油了。
考试的题还没有补?什么时候有时间来干这件事呢?

posted @ 2025-03-23 20:23  exCat  阅读(15)  评论(0)    收藏  举报