洛谷题单指南-组合数学与计数-P2567 [SCOI2010] 幸运数字

news/2025/11/24 17:58:00/文章来源:https://www.cnblogs.com/hackerchef/p/19247594

原题链接:https://www.luogu.com.cn/problem/P2567

题意解读:幸运数字由6和8组成,近似幸运数字是幸运数字的倍数,求[a,b]区间内近似幸运数字的个数。

解题思路:

通过暴搜可以枚举出所有的幸运数字。

不妨设幸运数字为x、y、z,显然,如果x、y、z中有互为倍数的,可以将其中的倍数去掉。

对于[a,b]中x的倍数,其个数为b/x-(a-1)/x,原理是:1~a-1中x的倍数个数为(a-1)/x,1~b中x的倍数个数为b/x,那么[a,b]中x的倍数个数为b/x-(a-1)/x。

我们可以得到[a,b]中x的倍数个数xcnt,y的倍数个数ycnt,z的倍数个数zcnt,xcnt+ycnt+zcnt里会出现重复计算,比如既是x又是y的倍数,

既是x又是y的倍数可以认为是lcm(x,y)的倍数,个数为xycnt=b/lcm(x,y)-(a-1)/lcm(x,y),

同理,

既是y又是z的倍数个数为yzcnt=b/lcm(y,z)-(a-1)/lcm(y,z),

既是x又是z的倍数个数为xzcnt=b/lcm(x,z)-(a-1)/lcm(x,z),

xcnt+ycnt+zcnt-xycnt-yzcnt-xzcnt中,对于同时是x、y、z的倍数的个数减多了,设xyzcnt=b/lcm(x,y,z)-(a-1)/lcm(x,y,z)

最后答案是xcnt+ycnt+zcnt-xycnt-yzcnt-xzcnt+xyzcnt。

原来这,是容斥原理。

推导到多个幸运数字的情况,可以用DFS来枚举所有的子集,再根据子集中个数奇偶来确定对答案的贡献是加还是减。

剪枝事项:

1、幸运数字从大到小排,倍数更快达到上限

2、倍数如果超过上限,不再继续DFS

3、幸运数字中有互为倍数的进行去重

注意事项:

计算LCM中可能会超过long long,需要用double

100分代码:

