首页 > 其他分享 >J 开关问题

J 开关问题

时间:2023-11-11 21:24:28浏览次数:32  
标签:状态 ll long 问题 开关 因子 翻转

J 开关问题


Description:

  • 有一排 \(n\) 个开关,初始时,均处于关闭状态,现在按 \(i=1,2,...,n\) 的顺序执行共 \(n\) 次操作:第 \(i\) 次操作时,翻转第 \(i\) 个、第 \(2i\) 个、...、第 \(⌊n/i⌋×i\) 个开关,即,把打开的关闭,把关闭的打开。问:最终处于关闭状态的开关有几个?

Hint

对于样例 \(n=6\),初始时第 \(1\)~\(n\) 个开关状态分别为 \(0,0,0,0,0,0\),执行操作如下:

翻转第 \(1\) 个、第 \(2\) 个、...、第 \(6\) 个开关,此时第 \(1\)~\(n\) 个开关状态分别为 \(1,1,1,1,1,1\)

翻转第 \(2\) 个、第 \(4\) 个、第 \(6\) 个开关,此时第 \(1\)~\(n\) 个开关状态分别为 \(1,0,1,0,1,0\)

翻转第 \(3\) 个、第 \(6\) 个开关,此时第 \(1\)~\(n\) 个开关状态分别为 \(1,0,0,0,1,1\)

翻转第 \(4\) 个开关,此时第 \(1\)~\(n\) 个开关状态分别为 \(1,0,0,1,1,1\)

翻转第 \(5\) 个开关,此时第 \(1\)~\(n\) 个开关状态分别为 \(1,0,0,1,0,1\)

翻转第 \(6\) 个开关,此时第 \(1\)~\(n\) 个开关状态分别为 \(1,0,0,1,0,0\)


Constraints:

  • \(1≤n≤10^8\)

Analysis:

  • 对于每个开关 \(i\),考虑它会翻转的次数,当 \(i\) 的因子被翻转时,\(i\) 也会因此翻转,故其翻转次数为其因子的个数。若 \(i\) 有偶数个因子,最终关闭; 若\(i\) 有奇数个因子,最终打开。
  • 容易验证,当且仅当 \(i\) 是完全平方数时,\(i\) 有奇数个因子。
  • 故只需统计 \(1-n\) 中完全平方数的个数(开关打开)

Solution:

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;

ll ans;

int main() {
	ll n; cin >> n;
	for(ll i=1;i*i<=n;i++) ans ++;
	cout << n - ans << endl;
	return 0;
}

标签:状态,ll,long,问题,开关,因子,翻转
From: https://www.cnblogs.com/Trilliverse/p/17826380.html

相关文章

  • SpringSecurity successHandler方法使用自定义Handler登录成功,302问题
    一开始我自定义了成功和失败两个Handler,在进行调试的时候发现失败的没有问题,但是登录成功的话走的是某人的重定向而不是我自定义的protectedvoidconfigure(HttpSecurityhttp)throwsException{http.csrf().disable().headers().frameOptions().disable()......
  • 如何修复页脚的 CSS 属性无法正确显示的问题?
    修复页脚的CSS属性无法正确显示的问题需要进行以下步骤:检查CSS代码:检查页脚CSS代码中是否存在拼写错误、语法错误等问题。确保代码中的所有属性和值都正确书写。检查选择器:确认CSS中的选择器是否正确匹配到页脚元素。可以在浏览器开发者工具中检查元素的样式是否被正确应用......
  • 想入坑golang web,向大佬们请教些问题?
    当你准备入坑Go语言的Web开发时,以下是一些常见的问题,你可以向大佬们请教:如何设置和启动一个GoWeb服务器?Go语言有哪些常用的Web开发框架?它们之间有什么区别和优劣势?Go语言中的路由是如何实现的?如何处理不同的HTTP请求方法和URL参数?Go语言如何处理请求和响应,以及如何......
  • css中多行省略号不生效的问题?
    多行省略号不生效的问题可能是由于以下原因之一:1.高度限制:多行省略号需要给容器元素设置一个固定的高度,否则文本会自动撑开容器,不会出现省略号。在你的代码中,如果.item元素没有设置高度,多行省略号效果可能无法生效。2.浏览器兼容性:多行省略号的样式属性-webkit-line-clamp是......
  • 有关于时间转换问题
    有关于时间转换split函数s1='lcyisapig'foriins1.split():#['lcy','is','a','pig']print(i)s2='lcyisapig'foriins2.split(''):#['','lcy','......
  • 信任问题
    ·安全问题的本质是信任的问题 ·一切安全方案的基础,都是建立在信任关系上的。我们必须相信一些东西,必须有一些最基本的假设,安全方案才会得以成立 如果我们否定一切,且对一切都不信任,安全方案就会成为无源之水,无根之木,无法设计,也无法完成。 ·在现实生活中我们一般很少设......
  • 如何解决多线程下的共享对象问题?分布式系统又该如何应对?
    嗨,各位小米粉丝们!欢迎来到小米带你飞的微信公众号!今天我们要聊的话题可是程序员们都头疼的大问题哦——多线程情况下的对象共用问题,以及在分布式系统中的应对策略!小米要给大家详细解读一下,让你的技术面试不再被问倒!多线程中,如何解决对象共用问题?首先,我们得先了解多线程带来的挑战。......
  • ORA-16191、ORA-01017 密码问题
    适用范围本文档描述适用于12.1版本及以上所有平台问题概述在搭建12CADG的过程中,主库alert日志报以下错误Tue0ct1020:05:312023Errorsinfile/xxdb/ordb/oracle/product/diag/xx/xx/xx2/trace/xx2_arc2_53921.trc:ORA-16191:Primarylogshippingclientnotloggedonst......
  • 聊聊我遇到过的一些网络问题
    我遇到过的一些网络问题为什么我的TCP挥手只有3次因为fin和ack一起返回了,所以tcpdump抓包显示三次ESTABLISHED的连接只在一端有,另一端却没有应用端可以把tcp连接一端的keepalive关闭,就是tcp的探活机制,连接的这一端可能就会一直有ESTABLISHED的连接CLOSE_W......
  • 转 问题解决:记录一次Linux服务器根目录突然爆满
    一般跟目录满了,可以重点关注/var这个目录 一、出问题了过了个双休来到公司,同时发现Linux终端的服务器状态中根目录空间直接爆满100%,周五走之前根目录仅仅使用了59%,同时项目服务的后台不停的有日志打印,而且测试的小伙伴说系统登录不上去了。下面记录一下个人排查并解决这个问题......