loj2044 「CQOI2016」手机号码
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long ll;
int a[15];
ll u, v, dp[11][11][11][2][2][2][2];
//[算当前剩几位][当前最大可用][上一位是啥][是否slj][上一位是否=上上一位][有无4][有无8]
ll f(int now, int lim, int lst, bool slj, bool ise, bool is4, bool is8){
ll &re=dp[now][lim][lst][slj][ise][is4][is8];
if(re>=0) return re;
re = 0;
if(now==1)
for(int i=0; i<=min(9, lim); i++){
if((is4 && i==8) || (is8 && i==4)) continue;
re += slj || (ise && i==lst);
}
else
for(int i=0; i<=min(9, lim); i++){
if((is4 && i==8) || (is8 && i==4)) continue;
re += f(now-1, (i<lim||lim==10)?10:a[now-1], i, slj||(ise&&i==lst), i==lst, is4||i==4, is8||i==8);
}
return re;
}
ll calc(ll x){
if(x<1e10) return 0;
memset(dp, -1, sizeof(dp));
ll re=0;
for(int i=1; i<=11; i++){
a[i] = x % 10;
x /= 10;
}
for(int i=1; i<=a[11]; i++)
re += f(10, i==a[11]?a[10]:10, i, 0, 0, i==4, i==8);
return re;
}
int main(){
cin>>u>>v;
cout<<calc(v)-calc(u-1)<<endl;
return 0;
}
loj2044 「CQOI2016」手机号码的更多相关文章
- loj #2044. 「CQOI2016」手机号码
#2044. 「CQOI2016」手机号码 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- LibreOJ2044 - 「CQOI2016」手机号码
Portal Description 给出两个十一位数\(L,R\),求\([L,R]\)内所有满足以下两个条件的数的个数. 出现至少\(3\)个相邻的相同数字: 不能同时出现\(4\)和\(8\). ...
- LoibreOJ 2042. 「CQOI2016」不同的最小割 最小割树 Gomory-Hu tree
2042. 「CQOI2016」不同的最小割 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- LibreOJ2043 - 「CQOI2016」K 远点对
Portal Description 给出平面上的\(n(n\leq10^5)\)个整点,求在欧几里得距离下第\(k\)远的点对之间的距离. Solution k-d树+堆. 用小根堆维护当前找到的第 ...
- LibreOJ2045 - 「CQOI2016」密钥破解
Portal Description 给出三个正整数\(e,N,c(\leq2^{62})\).已知\(N\)能表示成\(p\cdot q\)的形式,其中\(p,q\)为质数.计算\(r=(p-1)( ...
- LibreOJ2042 - 「CQOI2016」不同的最小割
Portal Description 给出一个给出一个\(n(n\leq850)\)个点\(m(m\leq8500)\)条边的无向图.定义\(cut(s,t)\)等于\(s,t\)的最小割的容量,求在 ...
- 「CQOI2016」不同的最小割
「CQOI2016」不同的最小割 传送门 建出最小割树,把每一个点对的最小割抠出来 \(\text{unique}\) 一下就好了. 参考代码: #include <algorithm> ...
- 「CQOI2016」K 远点对
/* 考虑暴力 可以n ^ 2枚举点对 然后用一个容量为2k的小根堆来维护第k大 kd-tree呢就是来将这个暴力优化, 每次先找远的并且最远距离不如堆顶的话就不继续找下去 貌似挺难构造数据卡的 */ ...
- 【LOJ】#2047. 「CQOI2016」伪光滑数
题解 可持久化可并堆 用\(f[i,j]\)表示最大的质数标号为i,然后有j个质数乘起来 用\(g[i,j]\)表示\(\sum_{k = 1}^{i}f[k,j]\) 转移是 \(f[i,j] = ...
随机推荐
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)用法
如果已经启动了四个Activity:A,B,C和D.在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的inten ...
- [Git] Create a new repository on the command line
echo "# xxx" >> README.md git init git add README.md git commit -m "first commi ...
- An incomplete guide to LaTex
LATEX入门与提高.陈志杰数理学院喜闻乐见的电子书.这本电子书由于是图片版本,所以无法使用搜索功能,幸亏目录详细. LaTeX Beginner's Guide.latex使用者都是从模版开始学习, ...
- IOS 线程描述
●什么是线程 ● 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) ● 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 ● 比如使用酷狗播放音乐.使用迅雷下载电影, ...
- URL Schemes 不能识别和不能跳转的原因
在app跳转的过程中 需要设置url schemes后,但是设置完后,却不能识别, (测试方式:URL scheme + ://)在浏览器中打开,如果能打开app,就是能跳转 今天遇到了一个坑爹的问题 ...
- CSS3 - - Media(css3媒介查询) 属性
语法结构及用法: @media 设备名 only (选取条件) not (选取条件) and(设备选取条件),设备二{sRules} 实际应用一 判断设备横竖屏: /* 这是匹配横屏的状态,横屏时的 ...
- OO第13-14次作业总结
目录 面向对象第13-14次作业总结博客 1.设计分析 2.架构总结.测试 3.课程收获和建议 面向对象第13-14次作业总结博客 1.设计分析 这个单元是我做的最差的一个单元.总工程量超过2000行 ...
- CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第六节
原文链接 第六节:全局内存和CUDA RPOFILER Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在 ...
- UNC路径格式
\\192.168.3.66\c$ 访问本地网内计算机
- MintLinux
最近将我的mintlinux进行了一系列外观优化,总算好看了一点