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.pswp.cn/news/260179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260179.shtml
英文地址,請注明出處:http://en.pswp.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;人們習慣于用陰歷來計算生…