zoukankan      html  css  js  c++  java
  • vijos- P1385盗窃-月之眼 (水题 + python)

    P1385盗窃-月之眼

    背景

    怪盗基德 VS OIBH
    第三话

    描写叙述

    怪盗基德第三次来到熟悉的OIBH总部。屡屡失败的OIBH这次看守的是The Eye of Moon。还是那个
    房间。还是那扇门,不同的是OIBH对password锁进行了改进。这次屏幕上仅仅显示一个数n(基德:这是
    改进了还是退化了?)。

    password生成方法:设集合A中A={1,2,...,n}。B为A子集。

    对于B中随意一个元素x,2x均不在集合B中。

    B中元素数目最大值即为password。

    格式

    输入格式

    一行,一个整数n(1<=n<=maxlongint)

    输出格式

    仅仅有一个整数m。表示B中元素最大值

    例子1

    例子输入1[复制]

    100

    例子输出1[复制]

    67

    限制

    OIBH在6s内就会发现,所以每一个点仅仅有1s时间给你

    提示

    简单数学题哦~~

    来源

    From 玛维-影之歌;
    感谢vijos的朋友提供数据

    对于long long 的数据我们无法用遍历的方法去做仅仅能通过写出关于n的方程组解决这个问题

    通过题目我们能够发现

    假设我去51-100中的50个人。肯定是符合条件的

    我再去13 - 24中的13个人还是符合条件的,如此,不断的递推下去。将全部符合条件的数目加起来就能够了


    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    def fun(n):
        if n == 1:return 1
        if n == 0:return 0
        ans = fun(n / 2 / 2)
        ans += n - n / 2
        return ans
    import math
    n = int(raw_input())
    print fun(n)
            
    


  • 相关阅读:
    NOIP模拟题 管道
    NOIP模拟题 序列
    NOIP模拟题 栅栏
    NOIP模拟题 斐波那契数列
    CodeForces 797F Mice and Holes
    CodeForces 589H Tourist Guide
    CERC2016 爵士之旅 Jazz Journey
    BZOJ3832 Rally
    BZOJ1061 NOI2008 志愿者招募
    js数组的操作
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7074150.html
Copyright © 2011-2022 走看看