
数位DP
文章平均质量分 59
v5zsq
新的一天,新的不会
展开
-
ACdream 1154 Lowbit Sum(数位DP)
Description long long ans = 0; for(int i = 1; i ans += lowbit(i) lowbit(i)的意思是将i转化成二进制数之后,只保留最低位的1及其后面的0,截断前面的内容,然后再转成10进制数 比如lowbit(7),7的二进制位是111,lowbit(7) = 1 6 = 110(2),lowbit(6) = 2,同理lo原创 2015-09-02 08:43:49 · 688 阅读 · 0 评论 -
GYM 100827 E.Hill Number(数位DP)
Description 定义hill number为各位数字从高位到低位先增再减,也可以只增或只减,现在给出一个整数s,首先判断s是否是一个hill number,如果是则统计所有不大于s的hill number数量 Input 第一行一整数T表示用例组数,每组用例输入一个长度不超过70位的数字串表示s Output 如果s不是一个hill number则输出-1,否则输出1~s中有多少h原创 2017-03-09 14:47:23 · 1007 阅读 · 0 评论 -
SPOJ 20848 IGAME - Interesting Game(博弈论+数位DP)
Description 两个人玩游戏,初始给一个整数n,两人轮流操作,每次可以选择n的一位在保证该位非负的情况下减去任意值,谁先把n减到0谁赢,问在双方足够机智的情况下[A,B]中有多少值作为初始值可以使得先手必胜,有多少值作为初始值可以使后手必胜 Input 第一行一整数T表示用例组数,每组用例输入两整数A和B表示查询区间(1<=T<=1e4,1=A<=B<=1e18) Output S原创 2017-04-11 19:06:37 · 406 阅读 · 0 评论 -
CodeForces 258 B.Little Elephant and Elections(数位DP+dfs)
Description从11~mm中选出77个不同的数字,使得第七个数字的44和77的数量 大于前六个数字的44和77的数量Input一个整数m(7≤m≤109)m(7\le m\le 10^9)Output输出满足条件的方案数,结果模109+710^9+7Sample Input7Sample Output0Solution数位DPDP找到不超过mm的数里恰有ii个44和77的数字个数cnticn原创 2018-01-02 13:50:51 · 386 阅读 · 0 评论 -
HDU 6148 Valley Numer(数位DP)
Description众所周知,度度熊非常喜欢数字。它最近发明了一种新的数字:Valley NumberValley \ Number,像山谷一样的数字。当一个数字,从左到右依次看过去数字没有出现先递增接着递减的“山峰”现象,就被称作Valley NumberValley\ Number。它可以递增,也可以递减,还可以先递减再递增。在递增或递减的过程中可以出现相等的情况。比如原创 2018-01-22 16:30:47 · 363 阅读 · 0 评论 -
HDU 6156 Palindrome Function(数位DP)
Description定义函数f(n,k)f(n,k),如果nn在kk进制下是回文数则f(n,k)=kf(n,k)=k,否则f(n,k)=1f(n,k)=1,给出L,R,l,rL,R,l,r,求∑i=LR∑j=lrf(i,j)\sum\limits_{i=L}^R\sum\limits_{j=l}^rf(i,j)Input第一行输入一整数TT表示用例组数,每组用例输入四个整数L,R,l原创 2018-01-22 18:22:13 · 424 阅读 · 0 评论 -
CodeForces 8 E.Beads(数位DP)
Description定义一个nnn位010101串和其翻转后得到的串(翻转指的是把111变成000,把000变成111),其反串以及其反串翻转得到的串等价,且该等价类的代表元选取这四个串中字典序最小的串,求所有代表元中字典序第kkk小的串 Input两个整数n,k(2≤n≤50,1≤k≤1016)n,k(2≤n≤50,1≤k≤1016)n,k(2\le n\le 50,1\le k\...原创 2018-03-18 17:11:28 · 548 阅读 · 0 评论 -
HDU 5898 odd-even number(数位DP)
Description连续的偶数位数量为奇数,连续的奇数为数量为偶数的数字被称为奇偶数,问介于区间[L,R][L,R][L,R]之间的奇偶数个数Input第一行一整数TTT表示用例组数,每组用例输入两个整数L,R(1≤L≤R≤9⋅1018)L,R(1≤L≤R≤9⋅1018)L,R(1\le L\le R\le 9\cdot 10^{18})Output输出区间[L,R][L,R...原创 2018-04-05 14:29:14 · 246 阅读 · 0 评论 -
GYM 101653 R.Ramp Number(数位DP)
Description一个数字称为斜坡数字当且仅当该数字从高位到低位的数字不减,给出一整数nnn,判断nnn是否为一个斜坡数字,如果是则求所有不超过nnn的斜坡数字数量,如果不是则输出−1−1-1Input 第一行一整数TTT表示用例组数,每组用例输入一个长度不超过808080的整数nnnOutput如果nnn不是一个斜坡数字则输出−1−1-1,否则输出所有不超过nnn的斜坡数...原创 2018-05-22 16:12:21 · 488 阅读 · 0 评论 -
CodeForces 95 D.Horse Races(数位DP)
Description定义伪幸运数字为该数字中有距离不超过kkk位的两位上都是444或777,问区间[L,R][L,R][L,R]中伪幸运数字的个数Input第一行输入两个整数T,kT,kT,k,其中TTT表示用例组数,之后TTT行每行输入两个整数Li,RiLi,RiL_i,R_i表示一组查询(1≤t,k≤1000,1≤Li≤Ri≤101000)(1≤t,k≤1000,1≤Li≤R...原创 2018-07-16 13:23:07 · 285 阅读 · 0 评论 -
HDU 5787 K-wolf Number(数位DP)
Description 给出一个区间[L,R],问这个区间中任意相邻k个数位均不相同的数字个数 Input 多组用例,每组用例输入三个整数L,R,k,以文件尾结束输入 (1<=L<=R<=1e18,2<=k<=5) Output 对于每组用例,输出[L,R]中满足条件的数字个数 Sample Input 1 1 2 20 100 5 Sample Output 1 72 S原创 2016-08-26 11:05:51 · 477 阅读 · 0 评论 -
HDU 5803 Zhu's Math Problem(数位DP)
Description 给出四个整数A,B,C,D,问有多少四元组(a,b,c,d)满足a+c>b+d,a+d≥b+c,其中0<=a<=A,0<=b<=B,0<=c<=C,0<=d<=D, Input 第一行一整数T表示用例组数,每组用例输入四个整数A,B,C,D Output 对于每组用例,输出满足条件的四元组个数 Sample Input 1 2 1 1 1 Sample Ou原创 2016-08-30 17:58:36 · 722 阅读 · 0 评论 -
HDU 3709 Balanced Number (数位DP)
Description 定义一种平衡数:只要这个数以某一位为支点,两端力矩和为0,则该数为平衡数,例如4139,以3为支点,则右力矩为9*1,左力矩为4*-2+2*-1,左右力矩相同,则4139为平衡数。先给出查询区间[a,b],统计这个区间中平衡数的个数 Input 第一行为用例组数t,之后t行每行两个整数a和b表示查询区间端点 Output 对于每组用例,输出区间[a,b]中平衡数的原创 2015-09-02 08:54:47 · 499 阅读 · 0 评论 -
HDU 4507 吉哥系列故事——恨7不成妻(数位DP)
Description 如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍; 现在问一定区间内和7无关的数字的平方和 Input 输入数据的第一行是case数T(1 Output 请计算[L,R]中和7无关的数字的平方和,并将结果对10^9 + 7 求模后输出。原创 2015-07-25 14:25:59 · 716 阅读 · 0 评论 -
HDU 3555 Bomb(数位DP)
Description 求1~n中所有含49的数字的个数 Input 多组用例,每组一个整数n,以文件尾结束 Output 对于每组用例,输出1~n中含49的数的个数 Sample Input 3 1 50 500 Sample Output 0 1 15 Solution 数位DP,用dp[len][sure][state]表示当前位为len位,前面各位的状态su原创 2015-09-02 08:54:32 · 488 阅读 · 0 评论 -
LightOJ 1032 Fast Bit Calculations(数位DP)
Description 问0~N内所有数的二进制形式中出现的连续的11的个数的和 Input 多组输入,每组一个整数N,以文件尾结束输入 Output 对于每组输入输出0~N所有数二进制形式中出现连续11的个数的和 Sample Input 7 0 6 15 20 21 22 2147483647 Sample Output Case 1: 0 Case 2: 2原创 2015-09-02 08:52:54 · 876 阅读 · 0 评论 -
LightOJ 1205 Palindromic Numbers(数位DP)
Description 求[a,b]中回文数的个数 Input 第一行为用例组数t,之后t行每行两个整数a和b表示查询区间端点 Output 对于每组用例,输出区间[a,b]中回文数的个数 Sample Input 4 1 10 100 1 1 1000 1 10000 Sample Output Case 1: 9 Case 2: 18 Case 3: 108 C原创 2015-09-02 08:53:22 · 2217 阅读 · 0 评论 -
HDU 2089 不要62(数位DP)
Description 统计区间[n,m]中不含4和62的数字的个数 Input 输入的都是整数对n、m(0#include#include#includeusing namespace std;int dp[8][2],num[8];int a,b;int dfs(int len,bool state,int fp){ if(!len) retur原创 2015-09-02 08:54:13 · 594 阅读 · 0 评论 -
CodeForces 55 D.Beautiful numbers(数位DP)
Description 如果一个数可以整除它每个非零位,则该数是一个Beautiful numbers,现给出区间[a,b],统计该区间所有Beautiful numbers的个数 Input 第一行为用例组数t,之后t行每行两个整数a,b表示区间端点 Output 对于每组用例,输出区间[a,b]中Beautiful numbers的个数 Sample Input 1 1 9 ...原创 2015-07-25 14:13:53 · 679 阅读 · 0 评论 -
HDU 3652 B-number(数位DP)
Description 找出1~n范围内含有13并且能被13整除的数字的个数 Input 多组输入,每组用例占一行为一个整数n,以文件尾结束输入 Output 对于每组用例,输出1~n中含有13并能被13整数的数字个数 Sample Input 13 100 200 1000 Sample Output 1 1 2 2 Solution 数位DP,以dp[len]原创 2015-09-08 08:38:42 · 686 阅读 · 5 评论 -
UESTC 250 windy数(数位DP)
Description 不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。问在A和B之间,包括A和B,总共有多少个windy数 Input 包含两个整数A和B满足 1 Output 输出区间[A,B]中的windy数个数 Sample Input 1 10 Sample Output 9 Solution 数位DP,用dp[len][pre]表示当前位为len位原创 2015-09-02 08:53:58 · 681 阅读 · 0 评论 -
Newcoder 142 C.Chiaki Sequence Reloaded(数位DP)
Description定义 a(n)={0a(⌊n2⌋)+(−1)n(n+1)2n=1n≥2a(n)={0n=1a(⌊n2⌋)+(−1)n(n+1)2n≥2a(n)=\left\{\begin{array}{ccl}0&&n=1\\a(\lfloor\frac{n}{2}\rfloor)+(-1)^{\frac{n(n+1)}{2}}&&n\ge 2\end{array} \rig...原创 2018-09-16 08:05:06 · 375 阅读 · 0 评论