网上都说是数位dp 但是虽然在队伍里负责动态规划 但是数位dp还不会……

百度了一下 发现和最大子序列思路差不多……

最大子序列的dp[i][j]是表示两个序列前i项和前j项的最大子序列……

dp[i][j]表示前i位 尾数是j的魔法数的个数……

也不是特别不好理解……

但是还要好好理解一下……

 #include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std; int dp[][];
int a,b,m; long long func(int x){
int number[],len=;
long long sum=;
number[]=;
while(x){
number[++len]=x%;
x/=;
}
for(int i=;i<len;i++)
for(int j=;j<;j++)
sum+=dp[i][j];
for(int i=;i<number[len];i++)
sum+=dp[len][i];
for(int i=len-;i>;i--){
for(int j=;j<number[i];j++){
if(abs(j-number[i+])>=m) sum+=dp[i][j];
}
if(abs(number[i]-number[i+])<m) break;
}
return sum;
} int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d%d",&a,&b,&m);
for(int i=;i<;i++)
dp[][i]=;
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
if(abs(j-k)>=m)
dp[i][j]+=dp[i-][k];
printf("%lld\n",func(b+)-func(a));
memset(dp,,sizeof(dp));
}
return ;
}

FZU 1896 神奇的魔法数 dp的更多相关文章

  1. FZU 2129 子序列个数 (递推dp)

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=2129 dp[i]表示前i个数的子序列个数 当a[i]在i以前出现过,dp[i] = dp[i - 1]*2 - ...

  2. [bzoj1187][HNOI2007]神奇游乐园_插头dp

    bzoj-1187 HNOI-2007 神奇游乐园 题目大意:经历了一段艰辛的旅程后,主人公小P乘坐飞艇返回.在返回的途中,小P发现在漫无边际的沙漠中,有一块狭长的绿地特别显眼.往下仔细一看,才发现这 ...

  3. 百练2755:神奇的口袋(简单dp)

    描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an.John可以从这些物品中选择一些 ...

  4. FZU 2093 找兔子 状压DP

    题目链接:找兔子 n的范围是[1, 15],可以用0 到 (1<<n)-1 的数表示全部状态,用dp[i] = t表示到达状态i的最少时间是t,对于每个点,如果它能到达的所有点在t秒时都已 ...

  5. BZOJ1187 [HNOI2007]神奇游乐园(插头dp)

    麻麻我会写插头dp了! 推荐陈丹琦论文:https://wenku.baidu.com/view/3e90d32b453610661ed9f4bd.html 破题调一年 #include <cs ...

  6. [HNOI2007]神奇游乐园(插头DP)

    题意:n*m的矩阵内值有正有负,找一个四连通的简单环(长度>=4),使得环上值的和最大. 题解:看到2<=m<=6和简单环,很容易想到插头DP,设f[i][j][k]表示轮廓线为第i ...

  7. BZOJ 3790 神奇项链(manacher+DP+树状数组)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3790 [题目大意] 问最少用几个回文串可以构成给出串,重叠部分可以合并 [题解] 我们 ...

  8. [BZOJ1187]神奇游乐园(插头DP)

    Description 题意给定一个矩阵,每个格子有权值,在[-1000.1000]内,求一条回路使得回路经过权值和最大,每个格子最多经过一次 2≤n≤100,2≤m≤6 Code #include ...

  9. 洛谷P3190 [HNOI2007]神奇游乐园(插头dp)

    传送门 大概是算第一道自己做出来的插头dp? (虽然都是照着抄板子的) (虽然有个地方死活没调出来最后只能看题解才发现自己错在哪里的) 我就当你们都会插头dp了…… 因为必须得是一条路径,所以扫描线上 ...

随机推荐

  1. 系统不识别某些Android设备:adb devices不显示问题解决

    1.获取厂商android设备ID 电脑连接android设备,然后执行命令: system_profiler SPUSBDataType 2.将厂商ID添加到 adb_usb.ini 文件中 Mac ...

  2. flume 以 kafka 为channel 的配置

    #此配置以kafka的一个topic为channel,相比其他channel类型 file和cache 兼并了快和安全的要求!# Define a kafka channel a1.channels. ...

  3. cout 格式化的一些方法

    cout格式化的方式有很多,和C中的printf相比较,在实现方式上更加容易理解. 1.计数进制. 1.十六进制:hex 2.八进制:oct 3.十进制:dec(默认) 在控制进制的时候,可以使用两种 ...

  4. javascript深入理解js闭包(个人理解,大神勿喷)

    一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...

  5. 从补丁到POC CVE-2015-0003(2015.3)

    从补丁到POC CVE-2015-0003 1. 简介 该漏洞是由于Windows的win32k.sys模块存在对用户层参数验证不完全,导致存在空指针解引用(Null Pointer Derefere ...

  6. 我喜欢的两个js类实现方式

    闭包实现 变量是不会变的:) var myApplication = function(){ var name = 'Yuri'; var age = '34'; var status = 'sing ...

  7. 图片的 base64 编码

    图片的 base64 编码就是将一幅图片编码成一串字符串,使用该字符串代替图像地址.我们所看到的网页上的图片,都是需要消耗一个 http 请求下载而来的:(所有才有了 csssprites 技术< ...

  8. jdbc_servlet基础增删改分页2(userinfo表的)

    1.创建如下文件目录 2.导入MyBatis的jar文件 3.创建实体类 package com.entity; public class Userinfo { private Integer uid ...

  9. python的模块!

    以下是对模块的理解,和总结 <1>模块是什么 模块是这样用的 import os 这就是导入了os模块 这和c语言里的#include<stdio.h>导入方式是一样的 导入了 ...

  10. 用VB把xlsx转换为xls

    Sub Test()Dim wb As Workbook, mPath As String, f As StringApplication.DisplayAlerts = FalseApplicati ...