zoukankan      html  css  js  c++  java
  • XXXXXXXX不会太多吧?

    XXXXXXXX不会太多吧?

    有些统计类问题,看起来完全不可做!

    但是经过一些观察,我们可以得出一些神妙的结论。

    先来看两个比较奇怪的栗子。


    栗子1:Make Symmetrical

    (x^2+y^2=c)的解不会太多。

    题意:

    维护一个二维平面点集,支持插入删除查询操作。每次查询输入一个点((x,y)),求出,要让点集关于((0,0),(x,y))对称,需要补多少个点。

    题解:

    • 首先如果(x^2+y^2)不是完全平方数,那这条直线很划水的。[想一想就能意识到了]
    • 然后,如果((x_1,y_1)),((x_2,y_2))关于直线对称,那么这两个点到原点距离相等哎。[垂径分弦]
    • 把距离原点相等的点扔到一个set里就好了

    --

    栗子2:Archery Tournament

    题意:

    !考虑好多好多圆两两相切的情况

    打靶游戏,操作分为两种。

    • 操作1:添加一个靶子[给出圆心((x,y)),半径为(y)]。
    • 操作2:射击某个位置,如果射中了,靶子就没了。

    保证,靶子不会相交。

    很显然靶子不能相交这个条件会很有用。

    做法:

    作直线(x=k),截到的圆个数会很少。


    稍微总结一下啊

    1. 首先是几何级数!

    众所周知,这东西增长飞快飞快的啊!

    2017ECL D: Mr. Panda and Geometric Sequence

    做法:

    • 等比数列至少有三项。我们设公比为(frac{p}{q}),那么(a_1\%q^2=0)
    • 然后,枚举首项,枚举公比。然后就没了。
    • 最后我们会发现合法的数字很少,预处理好所有合法数字,对于查询,二分即可。
    • 现场赛,被公比不为整数这点吓到了。但是仔细观察下,还是很明确的。
  • 相关阅读:
    26个精选的JavaScript面试问题
    用js实现随机选取10–100之间的10个数字,存入一个数组,并排序
    小程序布局中class='container'的bug
    PHP接收数据数据包的几个方式
    LINUX命令
    VMware的下载安装
    php中Sessions
    php中Cookies
    php文件上传
    php文件处理
  • 原文地址:https://www.cnblogs.com/RUSH-D-CAT/p/9569012.html
Copyright © 2011-2022 走看看