博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4734 F(x) DP, 数位DP
阅读量:6914 次
发布时间:2019-06-27

本文共 1034 字,大约阅读时间需要 3 分钟。

  题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4734

  题目描述: 给出两个数A, B, 求出小于B且F(i)小于F(A)的所有i的个数

  解题思路: 典型的数位DP, dfs(int len, int cur, int limit) 表示处理到第len位, F(A)还剩cur, 是否限制的答案

  代码: 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1typedef long long LL;using namespace std;//const int maxn = 70000+10;int digit[20];int dp[20][200000]; // digit处理到第i位a还剩n的解决方案int dfs(int len, int cur, int limit) { if( len == -1 ) return cur >= 0; // 所有都判定完了, 如果cur还>=0就证明还有一种方案 if( cur < 0 ) return 0; if( !limit && dp[len][cur] != -1 ) return dp[len][cur]; int ret = 0; int templimit = limit ? digit[len] : 9; for( int i = 0; i <= templimit; i++ ) {; ret += dfs( len-1, cur-i*(1<
View Code

  思考: 倒是没有多大问题, 就是老TLE, 后来把数组改成dp[20][20000]就过了, 不知道为什么, 很迷, 照理来说y应该开到两千就过了的啊

 

转载于:https://www.cnblogs.com/FriskyPuppy/p/7325761.html

你可能感兴趣的文章
WIFI性价比持续走高 或成物联网首选
查看>>
Linux后门入侵检测工具,附bash漏洞解决方法
查看>>
微软的这项新技术证明 深度学习还能更“深入”
查看>>
LoadRunner测试ajaxweb程序攻略
查看>>
咋办?运营商认为虚拟化难快速降低OPEX
查看>>
卧底软件:帮助公司找出“内奸”
查看>>
Loadrunner日志设置与查看
查看>>
美国两大有线电视运营商达成无线服务合作 Verizon的大麻烦来了?
查看>>
Qt之QNetworkInterface
查看>>
Sentry 8.17.0 发布,Python 实时日志平台
查看>>
深圳卓炎科技的企业网站建设实战经验分享
查看>>
通过阿里云ECS从零开始构建网站
查看>>
《开源思索集》一开放源码是开源软件吗? - 简书
查看>>
Ubuntu Touch将支持用户数据加密:目前暂无时间表
查看>>
《金蝶ERP—K/3标准财务模拟实训(11.X版)》——导读
查看>>
开发者必备:基于 Linux 生态的十大AI开源框架盘
查看>>
《基于ArcGIS的Python编程秘笈(第2版)》——2.10 更新图层的符号系统
查看>>
SAP的ABAP屏幕程序如何使用Table Control进行数据交互
查看>>
Visual Studio 将集成 Cordova 支持跨平台开发
查看>>
这些方法助你优化 Android 启动速度
查看>>