UOJ Logo zdw1999的博客

博客

“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛网络赛题解

2019-04-11 20:34:29 By zdw1999

A: Mex Query

给出若干个非负数, 问最小的未出现的数

排个序直接扫描一下就好了

别问为啥wa3次,问就是我弱智

B: icebound的商店

一开始没看到 "icebound的商店里一共有15件商品" 结果WA了一次

算出前15个商品的花费, 然后预处理dp, f[i][j]表示前i种商品组成j花费的方案数, 暴力转移即可

C: Nim Game

首先要知道nim博弈的结论: 直接按每堆数量取异或, 不为0则必胜

然后这题每堆石子是固定的, 所以预处理前缀异或和然后O(1)查询即可

D: Defending Plan Support

树形dp. 首先随机选取一个根, 然后预处理出f[i]表示i的子树上所有点的权值和, g[i]表示i的整颗子树对当前i的贡献

转移 $ f[i]=w[i] + \sum_{j是i的儿子}\quad\ f[j] $ , $ g[i]=\sum_{j是i的儿子}\quad\ (g[j]+f[j]*dis(i,j)) $

其中 w[i] 表示i点的权值

然后从根再做一次dfs, 不断将父亲节点当做子节点的子树并将贡献向下传递给子节点即可

E: Bitmap

首先注意到判断两个矩阵是否能靠调整偏移量变成相等, 只需要判断其相邻元素的差值是否相等

然后对于这种区间比对, 不难想到用哈希来验证

为了压缩时间, 需要吧所有行的哈希再哈希一次, 然后比对矩阵的"所有行"和第一列是否相同即可

F: 神殿

从高向低逐位扫描, 如果l,r都含这一位, 则加入答案, 否则将 $ 2^i - 1 $ 加入答案并跳出即可

另如果从当前位开始r后面所有位都是1, 那么显然将这些都直接加入答案并跳出即可

G: K Multiple Longest Commom Subsequence

没看, 留坑(咕咕咕

H: 跑图

把所有1的位置入队后直接做bfs即可

I: Power Seq

除了分块并没有想到更好的做法(咕咕咕

J: Beautiful Array

没看, 留坑(咕咕咕

K: 520

裸的快速幂...

L: icebound的账单

直接求和判正负

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。