【bzoj1853】: [Scoi2010]幸运数字 数论-容斥原理
预处理出所有幸运数字然后容斥原理
但是幸运数字是2logn个数的 直接搞会炸
所以把成倍数的处理掉
然后发现还是会T 所以数字要从大到小处理会快很多 我也不知道为什么
还有就是剪枝的时候要开double 不然爆longlong
/* http://www.cnblogs.com/karl07/ */
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <map>
#include <algorithm>
using namespace std;
#define ll long long const ll N=;
ll num[];
ll a,b,cnt,ans,cc; ll gcd(ll a,ll b){ return b== ? a : gcd(b,a%b);}
ll lcm(ll a,ll b){ return a/gcd(a,b)*b;} void dfs(ll x,ll n){
if (x>n) return;
num[++cnt]=x;
dfs(x*+,n);
dfs(x*+,n);
} void rc(ll c,ll x,ll n,ll nw){
if (x==){
if (c==) return;
if (c&) ans+=n/nw; else ans-=n/nw;
return;
}
if ((double)nw/gcd(num[x],nw)*num[x] <= n) rc(c+,x-,n,lcm(nw,num[x]));
rc(c,x-,n,nw);
} ll work(ll n){
if (n<) return ;
cnt=;ans=;
dfs(,n);dfs(,n);cc=cnt;
num[]=;
sort(num+,num+cnt+);
for (int i=;i<=cnt;i++){
for (int j=i+;j<=cnt && num[i]!=N;j++){
if (num[j]%num[i]==) num[j]=N,cc--;
}
}
sort(num+,num+cnt+);
rc(,cc-,n,num[cc]);
rc(,cc-,n,);
return ans;
} int main(){
scanf("%lld%lld",&a,&b);
printf("%lld\n",work(b)-work(a-));
return ;
}
【bzoj1853】: [Scoi2010]幸运数字 数论-容斥原理的更多相关文章
- bzoj1853: [Scoi2010]幸运数字 dp+容斥原理
在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是“幸运号码”!但是这种“幸运号码”总是 ...
- BZOJ1853 Scoi2010 幸运数字 【枚举+容斥】
BZOJ1853 Scoi2010 幸运数字 Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号 ...
- bzoj1853[Scoi2010]幸运数字 容斥
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 3027 Solved: 1128[Submit][Status ...
- 【BZOJ 1853】 1853: [Scoi2010]幸运数字 (容斥原理)
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2472 Solved: 911 Description 在中国 ...
- [BZOJ1853][Scoi2010]幸运数字 容斥+搜索剪枝
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 3202 Solved: 1198[Submit][Status ...
- BZOJ1853 [Scoi2010]幸运数字 容斥原理
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1853 题意概括 求一个区间范围内,近似幸运数字的个数. 定义: 幸运数字:仅由6或者8组成的数字. ...
- BZOJ1853 [Scoi2010]幸运数字
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- BZOJ 1853: [Scoi2010]幸运数字(容斥原理)
http://www.lydsy.com/JudgeOnline/problem.php?id=1853 题意: 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运 ...
- 2019.01.17 bzoj1853: [Scoi2010]幸运数字(容斥+dfs)
传送门 搜索菜题,然而第一次没有注意然后爆longlonglong longlonglong了. 题意:称所有数位由6,86,86,8组成的数为幸运数字,问一个一个区间[l,r][l,r][l,r]中 ...
随机推荐
- Day3-Python基础3--默认参数和参数组
一.默认参数 先看下下面的代码: def stu_register(name,age,country,course): print("----注册学生信息------") prin ...
- Celery-4.1 用户指南: Monitoring and Management Guide (监测和管理指南)
简介 Celery 提供了监控和探查celery集群的工具. 这篇文档描述了一些工具,以及与监控相关的一些特性,例如事件和广播命令. 工作单元 命令行管理工具(inspect/control) Cel ...
- PDM/CDM中进行搜索
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl '当前model '获取当前活 ...
- 配置php的curl模块问题
问题 checking for cURL in default path... not foundconfigure: error: Please reinstall the libcurl dist ...
- @Value在Controller中取值
一.使用 @Value("${name}")注解可以获取自定义的properties文件中的name值 二.配置 如果只是在applicationcontext.xml中配置,那么 ...
- Tornado模板配置
#!/usr/bin/env python # -*- coding:utf-8 -*- #tornado模板配置 import tornado.ioloop import tornado.web c ...
- queue队列模块
import Queue myqueue = Queue.Queue(maxsize = 10) Queue.Queue类即是一个队列的同步实现.队列长度可为无限或者有限.可通过Queue的构造函数的 ...
- AndroidImageSlider(图片轮播控件)
1,引入 dependencies { compile "com.android.support:support-v4:+" compile 'com.squareup.picas ...
- 【总结整理】高德LBS开放平台学习
高德LBS开放平台地址 http://lbs.amap.com/api/javascript-api/guide/create-map/mapstye 概述->示例中心Demo体验-> ...
- webService(简单小demo)
1.什么是webService? 1.1.先说好处: WebService是两个系统的远程调用,使两个系统进行数据交互,如应用: 天气预报服务.银行ATM取款.使用邮箱账号登录各网站等. WebSer ...