• 2018.5.5-6 GDCPC2018广东省赛 6/10 Rank12 Au


    开场各自读题。

    Hong看了A推了一会没推出来就继续读题了

    然后发现大家开始过A..就继续推了一会..还是没推出来..决定上机打个表..然后就找到规律了..就过了..

    He想出了B..上机写了就过了..

    Hong推出了F..上了就过了..

    He想了个J的假算法..上机开始写..发现是假的..就下来了..开始想C

    Hong想出了H..上了就过了..

    He准备好C就上了..然后没过样例..

    Hong上机打了一下毕达哥拉斯三元组的板子..打了个表..瞬间找到了规律..就过了E..

    (甚至感觉..E的数据范围可以巨大..)

    然后He过了C的样例..改了就交了..然后WA了..

    然后三人对着C的代码Debug了1h..最后对拍发现..He把变量名zz和z打反了.......改了就过了..

    Huang之前想出了I..但没什么时间了..但还是上机写了..

    Hong和He一起推了一下D..建了个假图..把Huang赶下来了两次..最后都没写完..然后就GG了..

    然后我们就6题滚了啊..

    题解


    A


    打表发现 an = 2 * an-1 + 2 ^ (n - 2), a1 = 1, ans = n * an。上了个矩阵快速幂过的。

    赛后发现可以拆成sigma (i ^ 2 - i + i)C.. 的形式..可以直接求出公式

    签到题

    B


     暴力从每个点找环+树状数组+预处理因子

    C


     可持久化字典树

    D


    网络流。把所有点拆点入点出点之间连点价值的边,原图中的边出点向入点连无穷大边。由于原图是二分图,可以先对原图唯一的黑白染色。之后B1和B2的点若和染色结果不同,则源向点连点价值的边,否则向汇连等于点价值的边。跑最大流即可。

    坑点是B1和B2有交集..交集的点必须删掉。

    E


    原题等价于寻找n使得 (n - 1) ^ 2 + n ^ 2为完全平方数,即寻找x与y相差1的勾股数。

    用毕达哥拉斯三元组打表发现,以3.4.5为基不断乘B矩阵(全是正数的矩阵)可以得到所有满足如上条件的勾股数。这样的勾股数有20组左右。

    求出来所有这样的勾股数暴力找即可。

    数据范围可以扩大很多。

    F


    博弈。发现2是先手必败态,4是先手必胜态。手玩6、7、8、9之后发现,开始时每次切2出来,到4或5为止,获胜状态最多。

    若n为奇数,概率为(n + 1) / 2 / n

    若n为4k,概率为(n / 2 + 2) / n

    若n为4k+2,概率为(n / 2 - 1) / n

    G


    H


    DP。DP[i]表示到当前位置为止,和为i需要的最多元素个数,0<=i<=9。开始时,能加成9就尽量加成9,之后尽量加成8.....当DP[本次要加成的数]不为0,则记录次数并将DP清0。

    复杂度O(10*10*n)

    I


    J


    吐槽


    还可以啊

    就是本来打算全1A的来着..被Hels搞了啊..

    过快点可能就7题了啊..

    惨啊..

    前面中山队真是无敌啊..

    总结


    Hong


    前期出题还是有点慢啊..30min才想到打表啊..下次数学题先打表啊..

    E应该早点上啊..下次是不是应该我的题想到直接上机啊..?反正基本5min过啊..这样罚时会少不少啊..

    前期节奏还是有点慢啊..感觉应该果断3开啊

    小目标下次2.5h过5题?

    He


     手不太稳,仍需多连续数据结构(长代码)的题,大型数据结构还不太会。

    Huang


  • 相关阅读:
    01背包
    用动态规划求两个自然数的最大公约数
    编程实现文件的复制功能,要求源文件名及目标文件名在程序运行后根据提示输入
    this和super
    JAVA中static的使用
    结构化异常处理 笔记
    继承和多态 笔记
    javascript 客户端验证和页面特效制作 学习笔记
    定义封装的类类型 笔记
    C# 核心编程结构Ⅱ 笔记
  • 原文地址:https://www.cnblogs.com/aseer/p/9003535.html
Copyright © 2020-2023  润新知