F. Coprime Subsequences(容斥+莫比乌斯)

若依(RuoYi)项目里,Quartz定时任务踩坑实录:并发控制、事务回滚与异常处理 本文深入解析若依(RuoYi)项目中Quartz定时任务的并发控制、事务回滚与异常处理三大核心问题。通过实战案例揭示@DisallowConcurrentExecution注解的局限性和Redis分布式锁的应用,详细讲解Spring事务集成方案及多数据源事务管理,并提供生产级监控体系搭建指南,帮助开发者规避Quartz在生产环境中的常见陷阱。 阅读详情

题意:

给出一个n个大小的序列,问gcd=1的子序列有多少个

思路:

n个大小总的集合有2^n-1个,那gcd=1的序列=(2 ^n-1)-gcd=2-gcd-3-gcd=5+gcd=6……的容斥,奇加偶减,那前面的正负不就是莫比乌斯函数的u函数嘛。

挖坑:

补几道莫比乌斯的题目

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll>pii;
typedef vector<int>vi;

#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define fi first
#define se second
#define de(x) cout<<#x<<"="<<x<<endl
#define per(i,a,b) for(int i=(b)-1;i>=(a);--i)
const int N=1e5+5;
const int mod=1e9+7;
int a[N],prime[N],tot=0;
bool vis[N];
ll fac[N],mu[N];
void init(){
	fac[0]=1;
	rep(i,1,N){
		fac[i]=(fac[i-1]*2)%mod;
		
	}
}
ll num[N];
void mobi(){
	mu[1]=1;
	memset(vis,0,sizeof(vis));
	for(int i=2;i<N;++i){
		if(!vis[i]){
			mu[i]=-1;
			vis[i]=true;
			prime[tot++]=i;
		}
		for(int j=0;j<tot&&prime[j]*i<N;++j){
			vis[i*prime[j]]=1;
			if(i%prime[j]==0)break;
			mu[i*prime[j]]=-mu[i];
		}
	}
}
int main()
{
	init();
	mobi();
	int n;
	scanf("%d",&n);
	rep(i,1,n+1){
		scanf("%d",&a[i]);
		for(int j=1;j*j<=a[i];++j){
			if(a[i]%j==0){
				num[j]++;
				if(j*j!=a[i]){
					num[a[i]/j]++;
				}
			}
		}
	}
	ll ans=fac[n]-1;
	rep(i,2,N){
		ans=(ans+mu[i]*(fac[num[i]]-1))%mod;
	}
	ans=(ans%mod+mod)%mod;
	cout<<ans<<endl;
	return 0;
}
RabbitMQ高级特性 - 生产者消息确认机制 为了保证信息 从生产者 发送到 队列,因此引入了生产者的消息确认机制.通过事务机制实现.通过发送确认机制(confirm 和 return)实现.因为事务机制比较消耗性能,在实际工作中用的也不多,因此这里主要介绍confirm 和 return机制来实现发送放的确认.a)confirm 确认模式如上图,confirm 确认模式主要保障于 生产者 到 交换机 的消息可靠性.如果 Exchange成功收到消息,那么 ConfirmCallback 这个回调 ack 参数就为true。 阅读详情

相关推荐

Docker深度详解:从原理到实践的全方位指南

本文深入解析了Docker容器化技术的核心原理与实战应用。主要内容包括:1) Docker核心架构与优势,对比容器与虚拟机的关键差异;2) 企业级部署方案,涵盖离线安装与多镜像源配置;3) 高级镜像构建技术,如参数化构建、缓存优化及安全扫描;4) 容器生命周期管理,包括健康检查、资源限制及数据持久化方案。文章提供了丰富的代码示例和生产级配置建议,如使用Trivy进行安全扫描、精确控制容器资源等技术细节,帮助开发者全面掌握现代容器化技术。

weixin_42593797的博客 1280

CF803F Coprime Subsequences(容斥)

LINK 考虑先求出最大公约数大于111的子序列个数 显然,我们可以枚举这个最大公约数 我们预处理一个ok[i]ok[i]ok[i]表示有ok[i]ok[i]ok[i]个数字含有约数iii 然后我们去枚举子序列的最大公约数xxx来计算答案 我们定义f[i]f[i]f[i]表示最大公约数是iii倍数的方案数 f[i]=2ok[i]−1f[i]=2^{ok[i]}-1f[i]=2ok[i]−1 怎么求最大公约数是iii的方案数呢?? 我们定义g[i]g[i]g[i]表示最大公约数是iii的方案数 那么g[i]=

jziwjxjd的博客 560

『言善信』Fiddler工具 — 1、Fiddler介绍与安装

文章目录1、Fiddler简介2、Fiddler功能3、Fiddler工作原理4、Fiddler安装 1、Fiddler简介 Fiddler是强大的抓包工具之一,它能记录所有客户端和服务器之间的HTTP和HTTPS请求,是web调试的利器。 Fiddler是位于客户端和服务端之间的HTTP代理,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。 Fiddler可以抓取支持HTTP代理的任意程序的数据包,如果要抓取https会

繁华似锦Fighting 1466

