牛客小白月赛42 题解

A. 冰狱寒岚

Solution

我们可以看出数字的分布周期是2048,所以可以先对所查询的数字取模,随后如果大于1023,就让他从-1024开始。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=50004937

B. 光之屏障

Solution

直接从1开始模拟2的幂次,看是否有符合条件的即可。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=50004958

C. 寒潭烟光

Solution

对于式子 i=1jsum[1,i]\sum\limits_{i = 1}^{j}sum[1, i] 我们知道 xix_i 需要计算 ni+1n - i + 1 次 那么新加入进来的 x0x_0 需要计算 n+1n + 1 次,后面的数字计算次数不变,故他们的总和为 F(x)nF(x) \cdot n 所以总的答案是 F(x)n+x0(n+1)n+1\frac{F(x) \cdot n + x_0 \cdot (n + 1)}{n + 1}

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=50004961

D. 金蛇狂舞

Solution

简单 bfsbfs,注意判断阶乘大于20就会爆long long,实际上用不到这么大的数字,需要特判一下。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=50005010

E. 暗灭侵蚀

Solution

显然对于这三个元素每次都是用最左的棋子以最右棋子为中心往右跳,这个递增速率类似于斐波那契,跳到10910^9只需要经历40次左右,所以可以暴力模拟跳的过程。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=50004967

F. 火凤燎原

Solution

换根dp,我们观察得到,对于一个点 pp,如果它的度数大于等于3,那么对于每个跟他相连的节点 aia_i,如果 aia_i 的子树大小为 sz[ai]sz[a_i],那么贡献就是 sz[ai]1sz[a_i] - 1。但是我们发现对于父亲节点并不适用,因为父亲节点包含了pp及其子树,所以我们考虑用换根dp的方式,先求出以1为根的子树信息,在查询的时候,令子节点为根,那么父亲节点的子树大小就变成 nsz[p]n - sz[p]pp 的子树大小就变成了 nn

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=50004991

一些比赛的题解 文章被收录于专栏

一些比赛的题解

全部评论

相关推荐

牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务