导航

辽宁Provincial tr1

Posted on 2025-11-08 11:46  tttfred  阅读(1)  评论(0)    收藏  举报

CCPC女赛

K.左儿子右兄弟

给你一个树,现在给你每个节点的父亲,求在左儿子右兄弟方式构造下的二叉树的子树和最小,并求构造方式。
想到:在一个“根”的子节点中,把新子树大小越小的排下面,新子树大小越大的排上面,大小一样随便排,然后方案数就是所有排列乘积。(新子树大小就是所有子节点的大小(递归定义))
最小子树和可以排完序再dfs

B.爬山

在地图中有若干座山,当当前山不大于目标高度会累积疲劳值hx-hy,反之会清零疲劳值,人有疲劳耐久上限,求从1到每座山的最小时间。
看到清零,看到疲劳值范围,可以见分层图,然后跑最短路就行。

CCPC山东

E.最大公约数

给你一个数组,给你一个权w,你必须对数组中的若干个ai一共执行恰好w次+1操作,问这样得到的数组的最大公约数是多少。
第一步,显然这个最大公约数就是sum+k的约数,在数据范围内大约有5000多个。
第二步,写check函数。要想到,每一个数若不整除gcd,必须搞到最接近当前数的gcd的倍数,一个个求会搞到5000n n不大于1e6会T,考虑用前缀和快速统计答案,这样就可以在调和级数时间得到check

方格谜题

典型bfs。但是询问次数很多,考虑预处理。预处理123456789到所有状态的步数,放在一个map里,读入s把他映射为123456789,然后直接输出即可