zoukankan      html  css  js  c++  java
  • 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5

    A. fraction

    upsolved

    题意 输入 (x,p),输出最小的 (b) 使得 (bx\%p<b)

    做法

    • (bx-py<b),即 (b(x-1)<py),即 (frac{b}{y}<frac{p}{x-1})
    • 另一方面,(bx>py),即 (frac{p}{x}<frac{b}{y})
    • GCD 即可。

    B. three arrays

    unsolved

    题意 给定两个数组(a),(b),要求两两配对异或和得到的(c)数组字典序最小。

    做法

    • 比赛时就是个憨憨
    • (a,b)序列分别建字典树
    • 开两个指针初始分别指向两颗字典树的根节点,然后同步行动
      (1)当两棵树左儿子都还有时,该两个指针都往左儿子跑
      (2)当两棵树右儿子都还有时,该两个指针都往右儿子跑
      (3)当上述两种情况没了,就一左一右地跑,这样会对后面的答案产生((1<<dep))地影响
    • 递归处理即可
    • 时间复杂度大胆猜测为(O(n * logMAX))

    D. equation

    solved by rdc 78min -2

    题意(sum_{i=1}^{n} |a_ix+b_i| = C) 的解。

    做法 分段函数,对零点排序,从小到大扫描,记录斜率和截距。


    E. permutation 1

    solved by F0_0H 104min -3

    题意 求差分序列第(k)大的排列

    做法

    • k很小
    • 所以当(n)小于8时暴力,大于8时,前几项贪心确定,后几项暴力

    F. string matching

    solved by sdcgvhgj 14min

    做法 抄一遍exkmp


    G. permutation 2

    solved by sdcgvhgj 40min

    做法 f[i]=f[i-1]+f[i-3]


    G. line symmetric

    unsolved by sdcgvhgj -11

    题意 判断一个简单多边形移动一个点之后能否变成一个轴对称的简单多边形

    做法

    • n≤4输出YES
    • 枚举边的中垂线或角平分线做为对称轴,然后判是否合法
    • 判的时候只判了每个点是否对称,并没有判是否移动后会不能变成简单多边形
    • 当时想的是它两边一定有一边是不跨轴的,否则它本身就不合法,所以一定不需要判
    • 其实是可能两边都跨轴的,并且很好举例子,为什么当时就憨在那了。。
    • 当时看榜一片红,而且自己的做法怎么想怎么对,其实数据一点也没毛病而且很强。。完全是自己sb,值得反省

  • 相关阅读:
    vs2008 服务器控件库
    dropdoenlist 设置默认值
    .NET用HttpFileCollection实现多文件上传
    dropdownlist 绑定
    简单的webservice调用(天气预报)
    统计在线人数
    多文件上传
    dropdownlist1 绑定 value值
    WMI 脚本入门:第一部分 (MSDN)
    WMI 脚本入门:第三部分 (MSDN)
  • 原文地址:https://www.cnblogs.com/FST-stay-night/p/11305372.html
Copyright © 2011-2022 走看看