BZOJ 1853 幸运数字
需要优化一波常数。
以及刚才那个版本是错的。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define maxn 10005
using namespace std;
int t1=,t2=;
long long ans=,cnt=,num[maxn],s[maxn],l,r;
bool vis[maxn];
void get_baka(int bit,long long nums)
{
if (nums>r) return;
if (nums) num[++t1]=nums;
get_baka(bit+,nums*+);
get_baka(bit+,nums*+);
}
long long gcd(long long a,long long b)
{
if (!b) return a;
return gcd(b,a%b);
}
void dfs(int now,long long nums,int val)
{
if (now>t2)
{
if (nums!=)
{
if (val&) ans+=r/nums-(l-)/nums;
else ans-=r/nums-(l-)/nums;
}
return;
}
dfs(now+,nums,val);
long long aft=nums/gcd(num[now],nums);
if ((double)num[now]*aft<=r) dfs(now+,num[now]*aft,val+);
}
int main()
{
scanf("%lld%lld",&l,&r);
get_baka(,);
sort(num+,num+t1+);
for (register int i=;i<=t1;i++)
{
if (vis[i]) continue;
s[++t2]=num[i];
for (register int j=i+;j<=t1;j++)
{
if (!(num[j]%num[i]))
vis[j]=true;
}
}
for (register int i=;i<=t2;i++) num[i]=s[t2-i+];
dfs(,,);
printf("%lld\n",ans);
return ;
}
BZOJ 1853 幸运数字的更多相关文章
- BZOJ 1853 幸运数字(容斥原理+dfs)
题意:求闭区间内能被6和8组成的数字整除的数目.n<=1e11. 我们可以预处理出这些6和8组成的数字,大概2500个,然后排除一些如88,66的情况.这样大概还剩下1000个. 转化为[0,r ...
- BZOJ 4568 幸运数字
题目传送门 4568: [Scoi2016]幸运数字 Time Limit: 60 Sec Memory Limit: 256 MB Description A 国共有 n 座城市,这些城市由 n-1 ...
- 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】 1853: [Scoi2010]幸运数字 (容斥原理)
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2472 Solved: 911 Description 在中国 ...
- AC日记——[SCOI2010]幸运数字 bzoj 1853
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2405 Solved: 887[Submit][Status] ...
- BZOJ 1853 【Scoi2010】 幸运数字
Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认 为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,8 ...
随机推荐
- spring3-hibernate3整合
Spring与Hibernate整合关键点: 1) Hibernate的SessionFactory对象交给Spring创建: 2) hibernate事务交给spring的声明式事务管理. SH整合 ...
- (15)odoo配置文件详解
openerp-server.conf ---------------- [options]; addons模块的查找路径addons_path = E:\GreenOdoo8.0\source\op ...
- hdu 3367(Pseudoforest ) (最大生成树)
Pseudoforest Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- Mybatis 实用
1.<delete id="removeZtreeS" parameterType="String"> DELETE FROM sys_fun WH ...
- MVC 与传统的 webform 的比较
代码架构方式 ASP 脚本语言和代码同置,每个请求页面对应一个物理文件 WebForm 代码后置 ,每个请求页面对应dll和一个.asp物理文件 MVC 代码分离,每个请求对应一个Action和一个V ...
- Checked 和 UnChecked 异常 的使用场合
异常的概念 任何的异常都是Throwable类(为何不是接口??),并且在它之下包含两个子类Error / Exception,而Error仅在当在Java虚拟机中发生动态连接失败或其它的定位失败的 ...
- oracle知识点
创建序列 create sequence a_seq --创建序列名字为 a_seqminvalue 1 -- 最小值为 1maxvalue 99999 --- 最大值为 99999 start wi ...
- ios基础篇(三)——UIButton的详细介绍
按钮UIButton是ios开发中最常见的控件之一,下面来介绍UIButton的详细内容: 一.UIButton的定义 UIButton *button=[[UIButton buttonWithTy ...
- linux命令备份
sort -t $'\t' gcc版本查看 gcc -v 红帽版本查看 cat /etc/redhat-release Linux Core Version cat /proc/version
- 什么是 Unix 以及它为什么这么重要?
大多数操作系统可以被划分到两个不同的家族.除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix. Linux,Mac OS X,Android,iOS,Chrome OS ...