HDU 3555 - Bomb

第一道数位dp,属于基础模板,又自卑小时没学好数数了,只是不清楚为什么大家的dp定义都是相同的,很显然么,难道我写的是怪胎。。。

/*
ID:esxgx1
LANG:C++
PROG:hdu3555
*/
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;#define LN    21
unsigned long long dp[LN + 1][3];void work(int ln)
{dp[0][0] = 1;for(int i=1; i<=ln; ++i) {dp[i][0] = dp[i-1][0] * 9 + dp[i-1][1] * 8;    // 无49,开头无9dp[i][1] = dp[i-1][0] + dp[i-1][1];            // 无49, 开头是9dp[i][2] = dp[i-1][2] * 10 + dp[i-1][1];    // 有49
//        printf("i=%d, %I64u %I64u %I64u\n", i, dp[i][0], dp[i][1], dp[i][2]);
    }
}unsigned long long solve(int i, unsigned long long N, int &extra)
{unsigned long long prefix = N/10;int curr = N % 10;int extra0 = extra;unsigned long long rslt = N % 10 * dp[i-1][2];if (curr >= 9 && prefix % 10 == 4) extra = 1;if (prefix) rslt += solve(i+1, prefix, extra0);if (extra0) {rslt += curr * (dp[i-1][0] + dp[i-1][1]);extra = 1;} else if (curr > 4) rslt += dp[i-1][1];return rslt;
}int main(void)
{#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endifint T;cin >> T;if (T) {work(LN);do {unsigned long long N;cin >> N;int extra = 0;cout << solve(1, N, extra) + (extra ? 1 : 0)<< endl;--T;}while(T);}return 0;
}

 

2014-07-31 20:55:00Accepted3555156MS348K1257 BG++

转载于:https://www.cnblogs.com/e0e1e/p/hdu_3555.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器angent分析工具

cz.mallat.uasparser.UserAgentInfo info null; info uasParser.parse(userAgent);转载于:https://www.cnblogs.com/yaohaitao/p/6048011.html

python2协程_python中的协程(二)

协程1、协程&#xff1a;单线程实现并发在应用程序里控制多个任务的切换保存状态优点&#xff1a;应用程序级别速度要远远高于操作系统的切换缺点&#xff1a;多个任务一旦有一个阻塞没有切&#xff0c;整个线程都阻塞在原地&#xff0c;该线程内的其他的任务都不能执行了一旦引…

python相减函数subs,SUBS(subs是什么函数)

matlab中subs()是符号计算函数&#xff0c;详细用法可以在Matlab的Command Windows输入&#xff1a;help subs。subs()函数表示将符号表达式中的某些符号变量替换为指定的新的变.f1subs(f,t,t3); f2subs(f1,t,2*t); f3subs(f2,t,-t); subplot(2,2,1);ezplot(f,[-8,8]);。subs是…

hdu--1075--字典树||map

做这题的时候 我完全没想到 字典树 就直接用map来做了 - 我是有 多不 敏感啊~~ 然后去 discuss 一看 很多都是说 字典树的问题.... 字典树 给我感觉 它的各个操作的意思都很清晰明了 直接手写 不那么容易啊。。 晚些 时候 试下来写------用map写是真心方便 只要注意下那么\n的吸…

归档七

课后作业1 运行 TestInherits.java &#xff0c;观察输出&#xff0c;总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码&#xff0c;调用GrandParent的另一个构造函数。 class Grandparent { public Grandparent() { System.out.println("GrandParent Creat…

php的类装载的步骤,设计PHP自动类装载功能

在使用面向对象方法做PHP开发时&#xff0c;可能会经常使用到各个路径中的类文件&#xff0c;这就需要大量的 include 或 require&#xff0c;而 PHP 提供了一个比较快捷的方式&#xff0c;就是利用函数 __autoload 可以编程实现动态的类装载功能&#xff0c;这样就不需要手动的…

python 重定向 ctf_3.CTF——python利用工具

web AWD 攻与防CTF线下赛主要考察代码审计能力及运维能力&#xff0c;代码审计发现漏洞&#xff0c;python写利用漏洞&#xff0c;运维发现可疑攻击目标&#xff0c;异常流量&#xff0c;异常权限&#xff0c;重要业务备份与还原。用运维的知识加固系统与业务。当被人攻击以后&…

网站首页幻灯片

