• CCPC 2020 威海站


    gym 102798。
    写了几个签到题,躺的很舒服。

    A.Golden Spirit

    无论怎样,一定可以先送完第一轮,即把每个人都送到对面去。

    接下来只会有两种决策,一种是等到当前我所在这一侧至少有一个人休息好了开始送第二轮,另一种是先走到对岸,再等到有人休息好了开始送第二轮(因为对岸有人休息好的时间更早),取较优的解即可。

    这是因为第一轮送的时候每个人开始休息的时间差了一个 (x) ,在第二轮中花费时间 (x) 送完一个人之后,对岸也一定会有一个人休息好了,于是可能出现差异的地方就只有从哪一侧开始送第二轮。

    code

    B.Labyrinth

    如果起点终点围成的矩形里面没有障碍,答案就是曼哈顿距离。
    否则如果受到障碍阻拦,那么贴着障碍走是最优的,以每个与障碍相邻的格子为起点 bfs 一下就行了。

    第一次写开了 160 * 200000 的数组,把电脑卡死了。想了一下,发现先把询问离线下来就可以了。
    code

    C.Rencontre

    如果给定树上的三个点,不难发现汇集在一点的最小距离和就是两两之间距离之和的一半。
    于是根据期望的线性性统计每条边的贡献就行了。

    好久没写题,第一次写的时候开边表都忘记大小要 *2 了。
    code

    D.ABC Conjecture

    如果 (c) 没有平方因子,那么显然 (rad(abc)ge rad(c)=c) ,无解。
    否则可令 (c=p^2d,a=pd,b=p(p-1)d) ,则 (rad(abc)=rad(p(p-1)d)le p(p-1)d<c) ,有解。

    于是有解的充要条件是 (c) 有平方因子。枚举 (sqrt [3]{c}) 以内的数尝试对 (c) 分解,如果剩下的数 (>1) ,则它只可能是素数或者两个素数之积,再判断一下它是否为完全平方数即可。也可以直接用 Pollard-Rho 解决。

    code

    G.Caesar Cipher

    考虑用线段树维护字符串的哈希值,由于每次只 (+1) ,所以所有位置取模的次数之和是 (O(frac {nq} P)) 的。

    线段树的每个节点记录一下区间哈希值以及区间内 (a_i) 的最大值,修改时如果遇到 (max a_i=P-1) 的节点,就递归下去暴力处理,否则整体修改哈希值即可。

    自然溢出会被卡,用双哈希比较稳健。

    code

    H.Message Bomb

    给每个集合记录一下总信息条数,一个人加入某个集合时,将他的答案减去这个集合当前已有的信息数目,一个人离开某个集合时,将他的答案加上这个集合当前已有的信息数目。
    最后把每个人还没离开的集合的贡献加上去就行了。
    code

    J.Steins Game

    黑白石子之间互不影响,所有黑色石子是一个游戏,其 SG 值与每堆白色棋子的 SG 值的异或就是全局的 SG 值。

    打了个表观察黑色石子的 SG 值,和源哥,ldx 讨论后发现这个 SG 值就是 最少的那一堆的数目 - (有几堆是最少的 + [每堆都是最少的]) % 2 。

    于是把所有石子堆排序,从大到小枚举黑色石子中最少的那一堆的数目以及有几堆是最少的,对当前可能成为白色的石子堆维护一个线性基就行了。
    code

    L.Clock Master

    这个答案就是拆出来的所有数的 LCM ,于是只会用到质数的幂,多余的可以用 1 凑上,做一个背包就行了。
    code

  • 相关阅读:
    VysorPro助手
    Play 2D games on Pixel running Android Nougat (N7.1.2) with Daydream View VR headset
    Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset
    Native SBS for Android
    ADB和Fastboot最新版的谷歌官方下载链接
    How do I install Daydream on my phone?
    Daydream Controller手柄数据的解析
    蓝牙BLE传输性能及延迟分析
    VR(虚拟现实)开发资源汇总
    Android(Java)控制GPIO的方法及耗时分析
  • 原文地址:https://www.cnblogs.com/jklover/p/14876806.html
Copyright © 2020-2023  润新知