#搜索,容斥#洛谷 2567 [SCOI2010]幸运数字
题目
问区间\([l,r],l,r\leq 10^{10}\)中有多少个数是
数位由6或8组成的数的倍数(包括本身)
分析
数位由6或8组成的数最多有两千多种,
这可以直接一遍暴搜得到
对于区间\([1,n]\)答案应该是\(\frac{n}{i}-\frac{n}{i*j}+\frac{n}{i*j*k}\)
当选出的数的最小公倍数超过\(n\)可以剪枝,不会达到上界,
但是这样远远不够,考虑若\(i|j\)那么\(j\)显然可以直接舍弃,剩下的数可以降序排序后剪枝
然后对于超过\(n/2\)的数被选择只能选择自己(两数gcd至少为2),可以提前处理,这样就可以AC了
代码
#include <cstdio>
#include <algorithm>
#define rr register
using namespace std;
typedef long long lll; bool v[2111];
lll b[2111],l,r,ans,sum,now,m;
inline void Pro(lll now,lll n){
if (now>n) return;
b[++b[0]]=now;
Pro(now*10+6,n),
Pro(now*10+8,n);
}
inline lll gcd(lll x,lll y){return y?gcd(y,x%y):x;}
inline void dfs(int dep,lll lcm,int cnt){
if (dep>m) return;
dfs(dep+1,lcm,cnt);
rr lll t=lcm*b[dep]/gcd(lcm,b[dep]);
if (t>now) return;
if (cnt&1) ans-=now/t;
else ans+=now/t;
dfs(dep+1,t,cnt+1);
}
inline lll answ(lll n){
if (!n) return 0;
ans=0,now=n,dfs(1,1,0);
return ans;
}
signed main(){
scanf("%lld%lld",&l,&r),Pro(6,r),Pro(8,r);
sort(b+1,b+1+b[0]);
for (rr int i=1;i<=b[0];++i) if (!v[i])
for (rr int j=i+1;j<=b[0];++j) if (b[j]%b[i]==0) v[j]=1;
for (rr int i=1;i<=b[0];++i)
if (!v[i]){
if (b[i]>r/2) sum+=r/b[i]-(l-1)/b[i];
else b[++m]=b[i];
}
reverse(b+1,b+1+m);
return !printf("%lld",sum+answ(r)-answ(l-1));
}
#搜索,容斥#洛谷 2567 [SCOI2010]幸运数字的更多相关文章
- [洛谷P2567] SCOI2010 幸运数字
问题描述 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是&quo ...
- [洛谷P3292] [SCOI2016]幸运数字
洛谷题目链接:[SCOI2016]幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城 ...
- 洛谷P3292 [SCOI2016] 幸运数字 [线性基,倍增]
题目传送门 幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的 ...
- 洛谷P3292 [SCOI2016]幸运数字 线性基+倍增
P3292 [SCOI2016]幸运数字 传送门 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在 ...
- 洛谷P3292 [SCOI2016]幸运数字(倍增+线性基)
传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 第一眼:这不会是个倍增LCA暴力合并线性基吧…… 打了一发……A了? 所以这真的是个暴力倍增LCA合并线性基么…… ps:据某大佬说其实可以离线之后 ...
- [BZOJ1853][Scoi2010]幸运数字 容斥+搜索剪枝
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 3202 Solved: 1198[Submit][Status ...
- bzoj1853[Scoi2010]幸运数字 容斥
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 3027 Solved: 1128[Submit][Status ...
- BZOJ1853 Scoi2010 幸运数字 【枚举+容斥】
BZOJ1853 Scoi2010 幸运数字 Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号 ...
- 【BZOJ1853/2393】[Scoi2010]幸运数字/Cirno的完美算数教室 DFS+容斥
[BZOJ1853][Scoi2010]幸运数字 Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那 ...
- bzoj 1853: [Scoi2010]幸运数字 容斥
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 1170 Solved: 406[Submit][Status] ...
随机推荐
- Android加载PDF方案(pdf.js,支持缩放)
都知道,Android本身的webview是不支持pdf加载的(比不上iOS的webview,谁让人家NB呢),因此通过连接Google的一个服务器转换成功后返回给WebView显示.但是,但是,但是 ...
- curator-framework 使用采坑记之org.apache.zookeeper.ClientCnxn - Opening socket connection to server..........Will not attempt to authenticate using SASL (unknown error)报错解决
一.curator-framework 简介 curator-framework 是对zookeeper做的分二次分布式封装处理,目前代码也是apache 开源社区维护,如下所示. github地址 ...
- Linux操作系统不同文件类型区别?
蓝色代表目录,绿色代表可执行文件,红色代表压缩文件.浅蓝色表示连接文件.白色表示其他文件 相关目录及作用: Bin : 存放普通用户可执行的指令 Boot: 开机引导目录 Dev:设备目录 Etc: ...
- git svn 提交代码日志填写规范 BUG NEW DEL CHG TRP gitz 日志z
git svn 提交代码日志填写规范 BUG NEW DEL CHG TRP gitz 日志z
- printJS 打印 无头无尾 style 加 @page { margin: 0; } body { padding: 100px;}
// 使用npm模块 print-js printJS({ printable: this.printData, type: 'json', documentTitle: ' ', propertie ...
- 【图算法】构建消息传递网络教程 Creating Message Passing Networks by Pytorch-geometric
一.背景 将卷积运算推广到不规则域通常表示为邻局聚合(neighborhood aggregation)或消息传递(neighborhood aggregation)模式. \(\mathbf{x}^ ...
- TLSR8258方案开发之BLE协议接口代码解析
一 前言 这里的代码是在原厂基础上修改了不少.虽然代码复杂了不少,但是逻辑也清晰了不少. 二 广播协议 想要熟悉并修改ble的广播协议和内容,请查阅结构体: static const attribu ...
- Android Studio虚拟机文件默认C盘转移其他盘
原文地址:Android Studio虚拟机文件默认C盘转移其他盘 - Stars-One的杂货小窝 某天发现,新创建的Android13模拟器,把我C盘搞得只剩下9G了,于是折腾了下,把模拟器相关文 ...
- 静态类使用@Resource注解注入
工作中需要,简单记录一下 @Component public class AccountUtil { private static AccountIdDao accountIdDao; @Resour ...
- Android 开发Day7
<project version="4"> <component name="ExternalStorageConfigurationManager&q ...