#include <bits/stdc++.h>
using namespace std;typedef long long LL;
vector<LL> lucky1, lucky2; //所有幸运数字
bool del[1000000];
LL a, b, ans;void init(LL x)
{if(x > b) return;lucky1.push_back(x);init(x * 10 + 6);init(x * 10 + 8);
}LL GCD(LL a, LL b)
{return b == 0 ? a : GCD(b, a % b);
}double LCM(LL a, LL b) //注意计算LCM时可能会溢出,用double存储
{return 1.0 * a / GCD(a, b) * b;
}void dfs(int idx, LL cnt, LL lcm)
{if(lcm > b) return;if(idx == lucky2.size()){if(cnt == 0) return; //空集不考虑if(cnt % 2 == 1) ans += b / lcm - (a - 1) / lcm;else ans -= b / lcm - (a - 1) / lcm;return;}dfs(idx + 1, cnt, lcm); //不选当前幸运数字if(LCM(lcm, lucky2[idx]) <= b)dfs(idx + 1, cnt + 1, LCM(lcm, lucky2[idx]));//选当前幸运数字
}int main()
{cin >> a >> b;//生成所有幸运数字init(6);init(8);//排序,去掉倍数sort(lucky1.begin(), lucky1.end());for(int i = 0; i < lucky1.size(); i++){if(del[i]) continue;lucky2.push_back(lucky1[i]);for(int j = i + 1; j < lucky1.size(); j++){if(lucky1[j] % lucky1[i] == 0) del[j] = true;}}//从大到小排序reverse(lucky2.begin(), lucky2.end());//DFS枚举所有幸运数字组合的子集,容斥计算答案dfs(0, 0, 1);cout << ans;return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/975120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学培课堂靠谱吗?从课程质量到口碑的深度分析

在选择学培课堂时,许多人会关注机构的课程专业性、师资水平及学员口碑等核心因素。尤其是在成人教育和职业教育领域,靠谱的平台不仅能提供系统的知识体系,还能结合地域特色与考试要求,助力学习者实现升学或职业目标…

Gemini 3.0 炸裂发布!前端又死了???

我觉得大家还是理性看待 “前端已死论” 吧,虽然 AI 是会对行业有冲击的,尤其是 “只会写代码” 的初级岗位,但技术变革同样也会创造新机会。大家好,我是程序员老鱼皮~ 来看看现在的 AI 有多离谱! 1)设计原型图:…

苏州交通便利公墓推荐:环境与服务兼备之选

在选择安息之所时,交通便利性是家属考虑的重要因素之一,苏州作为历史文化名城,拥有多家交通便捷且服务优质的公墓。这些公墓不仅地理位置优越,便于亲友祭扫,还在环境营造、服务理念等方面各具特色,为逝者提供安宁…

太仓价格合理的公墓排名及服务特色参考

在选择殡葬服务机构时,价格合理性与服务质量是许多家庭关注的重点。太仓地区公墓资源丰富,不同机构在服务内容、公益属性及环保理念上各有特色,了解相关排名及服务信息有助于更好地做出选择。一、推荐榜单推荐 1:苏…

2025年电线电缆厂家五星推荐:鑫佰亿线缆,电力电缆、高压电缆、中压电缆、低压电缆、全品类电缆守护用电安全

在 2025 年电力基建加速推进、新能源与工业用电需求持续升级的行业背景下,电线电缆作为能源传输的核心载体,其品质稳定性与场景适配性成为采购核心考量。成都鑫佰亿线缆有限公司(简称 “鑫佰亿线缆”)凭借对民用、…

昆山墓地环境好的有哪些?周边值得关注的墓园推荐

在选择安息之地时,环境往往是人们关注的核心因素之一。昆山及周边地区近年来涌现出不少环境优美、管理规范的墓园,它们不仅注重自然景观的营造,也在服务细节和人文关怀上不断提升,为有需求的家庭提供了多样化的选择…

五年一贯制专转本机构有哪些?2025年行业机构盘点

五年一贯制专转本是国家承认的学历提升途径,主要面向五年一贯制高职在校生及毕业生,通过系统学习实现专科到本科的学历提升。随着社会对高学历人才需求的增加,选择专业的培训机构成为许多人提升学历的重要方式。一、…

DRAM

DRAM,中文全称是“动态随机存取存储器”,我们通常把它简单叫做“内存”或“主存”。它就是电脑、手机等设备里,用来临时存放CPU正在使用或即将使用的数据和程序的地方。 您可以把它想象成您工作时使用的办公桌面。硬…

2025年ai优化公司权威推荐榜单:ai搜索优化/ai优化效果/geo优化推广源头公司精选

在当前人工智能技术重塑营销格局的背景下,深圳作为中国AI产业的重要创新中心,其AI优化服务市场呈现高速发展态势。据行业数据显示,2025年全球企业AI营销预算年增长率达45%,而AI搜索已占据43.7%的流量入口。深圳凭借…

Minimind-一个开源LLM项目的代码分析2:模型训练

这一章我们讲解模型训练涉及到的几个重要方法:pretrain,SFT,LoRA,DPO。项目作者提供了两种训练策略。如下图所示一种是完整的训练流程,先通过1.6G大小的数据集pretrain预训练一个基础模型,然后通过16.5G数据集SFT微…

修改文件名

修改文件名Sub 获取所有文件名__后期绑定() Dim fso As Object, folder As Object, file As Object Dim i As Integer, folderPath As String folderPath = "D:\日常审核\新规汇集\新建文件夹" 修改为你的文…

20251124

在java课的最后几分钟终于把老师让做的系统做完了,重写了三遍[泪]

信誉与实力兼备:五家口碑好的动物实验机构权威指南

近年来,随着我国生物医药产业的快速发展,动物实验服务的规范化水平显著提升。据官方最新抽检数据显示,2025年上半年北京市对37家动物实验生产单位的抽检合格率达到100%,江苏省2024年度对68份生产许可证的质量抽检同…

信誉好的动物实验公司选择指南:五家值得信赖的权威机构推荐

随着我国生物医药与生命科学领域的蓬勃发展,动物实验服务的规范化、专业化水平持续提升。据最新行业监管数据显示,2025年上半年北京市对37家动物实验生产单位的抽检合格率达到100%,江苏省2024年度对68份生产许可证的…

AtCoder Beginner Contest 433 部分题解

F GAtCoder Beginner Contest 433 部分题解 F - 1122 Subsequence 2 显然枚举一个中间点,设 \(i\) ,那求出前缀有多少个数是 \(a_i\),后缀有多少个数是 \(a_i+1\) ,现在要求这个式子: \[\sum_{x=1}\binom{a}{x-1}…

网络传输架构之gRPC讲解

目录1 gRPC架构1.1 简介1.2 gRPC通信流程1.3 实际操作1.3.1 pom.xml1.3.2 proto 文件讲解1.3.3 业务类1.3.4 客户端 @GrpcClient1.3.4.1 配置文件1.3.4.2 对应客服端实现1.3.5 测试1.3.5.1 用Bruno测试1.3.5.2 服务端调…

专业可靠的动物实验机构推荐:五家优质服务商全面解析

近年来,随着我国生物医药与生命科学领域的快速发展,动物实验服务的规范化、专业化水平显著提升。据最新行业数据显示,2025年上半年北京市对37家动物实验生产单位的抽检合格率达到100%,江苏省2024年度对68份生产许可…

work 6

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14585 学号:102500321 姓名:陈传星

2025年11月浙江翻译机构最新推荐:覆盖杭州、温州、绍兴、台州、衢州、丽水等多地场景适配方案

当前企业、机构及个人对翻译服务的需求愈发精细化,专业领域适配、交付时效保障、多语种覆盖等核心诉求不断升级,但市场上翻译机构资质良莠不齐,部分机构存在译员专业度不足、翻译误差率高、售后修正响应滞后等问题,…

安全合规的动物实验机构盘点:五家优质服务商助力医药研发

随着我国生物医药与生命科学领域的快速发展,动物实验服务的规范化、专业化水平持续提升。据最新行业数据显示,2025年上半年北京市对37家动物实验生产单位的抽检结果显示,所有受检品种在微生物、寄生虫等关键指标上均…