欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

提高组模拟赛(三)游记

程序员文章站 2022-03-16 08:15:36
总的来说,实力不足。具体地说,题做的太少。...

为啥我要写这玩意儿呢?我也不知道 ????

比赛的传送门

T 1 \tt T1 T1

考场上的草稿:

2x <= y 则 x'=2x
	否则 x' = x-(y-x) = 2x-y

	等价于 x*2^k 取模 y !我的天哪!

然后就很棒。因为 2 x = y 2x=y 2x=y 的时候不能取模。死掉了 40 p t s 40pts 40pts

T 2 \tt T2 T2

唯一没有爆掉的题目 ????

但是消耗了我很多时间。搞得后面两道题只有 2 h 2h 2h 可用。烦。

T 3 \tt T3 T3

一开始想动态 d p \tt dp dp ,直接自闭。为啥我要想一些不 noip 的算法啊!

然后意识到这是个树剖的垃圾题。淦。结果细节多惨了。

比较重要的是,树剖中线段树维护的 l , r l,r l,r 不是节点编号,而是 d f n \tt dfn dfn 。千万注意。

另一个重要细节是,线段树的标记有多个时,顺序很重要 !我以为直接用 v a l = + ∞ {\tt val}=+\infty val=+ 就可以代替 “ 清空 ” 标记,事实上不行。

而且树剖很不熟练了。最初,我每个节点本身都是一条重链。

所以我把出错的部分拿出来,以此为戒。

if(son[x]) dfs(son[x],tc);

tmp[dfn[i]] = dep[i];
val[o] = min(val[o],v-2*tmp[r]); // 不是 -2*dep[r]

tag[o] = true; // kill them all!

T 4 \tt T4 T4

最近(可能两周前么?)才看到 C o l o r    a    T r e e \tt Color\; a\; Tree ColoraTree 这道题,然后秒懂。

结果勇士的血量不用 long long 直接爆零见祖宗。

int_ hp; scanf("%lld",&hp);

后记

F r e o p e n \tt Freopen Freopen 对我说过的:“你会发现其他都是虚的,是假的。只有把代码打出来才是真的。其他都没用,最重要的是 1 h 1h 1h 写完代码、对拍、数据生成器。”

可惜我记性不好。

本文地址:https://blog.csdn.net/qq_42101694/article/details/109248291

相关标签: C++ 游记