zoukankan      html  css  js  c++  java
  • 题解 LGP1053 【篝火晚会】

    我感觉这些题解都好复杂而且看不懂看不懂/dk/dk于是来水一篇.

    题意蛮难懂的感觉.造要达到的环这个过程比较简单,不多说.

    从初始环到目标环

    显然,把环的位置固定(严禁旋转)时,不相同的个数就是答案.

    暴力的话. (O(n)) 旋转到不同角度的环,再 (O(n)) 计算答案.是 (O(n^2))

    要优化

    固定目标环,就按照原来刚求出的目标环就可以了

    增加数组 (dis) , (dis_i) 是目标环上第i个离初始环上它的位置的距离,

    也就是说,只要转 (dis_i) 就可以使它相同,不需要用命令改变位置.

    使用 (vis_i) 计算 (vis_{dis_i}) ,也就是 (dis_i) 出现次数

    答案是 (n-max(vis_i))

    另外,有可能环是倒序的,因此也要计算一遍.

    代码好写的很,不上了.

    Thanks

  • 相关阅读:
    Thread Based Parallelism
    Thread Based Parallelism
    The Divide and Conquer Approach
    Algorithms
    FTP
    POP and IMAP
    通过 python 处理 email
    Android开发环境搭建简介
    Hello world
    mybatis3.2初学感悟
  • 原文地址:https://www.cnblogs.com/zdsrs060330/p/13882566.html
Copyright © 2011-2022 走看看