数位dp
算球?
在校学生
展开
-
51nod 1042 数字0-9的数量(数位dp)
做法同51nod 1009 数字1的数量 相差不多,不过查询0的时候要特别处理,做的时候拿别人代码调了好久才看懂。。。参考的:http://blog.csdn.net/f_zyj/article/details/52082449#include <iostream>#include <algorithm>using namespace std;typedef long long ll;ll原创 2017-05-14 19:46:51 · 287 阅读 · 0 评论 -
hdu 6156 Palindrome Function(数位dp)
之前做网络赛的时候,看出来这是数位dp了,奈何自己不会数位dp,网上找了个数位dp计算回文数的模板也套错了 因为不会数位dp,也找不出是哪里的毛病。 现在学了数位dp,再来切这题。 这题和LightOJ 1205 Palindromic Numbers基本一样,就是多了个不同的进制。在lightoj 1205的基础上,再加一维表示不同的进制,然后数位dp即可。做的时候数组开小了,wa了好几发。。原创 2017-08-31 16:08:42 · 319 阅读 · 0 评论 -
LightOJ 1205 Palindromic Numbers(数位dp)
做的时候毫无思路。 思路参考的:http://blog.csdn.net/harlow_cheng/article/details/77466732 代码参考的:http://blog.csdn.net/u010660276/article/details/46554067 他们是用的三维数组,dp[start][pos][state],表示从第start位开始搜索,即这个回文数的长度为sta原创 2017-08-31 16:02:26 · 266 阅读 · 0 评论 -
hdu 3252 Round Numbers(数位dp)
给你一个区间,求区间内的round number的个数,如果一个数字的二进制表示中,0的个数大于等于1的个数,则这个数字叫做round number。 把数字用二进制表示出来,然后数位dp一发就好。这个题前导0会影响到结果,所以要考虑前导0。我做的时候就没想前导0,看了题解才想到还有前导0呢。 参考:http://blog.csdn.net/wust_zzwh/article/details/5原创 2017-08-30 22:53:41 · 322 阅读 · 0 评论 -
hdu 3652 B-number(数位dp)
求1-n内,包含13且能够被13整除的数字的个数。 和 hdu 3555 Bomb相差不大,就是多了一个要整除的条件,那就在再添加一个状态来标记是否能被13整除。然后数位dp即可。 不过在转移状态的时候,我搞错了 参考:http://blog.csdn.net/libin56842/article/details/10026063#include <bits/stdc++.h>using n原创 2017-08-30 22:37:03 · 191 阅读 · 0 评论 -
hdu 4734 F(x)(数位dp)
一个十进制数字x,有n位数字,表示为AnAn-1….A1,定义F(x)=An∗2n−1+An−1∗2n−2+...+A2∗2+A1∗1F(x) = A_n*{2}^{n-1}+A_{n-1}*{2}^{n-2}+...+A_2*2+A_1*1 现在给你A和B,计算在[0,B]之间有多少数字的F(num) <= F(A) 参考:http://blog.csdn.net/wust_zzwh/arti原创 2017-08-30 22:07:42 · 250 阅读 · 0 评论 -
hdu 3555 Bomb(数位dp)
和不要62一样,算出来不要49,n减掉就好。#include <stdio.h>#include <string.h>typedef __int64 LL;int digit[25];int len;LL f[25][2];void calc(LL num){ len = 0; while(num) { digit[len++] = num%10;原创 2017-08-29 21:41:02 · 205 阅读 · 0 评论 -
hdu 2089 不要62(数位dp)
这个题之前学数位dp的时候做过,但是水过两个水题之后就不再学数位dp了,知难而退了。不过题不刷始终还是不会,专练练数位dp。 以前看的是《初探数位dp》,现在看的http://blog.csdn.net/u013008291/article/details/46463449 先套一下大神的模板,体会下模板的作用。模板自己一步步看看就看懂了。 http://www.cnblogs.com/jff原创 2017-08-29 20:50:17 · 242 阅读 · 0 评论 -
51nod 1009 数字1的数量(数位dp)
基础的数位dp,反正我不大会。 数位dp的ppt:https://wenku.baidu.com/view/9de41d51168884868662d623.html 建议先看一下ppt,我是按照ppt里面差不多的方式写的,也参考了别人写的。dp[i][j]表示长度为i位以j开头的数字到1(闭区间)之间包含多少1#include <cstdio>#include <cstring>#incl原创 2017-05-13 17:50:28 · 463 阅读 · 0 评论 -
hdu 3709 Balanced Number(数位dp)
题意从我看的题单复制的:http://blog.csdn.net/u013008291/article/details/46463449 题意:求区间[L, R]内平衡数的个数 仍然采用 [0, R] - [0, L-1]的形式 平衡数的定义是指,以某位作为支点,此位的左面(数字 * 距离)之和 与右边相等,距离是指某位到支点的距离; 对于一个数4234 ,要枚举每一位为支点,判断这个数是否原创 2017-09-02 21:14:19 · 237 阅读 · 0 评论