当前位置: 首页 > news >正文

bzoj 4521 [Cqoi2016]手机号码——数位dp

题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4521

dfs真好用~

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const int N=15;
int dg[N];
ll l,r,dp[N][5][N][2][2][2];
ll dfs(int p,int len,int lst,bool p0,bool p1,bool ok,bool fx)
{
    if(!p){return ok&(!(p0&p1));}
    if(!fx&&dp[p][len][lst][p0][p1][ok]!=-1)return dp[p][len][lst][p0][p1][ok];
    int st=0;if(p==11)st=1;
    int end=9;if(fx)end=dg[p];
    ll ret=0;
    for(int i=st;i<=end;i++)
    {
        int lenn=1;if(i==lst)lenn=len+1;
        if(lenn>3)lenn=3;
        ret+=dfs(p-1,lenn,i,p0|(i==4),p1|(i==8),ok|(lenn==3),fx&(i==dg[p]));
    }
    if(!fx)dp[p][len][lst][p0][p1][ok]=ret;
    return ret;
}
ll calc(ll x)
{
    if(x<1e10)return 0;
    for(int i=1;i<=11;i++)dg[i]=x%10,x/=10;
    memset(dp,-1,sizeof dp);
    return dfs(11,0,0,0,0,0,1);
}
int main()
{
    scanf("%lld%lld",&l,&r);
    printf("%lld\n",calc(r)-calc(l-1));
    return 0;
}

 

转载于:https://www.cnblogs.com/Narh/p/9401561.html

相关文章:

  • 性能测试中TPS上不去的几种原因浅析
  • jmeter的脚本增强之参数化
  • 关于有时候导入maven项目时候报错(有红色叹号,类中导入的包提示the import java.util cannot be resolve,)...
  • 性能优化中CPU、内存、磁盘IO、网络性能的依赖
  • leetcode485 python3 88ms 最大连续1的个数
  • logstash常用插件解析
  • Websocket(1)pom引入、嵌入spring
  • Docker 操作记录
  • CentOS7安装GO
  • dll和lib的关系(转)
  • Quest 公司的Shareplex 与 GoldenGate比较
  • WPF程序 双击exe自动申请“以管理员方式运行”权限
  • 块设备
  • CCPC-Wannafly Camp #4(部分解题报告)
  • HDU 6370(并查集)
  • Angular2开发踩坑系列-生产环境编译
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • nodejs调试方法
  • Vue.js 移动端适配之 vw 解决方案
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 规范化安全开发 KOA 手脚架
  • 类orAPI - 收藏集 - 掘金
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 译有关态射的一切
  • 用 Swift 编写面向协议的视图
  • 06-01 点餐小程序前台界面搭建
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​水经微图Web1.5.0版即将上线
  • #DBA杂记1
  • #pragma data_seg 共享数据区(转)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (day 12)JavaScript学习笔记(数组3)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (理论篇)httpmoudle和httphandler一览
  • (力扣)循环队列的实现与详解(C语言)
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十六)Flask之蓝图
  • (数据结构)顺序表的定义
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • .apk文件,IIS不支持下载解决
  • .md即markdown文件的基本常用编写语法
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 指南:抽象化实现的基类
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NetCore部署微服务(二)
  • .NET和.COM和.CN域名区别
  • ??在JSP中,java和JavaScript如何交互?