您的位置:首页 > 理论基础 > 数据结构算法

2016年 中国大学生程序设计竞赛合肥赛区(ccpc)解题报告

2016-12-20 23:03 453 查看
合肥赛区:(现场四题,赛后补到七题)

ProblemC:

题意:给一棵nn个节点的树,边有权,为0或1。在树上进行游戏,游戏开始时会确定一个节点为根,两人交替进行操作。一方操

作时,选一个非根节点uu满足uu和其父亲之间的边权为1,然后把uu到根路径上所有边权翻转。一方无法操作时,另一方胜利。

有mm次修改:0\x0 x询问以xx为根开始游戏谁会赢;1\x\
y\ z1 x y z将xx和yy之间的边权改为zz。

解题思路:树上博弈,看起来吓人的题目,实际上无论是SG打表还是单纯找规律都可以发现是奇偶问题。

过程:两人分工,队友打SG表同时我找到了规律,发现水题,直接A掉。

ProblemE:

题意:在3\timesn3×n的网格上进行扫雷。对于一个已知的格子,若它不是雷,则它上面会写它周围八个格子中地雷的总数。第二

行格子全部已知且没有雷。另外两行全部未知。问有多少种合法的埋雷方案。

解题思路:裸的状态压缩DP,重现赛卡了时间,可以通过预处理优化,水题。
过程:队友直接切掉。

ProblemH:

题意:给一个长度nn的非负整数序列{a_i}a​i​​,有mm个询问,每次询问x_ix​i​​,问aa的所有连续子序列的异或和中,与x_ix​i​​之差的

绝对值最小的子序列的长度。若有多个输出最长的。n,m\leq 100n,m≤100。

题解:裸暴力。对于每次询问,枚举所有的连续子序列,找出最优的答案即可。

过程:队友直接切掉。

ProblemI:

题意:给定两个自然数ll和rr,选两个数x,yx,y满足l\leq
x \leq y \leq rl≤x≤y≤r 且x|
yx∣y最大。输出这个最大值。

解题思路:找规律。发现必选r。然后从高位到低位枚举二进制的r,如果有为0位,查询是否存在x|r可以使得r的该位为1,有找

到退出,没有继续。

过程:直接找到规律迅速A掉。

总结:四道题目A的速度特别快,但是整场比赛都卡在了A题。赛后发现A题由于数据弱暴力可过,所以全场大部分队都过了。因

为是几乎全场题,不甘心放弃,导致后面的题目都没时间做了。失误很大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