Educational Codeforces Round 20 F. Coprime Subsequences(DP+容斥)

中包含了若干个信息,那么我们从只包含自身的信息(即最尾部的信息)倒着开始做减法不就好了吗?子序列的问题,我们只需要知道某个数字有和没有就好了。的信息,那么我们直接考虑减去这些信息就好了。的倍数,我们一定只能从这些数字中选。的倍数方案数,考虑一下这个怎么求。不理解这一步的可以思考一下如下的数列。就知道了,但显然我们要求的不是。考虑将每个数字装入桶。

田所浩二的博客 948

FDTD材料nk值拟合优化指南:利用材料资源管理器提升光学模型精度

本文详细介绍了如何利用FDTD仿真软件中的材料资源管理器,对材料nk值进行精确拟合与优化,从而提升光学模型的仿真精度。文章通过实战案例,解析了拟合参数调整、报告解读以及针对varFDTD求解器的特殊注意事项,帮助用户从根本上解决仿真结果不准的常见问题。

weixin_29196891的博客 352

Android开发者必看:火山引擎API验签实战,5分钟搞定年龄变化接口调用

本文为Android开发者提供火山引擎API验签实战指南,重点解析HMAC-SHA256签名算法实现,并以年龄变化接口为例展示完整调用流程。通过OkHttp封装和性能优化建议,帮助开发者5分钟内快速集成火山引擎人像处理功能,解决API调用中的签名验证、参数编码等核心问题。

weixin_30342209的博客 317

[cf803F] Coprime Subsequences(组合数学,容斥)

题目链接:http://codeforces.com/contest/803/problem/F 题意:n个数,统计所有满足gcd为1的子序列的个数。 统计各个数字出现的次数,然后容斥。 从10000扫到1,枚举所有倍数,把x的倍数出现的次数和统计出来,然后再统计x的倍数出现的次数和-1(减掉空集),然后作差。 倒着扫是因为,假如先前遇到了同倍数的,要减掉,如果正着扫就会容斥不到。 ...

weixin_30301183的博客 196

本地部署 Anything LLM+Ollama+DeepSeek R1 大模型并实现外部访问

DeepSeek 一经发布就引起社会的广泛的关注,因为 DeepSeek 的价格低廉,性能卓越,提供了多种使用方式,满足不同用户的需求和场景。本文将详细的介绍如何在本地 Windows 上安装部署 Anything LLM + Ollama 来实现用户和 DeepSeek-r1 对话的功能以及利用路由侠内网穿透实现外网访问。

lyxnwct的博客 1896

Coprime Subsequences(数论gcd)

题目链接:https://ac.nowcoder.com/acm/problem/112055 题目大意 给你n个正整数,求gcd=1的子序列的个数(mod 1e9+7) 思路 gcd = i的序列是由一些i的倍数的数构成的,假设a[i]表示给的数中i的倍数的个数,那么这些数一共有(2^a[i] - 1)个组合,但是这些组合并不一定全都满足gcd = i,还要筛去gcd = i*2, i*3....这么多,剩下的才是满足条件的数量。而gcd = i*2 的组合一共有(2^a[i*2] - 1)这么多

weixin_43911947的博客 333

基于Coze平台从零构建AI智能体:以测试用例生成为例的实战指南

在人工智能技术快速发展的今天,大语言模型(LLM)和提示词工程(Prompt Engineering)已成为构建智能应用的核心技术。其原理在于通过自然语言指令引导模型完成特定任务,其技术价值在于极大地降低了AI应用开发的门槛,使非专业开发者也能快速实现想法。这一技术广泛应用于自动化办公、智能客服、内容生成等场景。本文聚焦于字节跳动旗下的Coze平台,该平台通过可视化工作流编排和预置技能,将上述技术封装为易用的工具。文章以“根据产品需求文档(PRD)自动生成测试用例”这一具体场景为例,详细拆解了从需求分析、工

weixin_30617695的博客 337

Multisim 14.0元件库下载完整指南:从安装到配置

详细介绍Multisim 14.0版本的元件库下载方法,涵盖安装步骤与后续配置流程,帮助用户快速搭建仿真环境。内容覆盖常见问题及解决方案,让multisim元件库下载更高效、稳定。

weixin_34511754的博客 1933

CF 803 F Coprime Subsequences (容斥原理)

