牛客OI赛制测试赛2 D 星光晚餐
链接:https://www.nowcoder.com/acm/contest/185/D
来源:牛客网
题目描述
Johnson和Nancy要在星光下吃晚餐。这是一件很浪漫的事情。
为了增加星光晚餐那浪漫的氛围,他拿出了一个神奇的魔法棒,并且可以按照一定的规则,改变天上星星的亮暗。
Johnson想考考Nancy,在他挥动魔法棒后,会有多少颗星星依旧闪耀在天空。他知道,Nancy一定会一口说出答案。
Nancy当然知道怎么做啦,但她想考考你!
Johnson先将天上n个星星排成一排,起初它们都是暗的。
他告诉他的妹子,他将挥动n次魔法棒,第i次挥动会将编号为i的正整数倍的星星的亮暗反转,即亮的星星转暗,暗的星星转亮。
Johnson想问Nancy,最终会有多少个星星依旧闪亮在天空。
输入描述:
一个整数n,含义请见题目描述。
输出描述:
一个整数ans,即n次操作后会有多少个星星依旧闪亮。
输入例子:
3
输出例子:
1
-->
备注:
对于60%的数据:n≤2×10
6
对于100%的数据:n≤10
18
这道题目与开关灯问题比较相似,就是数据不知道大了多少倍。
开始大大暴力你会发现前三个都是1,再往后5个都是2,往后7个都是3,往后9个都是4....。
1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4...
那么定义一个数组a[1]=3,a[2]=8,a[3]=15....,a[i]=j(表示到j之前的数为i)。
处理好数组按照这个规律可以过$60%$的。
然而我们并不满足:
现在我们再来观察a数组,3,8,15 这是不是平方数-1,每个数自变幻的临界点为每个平方数,显然的出结论$ans= \sqrt n $,然而并不会证明。
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
long long n; //注意开long long
int main()
{
scanf("%lld",&n);
n=sqrt(n);
printf("%lld",n);
}
牛客OI赛制测试赛2 D 星光晚餐的更多相关文章
- 【牛客OI赛制测试赛3】 毒瘤xor
牛客OI赛制测试赛3 毒瘤xor 传送门 题面,水表者自重 Solution 前缀和简单题(挖坑待补) 代码实现 #include<stdio.h> #define int long lo ...
- 牛客OI赛制测试赛2(0906)
牛客OI赛制测试赛2(0906) A :无序组数 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序意思就是(a,b)和(b,a) 算一组. 输入描述: ...
- 牛客OI赛制测试赛2
A题: https://www.nowcoder.com/acm/contest/185/A 链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题 ...
- 8.30 牛客OI赛制测试赛1 F题 子序列
题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T,表示数据组数.对于每组数据,第一行两个整数N,k,含义如题所 ...
- C数列下标 牛客OI赛制测试赛2
链接:https://www.nowcoder.com/acm/contest/185/C来源:牛客网 给出一个数列 A,求出一个数列B. 其中Bi 表示 数列A中 Ai 右边第一个比 Ai 大的 ...
- 牛客OI赛制测试赛2 C 数组下标
链接:https://www.nowcoder.com/acm/contest/185/C来源:牛客网 题目描述 给出一个数列 A,求出一个数列B. 其中Bi 表示 数列A中 Ai 右边第一个比 ...
- 牛客OI赛制测试赛2 A 无序组数
链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序 ...
- Nowcoder | [题解-N189]牛客OI赛制测试赛3
这场说实话确实水(逃*1),表示差一点就AK了(逃*2),然而被卡两个特判的我\(ssfd\)...\(qwq\) 表示这是第一次发整场比赛的题解...还请各位大佬原谅我太蒻写的垃圾啊\(qwq\). ...
- 牛客OI赛制测试赛-序列-模拟
哇这道题好坑啊,可能是我太菜了 题意就是叫把一个连续序列分成K组,使得每个组的和都相等 我最开始的想法是由于要分成K组,那我们知道,每组一定有sum(a[i])/k这样我们只需要每次当num==sum ...
随机推荐
- Codeforces711C 【DP】
题意: 有n个点,m种颜色,你要给n个点上没有颜色的点染色.每个点i对应染的颜色j有一个颜料消耗,p[i][j]是点i染成j颜色的花费,你必须保证有k段颜色的点,输出最少花费多少颜料. 还有一个就是本 ...
- bzoj3343 教主的魔法【分块入门】By cellur925
题意:维护一个数列,给出维护区间加法,询问区间内大于等于某个值的元素个数. 算法:分块.因为本题第二问显然可以用二分的思想,但是这貌似并不符合区间可加性,线段树好像就不好用了呢.所以本蒟蒻学习了分块. ...
- 跟我一起玩Win32开发(23):渐变颜色填充
GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充.我们先来看看GradientFill函数到底长得什么样子,帅不帅. BOOL GradientFill( _In_ ...
- ARC 100
链接 https://arc100.contest.atcoder.jp/ C Linear Approximation 题解 把ai减去i后排序, 我们要的b就是排完序后的中位数 Code #inc ...
- android动画(3)layout动画,layoutChanged动画及算定义它,ListViewActivity的Layout动画(代码和xm配置两种实现l)
1.layout切换动画 代码: 本示例是fragment切换.在它的oncreateView中 public class LayoutAnimationFrgmt extends Fragment ...
- session共享方法
session数据保存在memcached,redis这种内存数据库内 memcache比较简单,使用的场景比较多.redis支持的数据类型多.而且数据具有期限,和session和期限可以配合使用 通 ...
- Squid启动报:Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.
在squid.conf中添加 visible_hostname squid.packet-pushers.net 或者编辑/etc/hosts文件, 在该文件中制定主机IP地址与主机名的对应.
- spring boot jar启动
1.依赖包输出 记得禁用热加载 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactI ...
- [ Luogu 3709 ] 大爷的字符串题
\(\\\) Description 原题题面太过混乱出题人语文凉凉 给出一个长为 \(n\) 的数列 \(A\) ,多次询问: 对于一个区间 \([L_i,R_i]\),把区间内的所有数最少划分成多 ...
- 滚动字幕Marquee
基本语法 <marquee>滚动文字 </marquee> 文字移动属性的设置 方向 <direction=#> #=left, right,up,down 方 ...