数位DP
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
【数位dp && 优化数组范围】CodeForces - 55D Beautiful numbers
Problem Description 输入T组测试数据,每组测试数据输入一组区间范围。让你求区间范围内有多少个数是美丽的数。 美丽的数:数 能被 自身各位数整除(不包括0)那么这个数就是美丽的数。 例如: 120 能被1整除 同时 也能被2整除,所以它是一个美丽的数。思路: 这题得用到的前置技能,大整数取模 123%5 = ( (1*10+2)%5 ...翻译 2018-03-06 19:21:26 · 187 阅读 · 0 评论 -
【数位dp】HDU - 4734 F(x)
Problem Description 输入T组数据,每组数据输入A, B。 问你 0 到 B 的范围内有多少个数的f(x) <= f(A)。 f(123) = 1*2^2 + 2*2^1 + 3*2^0。Sample Input 3 0 100 1 10 5 100Sample Output Case #1: 1 Ca...翻译 2018-03-06 20:16:22 · 141 阅读 · 0 评论 -
【数位dp && 数学技巧】HDU - 4507 吉哥系列故事――恨7不成妻
Problem Description 如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关—— 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍; 现在问题来了:吉哥想知道在一定区间内和7无关的数字的平方和。 思路: 参考博客:https://www.cnblogs.com/k...翻译 2018-03-07 22:00:50 · 274 阅读 · 0 评论 -
【数位dp】HDU - 3709 Balanced Number
Problem Description 找出闭合区间内平衡数的个数。 平衡数:以某一位数为支点,左右两边位数以此乘积距离的和 相等。 例如4139:如果以3为支点 4*2+1*1 = 9*1 所以 4139是平衡数思路: 简化问题:如果支点的位置是固定不变的,让我们求平衡数个数,就很好求。 这时候支点你是不确定在那个位置的,所以你可以枚举支点 进行记忆化搜索...翻译 2018-03-08 10:33:34 · 164 阅读 · 0 评论 -
【数位dp && 状态压缩】Balanced Numbers SPOJ - BALNUM
Problem Description 让你求闭合区间内,平衡数的个数。 平衡数:数字由0-9组成,如果是偶数得有奇数个,如果是奇数得有偶数个。 例:12313:1, 3有偶数个,2有奇数个。所以它是要给平衡数思路: 统计0-9对应的数字是偶还是奇,0是偶,奇是1,可以状态压缩。 还需要处理一个点,就是数字有没有出现过。一开始默认是0,所以偶也默认是0,如果...翻译 2018-03-08 21:00:40 · 195 阅读 · 0 评论 -
【数位dp && 状态压缩】HDU - 4352 XHXJ's LIS
Problem Description 给你区间范围,给你一个数k。问你区间范围内的数,有多少个满足它的最长上升子序列的个数 等于 k。思路: 前置技能:O(nlogn)求最长上升子序列的个数。 因为元素不重复,所以最长上升子序列只能由0-9构成,也就是10位,所以可以状态压缩枚举 求最长上升子序列的个数。#include<bits/stdc++.h&g...翻译 2018-03-08 21:05:48 · 261 阅读 · 0 评论 -
【数位dp && 优化】POJ - 3252 Round Numbers
Problem Description 让你求区间范围内round number的个数 round number:就是把一个十进制数转换为一个二进制数,若该二进制数中0的个数大于等于1的个数,就是round number思路: 我们记忆化搜索的时候,只需要记录0的个数 和 1的个数,然后0的个数大于1的个数即可。 我们还可以更巧妙点 设一个数初始化位0 遇到0的时...翻译 2018-03-08 21:18:03 · 235 阅读 · 0 评论 -
【数位dp】HDU - 2089 不要62
Problem Description 给你数字范围,n到m。让你求里面的所有数字,不含4,或者不含连续62的数字个数有几个。思路: 学习参考博客:http://blog.csdn.net/wust_zzwh/article/details/52100392 这道题其实就是记忆化搜索,满足条件的数。#include<bits/stdc++.h>usi...翻译 2018-03-05 20:47:55 · 248 阅读 · 0 评论 -
【数位dp】HDU - 3555 Bomb
Problem Description 输入T组测试数据,每组测试数据给你一个n,让你求1-n中有多少个数 数中包含有连续49,(1 <= n <= 2^63-1);Sample Input 3 1 50 500Sample Output 0 1 15思路: 还在学习过程中 我分别用了两种解题思路:一...翻译 2018-03-06 10:22:47 · 194 阅读 · 0 评论