1、HDU 2089  不要62    简单数位dp

2、总结:看了题解才敲出来的,还是好弱。。

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std; int dp[][]; //dp[i][j]表示以j为首位符合条件的i位数的个数 void init() //预处理
{
memset(dp,,sizeof(dp));
dp[][]=;
for(int i=;i<;i++){
for(int j=;j<;j++){ //枚举第i位
for(int l=;l<;l++){ //枚举第i-1位
if(j!=&&(!(j==&&l==))){
dp[i][j]+=dp[i-][l];
}
}
}
}
} int cal(int num)
{
int a[],k=,sum=;
while(num){
a[++k]=num%;
num/=;
} a[k+]=;
for(int i=k;i>;i--){
for(int j=;j<a[i];j++){
if(j!=&&!(a[i+]==&&j==)){
sum+=dp[i][j];
}
}
if(a[i]==||(a[i+]==&&a[i]==)){ //因为是从首位开始,如果前面已经不符合,后面就没必要进行了
break;
}
} return sum;
} int main()
{
init();
int n,m;
while(scanf("%d%d",&n,&m)!=EOF,n&&m)
{
printf("%d\n",cal(m+)-cal(n)); //cal函数没有考虑到num本身
} return ;
}

HDU 2089 简单数位dp的更多相关文章

  1. HDU5898、 HDU 2089(数位DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5898 题意:很明确,找出区间[l , r]中符合连续奇数为偶数,连续偶数为奇数的个数. 思路:dp[i ...

  2. 【数位dp】【HDU 3555】【HDU 2089】数位DP入门题

    [HDU  3555]原题直通车: 代码: // 31MS 900K 909 B G++ #include<iostream> #include<cstdio> #includ ...

  3. hdu 2089 入手数位dp问题

    数位dp解决的问题是指求在一段数的区间里面 满足条件的数的个数 核心为两点 http://wenku.baidu.com/link?url=tpfIYzhx_MzevpIM58UZ66pr-87MCF ...

  4. HDU(2089),数位DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2089 不要62 Time Limit: 1000/1000 MS (Java/Others ...

  5. Bomb HDU - 3555 (数位DP)

    Bomb HDU - 3555 (数位DP) The counter-terrorists found a time bomb in the dust. But this time the terro ...

  6. HDU(4734),数位DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4734 F(x) Time Limit: 1000/500 MS (Java/Others) ...

  7. HDU(3555),数位DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3555 Bomb Time Limit: 2000/1000 MS (Java/Others ...

  8. HDU 3555 Bomb 数位dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3555 Bomb Time Limit: 2000/1000 MS (Java/Others) Mem ...

  9. HDU 3853LOOPS(简单概率DP)

    HDU 3853    LOOPS 题目大意是说人现在在1,1,需要走到N,N,每次有p1的可能在元位置不变,p2的可能走到右边一格,有p3的可能走到下面一格,问从起点走到终点的期望值 这是弱菜做的第 ...

随机推荐

  1. 团队作业-第二周-SRS文档

    移动课堂点名的用例图:

  2. android 入门-布局

    android:gravity 针对本view 的位置. android:layout_gravity 本view相对于父布局view的位置. android:layout_alignParentRi ...

  3. linux驱动程序设计的硬件基础,王明学learn

    linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一 ...

  4. LeetCode——Same Tree(判断两棵树是否相同)

    问题: Given two binary trees, write a function to check if they are equal or not. Two binary trees are ...

  5. ObCallback回调钩子检测

    ObCallback回调钩子检测 2013-12-20 Nie.Meining Ring0 在 PatchGuard 的摧残下,通过 ObRegisterCallbacks 函数注册回调钩子已经成了 ...

  6. 封装用className选元素

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. hadoop中map和reduce的数量设置问题

    转载http://my.oschina.net/Chanthon/blog/150500 map和reduce是hadoop的核心功能,hadoop正是通过多个map和reduce的并行运行来实现任务 ...

  8. 【maven】 maven的setting.xml文件的详解

    1       Maven的安装 安装Maven之前要确保已经安装好了jdk,并且配置好了环境变量JAVA_HOME.具体安装步骤如下: 从apache网上下载maven项目的压缩包.下载地址为:ht ...

  9. 《DSP using MATLAB》示例Example5.5

    代码: %% ---------------------------------------------------------- %% START N=5 %% ------------------ ...

  10. 寒冰王座(DGA最长路/完全背包)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...