Js页面: View Code /** * 大眼睛广告轮播 */ var indexEye {autoTime: 0,init: function () {var eyeObj $("#dyj_pics a:eq(0) img:eq(0)");eyeObj.attr("src", eyeObj.attr("data-imgSrc"));eyeObj.load(function () {indexEye.autoTime se…

【java】错误 找不到或无法加载主类

很诡异&#xff0c;class文件夹下的class文件没有了&#xff0c;删除文件夹 &#xff0c;重新编译下。。。转载于:https://www.cnblogs.com/merlini/p/3892719.html

Qt之QAbstractItemView视图项拖拽(二)

一、需求说明 上一篇文章Qt之QAbstractItemView视图项拖拽(一)讲述了实现QAbstractItemView视图项拖拽的一种方式&#xff0c;是基于QDrag实现的&#xff0c;这个类是qt自己封装好了的&#xff0c;所以可定制性也就没有了那么强&#xff0c;最明显的是&#xff0c;这个类在执…

电脑控制苹果手机_必备神器,电脑控制手机

序一款电脑端的神器&#xff0c;它可以任意的操纵你的手机。****QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备&#xff0c;并进行显示和控制。不需要root权限。单个应用程序最多支持16个安卓设备同时连接。同时支持GNU/Linux&#xff0c;Windows和MacOS三大主流桌面平台。…

php未定义要怎样做,php-Behat-未定义的功能步骤

我设置了一个简单的测试场景来学习behat,但是我遇到了一些问题.我正在关注THIS教程.这是我的专题节目&#xff1a;Feature: showThis is a behat feature to test the article pages.##TODOScenario: I want to view a detailed article pageGiven I am logged inAnd Im on &qu…

CentOS 命令大全 (转)

1、查看系统使用端口并释放端口 [rootmy_nn_01 WEB-INF]# lsof -w -n -i tcp:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 24065 root 34u IPv6 269149 TCP *:http (LISTEN) [rootmy_nn_01 WEB-INF]# kill -9 24065 2、以KB/MB形式显示文件列表…

微信接口改良

之前公司微信开发的时候 写了个微信的接口改良版,当然好多想改进的都没改。。大概是太懒了 &#xff08;囧 /*** Created by DFH on 13-12-16.*//*--htmlvar shareData {//分享展示图片地址 **必须"imgUrl": "a.jpg",//分享至朋友圈链接 **必须&q…

生活大爆炸版石头剪刀布

题目描述 Description石头剪刀布是常见的猜拳游戏&#xff1a;石头胜剪刀&#xff0c;剪刀胜布&#xff0c;布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上&…

oracle18c卸载方法,在debian 10上安装和卸载oracle数据库快捷版18c第4版

安装oracle-xe-18c的步骤此安装向导依赖软件包alien。由于oracle并未提供oracle-xe-18c的deb包&#xff0c;故需要通过alien命令将oracle-xe-18c的rpm格式的安装包导出新的deb格式的安装包&#xff1a;sudo alien --scripts -d oracle-database-xe-18c-1.0-1.x86_64.rpm相应rpm…

解决:缺少aclocal、autoconf、automake

下载三个包&#xff1a;autoconf-2.68.tar.bz2、automake-1.11.1.tar.bz2、m4-1.4.14.tar.bz2 1、su - root 2、tar xjf XXXXX.tar.bz2 3、cd m4/ 4、./configure make make install 5、cd autoconf/ 6、./configure make make install 7、cd automake/ 8、./configure…

jquery事件 on(),live(),delegate(),blind()

jQuery推出on()的目的有2个&#xff0c;一是为了统一接口&#xff0c;二是为了提高性能&#xff0c; 所以从现在开始用on()替换bind(), live(), delegate吧。 尤其是不要再用live()了&#xff0c;因为它已经处于不推荐使用列表了[1.7已经被删除]。 如果只绑定一次事件&#xff…

Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护

直接访问 GitHub 看代码 YYGRegular 我是&#xff1a; 语歌复制代码It is a regular expression used on iOS, which implement by Swift 这是一个基于swift快捷开发的扩展类&#xff0c;目前的涵盖内容包括详细打印&#xff0c;正则表达式&#xff0c;会经常维护 介于是增加更…

用python庆祝生日_生日到底该过阴历还是阳历好呢?不是迷信,都怪我们大意!...

过生日到底该过阴历还是阳历&#xff1f;答案说出来你可能都不信在我们国家&#xff0c;过生日有两种不同的方式&#xff0c;因为有两种不同的日子的计算方式&#xff0c;分为阴历和阳历。一般来说&#xff0c;在农村和一些比较落后的地方&#xff0c;人们习惯于用阴历来计算生…