Description给定一个序列,求有多少个子串(可以不连续)满足所有数的gcdgcd为1Solution设ansians_i为gcdgcd为ii的子串个数,fif_i为数列中是ii的倍数的数,则gcdgcd为ii的倍数的子序列个数显然是2f(i)−1−12^{f(i)-1}-1,则: ansi=∑d=1⌊ni⌋μ(d)×(2f(id)−1)ans_i=\sum_{d=1}^{\lfloor \

დ♂Hany01's Blog Space♂ღ 380

基于深度强化学习的柔性作业车间动态调度

在追求敏捷和灵活的生产调度方面,处理不可预测的动态事件的能力变得越来越重要。与此同时,生产系统中的网络-物理融合产生了大量需要实时挖掘和分析的工业数据。为了便于这种实时控制,本研究提出了一种分层分布式的体系结构来解决动态柔性作业车间调度问题。采用双深度Q网络算法(DDQN)训练调度智能体,捕捉生产信息与调度目标之间的关系,为具有恒定任务到达的柔性作业车间实时做出调度决策。为了处理动态调度中问题的可变规格说明,提出了专门的状态和动作表示法。此外,还提出了一种代理奖励整形技术(surrogate reward

太剧烈的快乐与太剧烈的悲哀是有相同之点的——同样地需要远离人群! 1万+

CodeForces 803F Coprime Subsequences 莫比乌斯,容斥

CodeForces 803F 题意:给出一个序列,问有多少个 gcd 为 1 的子序列。 tags:考虑求出 gcd > 1 的子序列个数,再用 (2^n)-1 减去它即是答案。 枚举 gcd为 g,预处理出 a[] 的因子,然后看有多少个 a[] 是 g 的倍数,假设有 cnt 个,那就有 (2^cnt)-1 个子序列 gcd 为 g 。 但实际有重复,我们多计算了 gcd ...

weixin_30496751的博客 124

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

codeforces803F Coprime Subsequences -- 莫比乌斯函数+容斥

题目大意:给定一个序列,求有多少个子序列的gcd等于1。首先想到枚举每个数作为gcd,统计次数,再容斥一下。 统计答案时当这个数有偶数个约数时系数是-1,奇数个约数时是1。 然后我们发现这就是个莫比乌斯函数。 用线性筛求出莫比乌斯函数就可以了。代码:#include<iostream> #include<cstdio> #include<cstring> #include<algorithm>

gjghfd 584

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CF 803 F. Coprime Subsequences(数论题,莫比乌斯,容斥原理)

题目:Let’s call a non-empty sequence of positive integers a1, a2… ak coprime if the greatest common divisor of all elements of this sequence is equal to 1.Given an array a consisting of n positive intege

lyhuohuo的博客 640

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Codeforces 803F - Coprime Subsequences(数论)

原题链接:http://codeforces.com/contest/803/problem/F 题意:若gcd(a1, a2, a3,...,an)=1则认为这n个数是互质的。求集合a中,元素互质的集合的个数。 思路:首先知道一个大小为n的集合有2n-1个非空子集,运用容斥,对某个数,我们可以求出它作为因子出现的个数(假设为ki)。推一下式子,可以得到结果就等于:Σmiu[i...

bangpi1875的专栏 229

两道关于莫比乌斯函数的题

1. CF803F Coprime Subsequences(容斥原理,莫比乌斯函数) 题意:有一个序列,求它的子序列中所有元素gcd位1的数量。 思路: 2. CF900D Unusual Sequences(莫比乌斯反演,组合计数) 题意:

liangsheng_meng的博客 323

F. Coprime Subsequences 莫比乌斯反演

http://codeforces.com/contest/803/problem/F 这题正面做了一发dp dp[j]表示产生gcd = j的时候的方案总数。 然后稳稳地超时。 考虑容斥。 总答案数是2^n - 1 那么需要减去gcd = 2的,减去gcd = 3的,减去gcd = 5的。加上gcd = 6的,那么gcd = 4的呢? 不用处理,因为这些在gcd = 2的时候减去...

weixin_30480651的博客 139

Educational Codeforces Round 20 F. Coprime Subsequences(莫比乌斯反演)

题目链接: 点击我打开题目链接 题意: 给你一个序列,问你有多少个子序列的gcd(子序列)=1gcd(子序列)=1。题解: 考虑一下容斥,枚举gcdgcd然后容斥,先加上所有子序列的总个数2n−12^n−1,然后减去gcd=2gcd=2的,然后减去gcd=3gcd=3的,然后减去gcd=5gcd=5的,然后加上gcd=6gcd=6的….为什么不减去gcd=4gcd=4呢? 因为这些的贡献统

LzyRapX 613

Codeforces803F Coprime Subsequences

容斥

ACoder 911

Codeforces 803F Coprime Subsequences (容斥)

Link: http://codeforces.com/contest/803/problem/F 题意:给n个数字,求有多少个GCD为1的子序列。 题解:容斥!比赛时能写出来真是炒鸡开森啊! num[i]: 有多少个数字是 i 的倍数。 所有元素都是1的倍数的序列有:$2^n-1$个。先把$2^n-1$设为答案 所有元素都是质数的倍数的序列有:$\sum 2^{num[p_1]} - ...

weixin_34310785的博客 188

CodeForces803F Coprime Subsequences

题意:给一个n个数的序列(n<1e5),问有几个子序列是gcd == 1的 题解:莫比乌斯或者容斥,直接考虑,f(1) = mu[1]*F(1)+mu[2]*F(2)+....F[n]是2^(因子为n的数的个数)-1 #include <bits/stdc++.h> #define maxn 100100 #define INF 0x3f3f3f3f typed...

weixin_30399821的博客 125

莫比乌斯+容斥 cf803F

F. Coprime Subsequences time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Let's call a non-empty sequence of positive i

nucshiyilang的博客 423
上一篇: C. Cloud Computing
下一篇: E. Sergey and Subway(思维)
PinappleMi
博客等级 码龄9年 10粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值