zoukankan      html  css  js  c++  java
  • GYM 101158 | 2016-2017 ACM-ICPC, Asia Tsukuba Regional Contest

    https://codeforces.com/gym/101158
    D题:双哈希:哈希函数一致,模数一个 1e9+7,一个998244353即可。

    I题:作三角形或四边形,满足以下条件:
    ① 在 x = 0, x = 1e9, y = 0, y = 1e9 这四条直线上都存在着端点
    ② 端点都是整点
    ③ 面积不超过 25000

    在分析的过程中,会遇到这样一个问题:求 (x, y),最小化 (|ax - by|)
    第一个问题,这个值是多少,这个值显然就是 ((a, b)),可以通过扩展欧几里得算法求得。
    第二个问题,怎么求一组 ((x, y))
    (ax - by = d)
    (ax - by = 1)
    在辗转相除的过程中,假设 (ax' - by' = 1),已知 (bx - (a \% b) y' = 1),通过待定系数法可解得 (x' = -y, y' = 忘记了)
    第三个问题,当 ((a, b)) 很大时,计算过程可能会爆界,怎么办?由于通解是 (x = x_0 + bt, y = y_0 + at),我们通过对 (x') 取模限定 (1 le x_0 < b),然后再计算 (y') 即可,此时也显然能推出 (0 le y' < a)
    显然,第三个问题当中,我们得到一个更优的技巧,能很轻松地限定 (x)([1, b])(y)([0, a - 1]) 内。

    K题,不好现场推,模板里记个结论:

    [s(X) = left{~ max_{y in Y_{Alice}} s(y) ~ | ~ min_{y in Y_{Bob}} s(y) ight} ]

    (s(X) > 0):Alice必胜;(s(X) = 0):公平;(s(X) < 0):Bob必胜。
    (s(X + Y) = s(X) + s(Y))
    Surreal Number的计算方法:...
    对于取石子问题,自底向上,先取连续1,再取1/2,再取1/4,...

  • 相关阅读:
    [oracle] linux Oracle 安装配置
    [dns] linux dns 安装配置
    [apache] linux Apache 编译安装
    [yum] linux yum 配置本地和ftp源
    [ftp] linux ftp 安装配置
    [ssh 无密码访问]linux ssh公匙密匙无密码访问
    [php ] linux php 搭建
    [mysql ] linux mysal 修改字符集
    [ mysql ] linux mysql 忘记root密码重置
    国安是冠军
  • 原文地址:https://www.cnblogs.com/Sdchr/p/14637755.html
Copyright © 2011-2022 走看看