• 解救迷茫的草滩小王子


    解救迷茫的草滩小王子
     

    描述

     

      彩虹岛上一共会举办n场纯粹的(CHD−FINAL)比赛,编号为从1∼n的正整数。

      小王子是一个狂热又 纯粹的ACMer,自然要参加每一场。

      万万没想到,比赛规则被邪恶的彩虹岛副主席掌控了。副主席一共会修改n次比赛规则,第i 次修改规则会导致编号为i的正整数倍的比赛性质发生反转。(比赛只有两种性质:纯粹和不纯粹,纯粹的比赛经过反转会变成不纯粹的比赛,不纯粹的比赛经过反转会变成纯粹的比赛)

      小王子很苦恼,没办法改变比赛规则的他只想参加纯粹的比赛。请你告诉他一共能参加多少场比赛。

    输入

     

    输入第一行为一个整数T(T ≤ 10^{5}105),表示一共有T组测试数据。

    接下来有T行,每行有1个整数为n(1 ≤ n ≤ 10^{5}105),表示比赛的总数量

    输出

     

    对于每组测试数据输出一个整数x,表示草滩小王子能参加的比赛数。

    输入样例 1 

    2
    1
    5

    输出样例 1

    0
    3
    

    提示

    对于第一组样例,没有小王子能参加的纯粹的比赛。

    对于第二组样例,小王子能参加的比赛编号为2,3,5。

    来源

    2018长安大学acm新生赛

     
     
    一开始想的是模拟,TLE
    后来想打表或用位想办法模拟减小时间
    打表不行,submit有代码长度限制
     
    解法:
    对于某一个数i,如果它不是完全平方数,那么它的因子一定有偶数个(成对的),否则则有奇数个
    前一种情况相当于没变,后一种情况相当于变一次
    故[1,n]内没变的即有n-[sqrt(n)]个
  • 相关阅读:
    .NET 并行编程——数据并行
    .NET Unity XML 配置文件(2)
    Java 判断字符串第一位和最后一位,并截取
    Python的datetime模块分析
    springMVC自定义注解实现用户行为验证
    python hex() oct() bin() math 内置函数
    excel表格 xls、xlsx 读取
    Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
    node服务器中打开html文件的两种方法
    利用 Express 托管静态文件
  • 原文地址:https://www.cnblogs.com/spzeno/p/10126050.html
Copyright © 2020-2023  润新知