●BZOJ 2393 Cirno的完美算数教室
题链:
http://www.lydsy.com/JudgeOnline/problem.php?id=2393
题解:
容斥原理,暴力搜索,剪枝
...和 [Scoi2010 幸运数字] 一样的(只是那个题是 6,8,这个题是2,9)
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define filein(x) freopen(#x".in","r",stdin);
#define fileout(x) freopen(#x".out","w",stdout);
using namespace std;
bool mark[3000];
ll luck[3000],l,r,ans;
int cnt; bool fg;
ll gcd(ll a,ll b){while(b^=a^=b^=a%=b);return a;
}
void dfs(int p,int num,ll val,const ll &lim){if(!p) return;ll LCM=val/gcd(val,luck[p])*luck[p];if(0<LCM&&LCM<=lim) ans+=1ll*lim/LCM*((num+1)%2?1:-1),dfs(p-1,num+1,LCM,lim);dfs(p-1,num,val,lim);
}
ll solve(ll lim){ans=0;dfs(cnt,0,1,lim);return ans;
}
void pre(int dep,ll val){if(val) luck[++cnt]=val;if(!dep) return;pre(dep-1,val*10+2);pre(dep-1,val*10+9);
}
int main()
{pre(10,0); int ccnt=0;sort(luck+1,luck+cnt+1);for(int i=1;i<=cnt;i++)for(int j=1;j<i;j++) if(luck[i]%luck[j]==0) mark[i]=1;for(int i=1;i<=cnt;i++) if(!mark[i]) luck[++ccnt]=luck[i]; cnt=ccnt;scanf("%lld%lld",&l,&r); printf("%lld",solve(r)-solve(l-1));return 0;
}
转载于:https://www.cnblogs.com/zj75211/p/8029362.html
●BZOJ 2393 Cirno的完美算数教室相关推荐
- 【BZOJ-18532393】幸运数字Cirno的完美算数教室 容斥原理 + 爆搜 + 剪枝
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MB Submit: 1817 Solved: 665 [Submit][Statu ...
- bzoj2393 Cirno的完美算数教室
2393: Cirno的完美算数教室 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 322 Solved: 194 [ Submit][ St ...
- 【BZOJ2393】Cirno的完美算数教室
~Cirno发现了一种baka数,这种数呢~只含有2和⑨两种数字~~ 现在Cirno想知道~一个区间中~~有多少个数能被baka数整除~ 但是Cirno这么天才的妖精才不屑去数啦 只能依靠聪明的你咯 ...
- BIT琪露诺的完美算法教室 3.初上征途的za
题目背景 励志成为全宇宙第一的口袋妖怪大师(咦?)的za终于要踏上了他的旅程.za匆匆忙忙地从大木博士那里拿了几个精灵球,从关都地区的真新镇出发了.没走几步,za来到了神奇的皮卡丘森林,眼前躺满了琳琅 ...
- [颓废史]蒟蒻的刷题记录
QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...
- 一句话题解(20170801~20170125)
8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...
- 数位dp 的简单入门
时间紧张,就不讲那么详细了. 之前一直被深搜代码误解,以为数位dp 其实就是记忆化深搜...(虽说爆搜确实很舒服而且还好想) 但是后来发现数位dp 的标准格式其实是 预处理 + dp ...... 数 ...
- mysql select 40001_【转】关于 SELECT /*!40001 SQL_NO_CACHE */ * FROM 的解惑
EF Code First Migrations数据库迁移 1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序 ...
- 洛谷P3414 SAC#1 - 组合数
P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣 ...
- 【CTF题解NO.00003】moeCTF 2020 - official write up by arttnba3
github pages blog addr 文章目录 [github pages blog addr](https://archive.next.arttnba3.cn/2020/09/07/%E3 ...
最新文章
- es 插入数据_记录一次Java导入百万级数据到Elasticsearch经历
- SUSE12系统安装及LVM设置详解
- 潜在语义分析原理以及python实现代码!!!!
- IOT(32)---各大物联网平台对比
- linux socket closeconnection,求助:socket的Connection refused
- centos6.5下iscsi多路径配置
- aac蓝牙编解码协议_蓝牙协议总结
- linux多线程编程书籍推荐:linux大牛之路从这几本书开始
- Spark SQL 之开窗函数
- 使SplitContainer中某个Panel宽度、高度不变
- Pandas 安装一半无法安装解决方法
- 数学经典思想:数学归纳法 理解+实战
- 《熊出没·原始时代》首映 导演点赞宋祖儿配音
- 练习愤怒的小鸟(抽象类、多态、重写)
- Mac 安装 TeamViewer 打开应用闪退
- 系统服务器与手机关系,手机与云服务器交互
- c++ opengl 三维图形中显示文字_为什么使用GPU渲染图形图像,而不使用CPU呢?
- 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度。 程序的输入是一个整数,表示华氏温度。输出对
- html自动请求favicon,浏览器默认请求的favicon.ico文件,可能带来的问题
- 油藏生产业务+机器学习代理优化算法