当前位置: 首页 > 编程日记 > 正文

bzoj 3598 [ Scoi 2014 ] 方伯伯的商场之旅 ——数位DP

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

数位DP...东看西看:http://www.cnblogs.com/Artanis/p/3751644.html

            https://www.cnblogs.com/MashiroSky/p/6399095.html

好巧妙的思路啊!这样统计的东西就变得很简单了;

好美的 dfs!数位DP用 dfs 好像能变得很清楚。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
ll l,r,f[65][6005],ans;
int n,a[65],K;
ll dfs1(int pos,int s,bool lim)
{if(pos==0)return s;if(!lim&&f[pos][s]!=-1)return f[pos][s];int end=K-1; ll ret=0;if(lim)end=a[pos];for(int i=0;i<=end;i++)ret+=dfs1(pos-1,s+i*(pos-1),lim&&(i==end));if(!lim)f[pos][s]=ret;//!lim!return ret;
}
ll dfs(int pos,int s,int m,bool lim)
{if(s<0)return 0;//!if(pos==0)return s;if(!lim&&f[pos][s]!=-1)return f[pos][s];int end=K-1; ll ret=0;if(lim)end=a[pos];for(int i=0;i<=end;i++){if(pos>=m)ret+=dfs(pos-1,s+i,m,lim&&(i==end));else ret+=dfs(pos-1,s-i,m,lim&&(i==end));}if(!lim)f[pos][s]=ret;return ret;
}
ll calc(ll x)
{int n=0;while(x)a[++n]=x%K,x/=K;memset(f,-1,sizeof f);ll ret=dfs1(n,0,1);for(int i=2;i<=n;i++){memset(f,-1,sizeof f);ret-=dfs(n,0,i,1);}    return ret;
}
int main()
{scanf("%lld%lld%d",&l,&r,&K);printf("%lld\n",calc(r)-calc(l-1));return 0;
}

转载于:https://www.cnblogs.com/Zinn/p/9351218.html

相关文章:

OSI模型第四层传输层--TCP协议

1.传输层2个协议tcp和udp 2.tcp的可靠性&#xff08;挂号信&#xff09;。 面向链接的:类似寄挂号信&#xff0c;对方收到了并且能够确认。所以也是可靠的传输。 最大报文传输&#xff1a;两端可以协商传输报文大小。&#xff08;协商一个报文的大小&#xff09; 传输确认机制&…

evt参数是干啥用的_http连接池中非常关键的两个参数,到底是干啥用的?

作者简介&#xff1a;大厂一线资深开发。从crud开发到资深开发&#xff0c;再到研究员兼技术经理。《资深开发讲技术》 从一线实战中总结有故事&#xff0c;有背景的案例&#xff0c;希望带给大家一系列技术盛宴。求关注&#xff0c;欢迎技术交流。友情提醒&#xff0c;往期的文…

java 匿名类调用方法_java – 从匿名类调用新定义的方法

