BZOJ 1853 【Scoi2010】 幸运数字
Description
Input
Output
HINT
【数据范围】
对于$30\%$的数据,保证$1 \leqslant a \leqslant b \leqslant1000000$
对于$100\%$的数据,保证$1 \leqslant a \leqslant b \leqslant 10000000000$
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define File(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout)
#define maxn 10010 using namespace std;
typedef long long llg; int la,lb,ci;
llg now,ans,mi[15],l,r;
llg a[maxn],b[maxn]; void search(int d){
if(now>r) return;
llg xx=now;
now=xx+6*mi[d]; search(d+1);
now=xx+8*mi[d]; search(d+1);
if(xx) a[++la]=xx; now=xx;
} llg gcd(llg a,llg b){
llg r=a%b;
while(r) a=b,b=r,r=a%b;
return b;
} void dfs(int j){
if(j==lb+1){
if(!ci) return;
if(ci&1) ans+=r/now-(l-1)/now;
else ans-=r/now-(l-1)/now;
return;
}
dfs(j+1); llg xx=now; ci++;
now=xx/gcd(xx,b[j]);
if((double)now*b[j]<=r){
now*=b[j];
if(now<=r) dfs(j+1);
}
ci--; now=xx;
} int main(){
File("a");
mi[0]=1;
for(int i=1;i<=10;i++) mi[i]=mi[i-1]*10;
scanf("%lld %lld",&l,&r);
search(0); sort(a+1,a+la+1);
for(int i=1;i<=la;i++){
b[++lb]=a[i];
for(int j=1;j<lb;j++)
if(a[i]%b[j]==0){lb--; break;}
}
for(int i=1;i<=lb/2;i++) swap(b[i],b[lb-i+1]);
now=1; dfs(1);
printf("%lld",ans);
return 0;
}
BZOJ 1853 【Scoi2010】 幸运数字的更多相关文章
- BZOJ 1853: [Scoi2010]幸运数字
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2117 Solved: 779[Submit][Status] ...
- Bzoj 1853: [Scoi2010]幸运数字 容斥原理,深搜
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 1774 Solved: 644[Submit][Status] ...
- bzoj 1853: [Scoi2010]幸运数字 容斥
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 1170 Solved: 406[Submit][Status] ...
- BZOJ 1853: [Scoi2010]幸运数字(容斥原理)
http://www.lydsy.com/JudgeOnline/problem.php?id=1853 题意: 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运 ...
- bzoj 1853: [Scoi2010]幸运数字&&2393: Cirno的完美算数教室【容斥原理】
翻了一些blog,只有我用状压预处理嘛2333,.把二进制位的0当成6,1当成8就行啦.(2393是2和9 然后\( dfs \)容斥,加上一个数的\( lcm \),减去两个数的\( lcm \), ...
- ●BZOJ 1853 [Scoi2010]幸运数字
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1853 题解: 容斥原理,暴力搜索,剪枝(这剪枝剪得真玄学) 首先容易发现,幸运号码不超过 2 ...
- 【BZOJ 1853】 1853: [Scoi2010]幸运数字 (容斥原理)
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2472 Solved: 911 Description 在中国 ...
- 1853: [Scoi2010]幸运数字[容斥原理]
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2405 Solved: 887[Submit][Status] ...
- BZOJ2393 & 1853 [Scoi2010]幸运数字 【搜索 + 容斥】
题目 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是" ...
- AC日记——[SCOI2010]幸运数字 bzoj 1853
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2405 Solved: 887[Submit][Status] ...
随机推荐
- jQuery.my – 实时的复杂的双向数据绑定
jQuery.my 这个插件用于实时双向数据绑定.它发生变异给出的数据源对象,反映了用户与用户界面之间的相互作用.jQuery.my 提供了全面的验证,条件格式,复杂的依赖关系,运行形式结构操作. 马 ...
- 简单介绍JSON
如下图:
- iOS 应用的生命周期
为了研究应用的生命周期,在AppDelegate的方法里面加入打印当前的函数名的方法: 如下: 1.运行程序: 输出: 2.按一下home键 3.再点击应用 4.双击Home键,向上滑动应用,杀掉应用 ...
- NSCopy&NSMutableCopy
struct student { int a; float f; char c; long l; }; struct person { int a; float f; char c; long l; ...
- 使用Project进行项目管理 - 项目管理系列文章
前面当项目经理的时候曾经用到过Project来进行项目管理.这些天闲着无事,将代码翻出来留念了一下,现在将Project项目管理的东西也翻出来玩玩. 微软的Project是一款不错的软件,经过微软这么 ...
- JVM之ParNew收集器
新生代收集器,CMS默认搭配,Serial的多线程版本. -XX:UseParNewGC:指定使用ParNew收集器. -XX:ParalletGCThreads:指定限制垃圾收收集的线程数量. 默认 ...
- SQL Server中使用PIVOT行转列
使用PIVOT行转列 1.建表及插入数据 USE [AdventureDB] GO /****** Object: Table [dbo].[Score] Script Date: 11/25/201 ...
- 关于Spring中配置LocalSessionFactoryBean来生成SessionFactory
转载http://m.blog.csdn.net/blog/SpbDev/8545372 学习Spring的过程中,一直不理解为何配置的bean的class是LocalSessionFacto ...
- ubuntu下设置开机启动服务
原文:http://blog.csdn.net/dante_k7/article/details/7213151 在ubuntu10.04之前的版本都是使用chkconfig来进行管理,而在之后的版本 ...
- nodejs处理get请求
主要记录下获取get请求里面的参数的问题. 假设有这样一个链接 urlString='hello?name=LiLei&position=general' 要从这个链接里提取出参数name和p ...