好问题.答案是否你不能直接调用date.someMethod();我们先来了解这是什么.Date date new Date() { ... };以上是延续Date类的匿名(没有名称)子类.当你看到代码,Runnable r new Runnable() {public void run() {}};这意味着您已经定义了正在实现(不扩展)Runnable接口的匿名(没有…

传图识字有次数限制吗_5岁娃识字3000?别羡慕!过早逼娃认字,后果很严重

在开始科普前&#xff0c;先祝大家“新年快乐”&#xff01;2021年&#xff0c;科大大也会用更优质的育儿科普知识&#xff0c;回馈科粉们的支持和喜爱。话说回来&#xff0c;大家有什么新年flag呢&#xff1f;科大大发现&#xff0c;家长们比起给自己立flag&#xff0c;更愿意…

3des java 库_java 3DES 加密

public class DESCode {private String algorithm "DESede/CBC/PKCS7Padding";//加密方法&#xff0f;运算模式&#xff0f;填充模式private String charset "UTF-8";//编码private Cipher encCipher;//加密cipherprivate Cipher decCipher;//解密cipher…

[JSOI2008]魔兽地图

树上背包 题目传送门 首先&#xff0c;有没有哪位dalao 愿意告诉我为什么合成高级装备不需要附加金币&#xff0c;&#xff0c; 好吧&#xff0c;这个不重要 明确表示装备合成路线可以用一棵树来表示。一颗&#xff1f;傻乎乎的在下之前每次就只dp一棵树&#xff0c;不出意外的…

重大要素改变中的机会选择包括_财务人员专业胜任能力要素及框架

陈珏莹【本文导图】专业胜任能力要素框架的思维导图【概要】专业胜任能力要素构成了能力框架&#xff0c;因此&#xff0c;在构建各层次财务人才专业胜任能力框架之前要先界定能力要素。本文按照专业知识、职业技能和职业价值观三大部分简单介绍了各能力要素的概念。一个测评财…

tomcat部署 修改域名和访问域名时去掉项目名

修改域名和访问域名时去掉项目名 1、修改端口为80端口 因为80端口是为HTTP&#xff08;HyperText Transport Protocol)即超文本传输协议开放的&#xff0c;浏览网页服务默认的端口号都是80&#xff0c;因此只需输入网址&#xff08;或IP地址&#xff09;即可。 打开tomcat安装目…

插入始终是1_40分!1分钟4次!大JB太硬了!

不得不说&#xff0c;巴爵士对赛事的预测还是稳如死狗昨儿他在节目中表示&#xff1a;热火赢不了雄鹿不过&#xff0c;话说出来可能就后悔了&#xff0c;表示如果爪机对血布能占上风&#xff0c;雄鹿还是有点麻烦。真的&#xff0c;巴爵士不再是我们印象中的那个自信的巴毒奶老…

一维卷积filter_从零开始学Pytorch(七)之卷积神经网络

卷积神经网络基础我们介绍卷积神经网络的卷积层和池化层&#xff0c;并解释填充、步幅、输入通道和输出通道的含义。import torch from torch.autograd import Variable aVariable(torch.FloatTensor([[2.,4.]]),requires_gradTrue) btorch.zeros(1,2) b[0,0]a[0,0]**2a[0,1] b…

nodejs配置nginx 以后链接mongodb数据库

服务器 &#xff1a;windows server2008 R2 反向代理 &#xff1a;nginx 1.15.1 for window 64位 数据库&#xff1a;mongodb 4 64位 使用框架express 首先下载nodejs 在官网或者中文网下载都可以 https://nodejs.org/zh-cn/ 然后将写好的项目打包成zip 上传 一定要带上 pac…

android切图尺寸_安卓设计尺寸规范

画布尺寸&#xff1a;如果想一稿适配ios&#xff0c;那就新建7201280 分辨率72&#xff0c;像素/英寸。如果单独设计安卓MD新规范的&#xff0c;那就新建10801920 分辨率72&#xff0c;像素/英寸。单位和度量 Units and measurementsdpi 屏幕宽度(或高度)像素 / 屏幕宽度(或高…

Vue.js使用前

下载安装 node,npm,git 安装cnpm 淘宝cnpm镜像https://npm.taobao.org/&#xff0c;-g表示进行全局安装 npm install -g cnpm --registryhttps://registry.npm.taobao.org # 全局安装 vue-cli$ npm install --global vue-cli# 创建一个基于 webpack 模板的新项目$ vue init web…

无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别

一、append()和extend()方法都是用来添加数据到list末尾的&#xff0c;两者的区别&#xff1a;append()添加的时候会把添加的数据当成一个整体进行添加&#xff0c;允许添加任意类型的数据extend()添加的时候会把添加的数据迭代进行添加&#xff0c;只允许添加可迭代对象数据&a…

牛客网多校训练第一场 B - Symmetric Matrix(dp)

链接&#xff1a; https://www.nowcoder.com/acm/contest/139/B 题意&#xff1a; 求满足以下条件的n*n矩阵A的数量模m&#xff1a;A(i,j) ∈ {0,1,2}, 1≤i,j≤n.A(i,j) A(j,i), 1≤i,j≤n.A(i,1) A(i,2) ... A(i,n) 2, 1≤i≤n.A(1,1) A(2,2) ... A(n,n) 0.其中1≤n…

接口访问次数_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定

处理过线上问题的同学基本上都会遇到系统突然运行缓慢&#xff0c;CPU 100%&#xff0c;以及Full GC次数过多的问题。当然&#xff0c;这些问题的最终导致的直观现象就是系统运行缓慢&#xff0c;并且有大量的报警。本文主要针对系统运行缓慢这一问题&#xff0c;提供该问题的排…

python3-pwntools教程_python的pwntools工具的日常使用

1.安装操作系统&#xff1a;ubuntu16.04环境准备&#xff1a;pythonpiplibssl-devlibffi-devpwntools安装&#xff1a;sudo apt-get install libffi-devsudo apt-get install libssl-devsudo apt-get install pythonsudo apt-get install python-pipsudo pip install pwntoolsp…

Spring MVC 返回json数据 报406错误 问题解决方案

将jackson jar包改为jackson-databind-2.5.0.jar jackson-core-2.5.0.jar jackson-annotations-2.5.0.jar&#xff08;这个版本的jackson 测试返回json格式的数据百分百没问题&#xff0c;其他版本的不稳定&#xff0c;所以选用这个版本的Jackson&#xff09;ResponseBody 然…

c# 读hex_c#十六进制到位转换(c# hex to bit conversion)

c&#xff03;十六进制到位转换(c# hex to bit conversion)我试图将64位数字的十六进制表示(例如字符串"FFFFFFFFF" )转换为二进制表示( "11111..." )。我试过了string result Convert.ToString(Convert.ToUInt64(value, 16), 2);但是这会导致一个令人困惑…

pip install lxml失败原因

python3 是用 VC 14 编译的, python27 是 VC 9 编译的, 安装 python3 的包需要编译的也是要 VC 14 以上支持的. VC 14 &#xff08;2015&#xff09;下载地址&#xff1a; https://www.microsoft.com/zh-cn/download/confirmation.aspx?id48145&6B49FDFB-8E5B-4B07-BC31-1…

go语言服务器连接mysql_go语言原生连接数据库

go操作mysqldatabase/sql原生支持连接池&#xff0c;是并发安全的这个标准库没有具体实现&#xff0c;只是列出了一些需要第三方库实现的具体内容下载驱动go get -u github.com/go-sql-driver/mysql连接数据库package mainimport ("database/sql""fmt"_ &q…

2017《面向对象程序设计》寒假作业一

1、你有什么技能比大多人&#xff08;超过70%以上&#xff09;更好&#xff1f; 我看电影比一般人多一点点&#xff1b;我听英文歌比一般人多一点点&#xff1b;我有一把尤克里里和一个滑板。我有很多爱好&#xff0c;但都没能发展成我的特长&#xff0c;它们给我的生活增添了情…

gis中的加权求和工具在哪里_ArcGIS教程:加权总和的工作原理

使用加权总和工具可以对多个输入进行加权及组合&#xff0c;以创建整合式分析。它可以轻松地将多个栅格输入(代表多种因素)与组合权重或相对重要性相结合&#xff0c;在这一方面它与加权叠加工具很相似。这两种工具有两个主要区别&#xff1a;加权总和工具不能将重分类值重设为…

flask执行python程序_Flask app后如何执行代码(应用程序运行)开始

但我想使用一种方法&#xff0c;它还可以保存相机中的所有相框(我已经有功能了)。在问题是&#xff0c;一旦我启动了Flask应用程序&#xff0c;我最多只能存储在localhost中打开web页面时捕获的帧。我希望能够在应用程序运行时执行其他代码(保存图片)&#xff0c;以便保存所有图…

异常处理与MiniDump详解(3) SEH(Structured Exception Handling)

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 一、 综述 SEH--Structured Exception Handling&#xff0c;是Windows操作系统使用的异常处理方式。 对于SEH&#xff0c;有点需要说明的是&#xff0c;SEH是属于操作系统的特性&#xff0c;不为特定…

电热水器技术性能指标

1、即热式和贮水式的选择 有使用安全、卫生、不受水压限制&#xff0c;随时可供热水&#xff0c;水温易调节等优点&#xff0c;在发达的西方国家已广泛地使用&#xff0c;即热式热水器体积小&#xff0c;不须预热&#xff0c;但功率大&#xff0c;通常在4-6kw以上&#xff0…

java相关网络协议无响应_java网络协议有哪些

上网的途径有很多&#xff0c;java是最普遍的&#xff0c;那么卑java网络协议有哪些?了解网络安全常识&#xff0c;首先就要了解计算机网络安全有哪些基本注意事项&#xff0c;下面佰佰安全网小编就带您认识一下吧。概念协议是指计算机通信网络中两台计算机之间进行通信所必须…

es日期format_elasticsearch存储日期格式字段

elasticsearch创建index之后&#xff0c;可以设置mapping&#xff0c;如果mapping中没有设置date的format&#xff0c;那么默认为两种格式&#xff1a;date_optional_time 此格式为ISO8601标准 示例&#xff1a;2018-08-31T14:56:18.00008:00epoch_millis 也就是时间戳 示例151…

arraylist 后往前遍历_面试官:谈谈常用的Arraylist和Linkedlist的区别

Arraylist&#xff1a;底层是基于动态数组&#xff0c;根据下表随机访问数组元素的效率高&#xff0c;向数组尾部添加元素的效率高&#xff1b;但是&#xff0c;删除数组中的数据以及向数组中间添加数据效率低&#xff0c;因为需要移动数组。例如最坏的情况是删除第一个数组元素…

linux mipi驱动分析_寒武纪社招内推数字IC设计、DSI驱动、软件架构、产品经理、芯片架构、工具链开发、深度学习、FAE工程师...

点击上方蓝字关注我吧&#xff01;为什么内推更靠谱&#xff1f;内推是基于人脉关系链的推荐&#xff0c;其背后有一定的信用背书&#xff0c;靠谱的人推荐的人相对也会比较靠谱&#xff0c;所以企业一般职位都是从内部开始分享的&#xff0c;相较于自己海投简历&#xff0c;内…