首页 > TAG信息列表 > 2520

CF55D Beautiful numbers

题面传送门 首先这种题目肯定数位dp,先反手一个差分。 然后有多组询问考虑先全部处理出来。 但是这个限制不太好处理。 然而我们发现这\(9\)个数字的最大公约数只有\(2520\),那么我们存当前数模\(2520\)的值和所有值的最大公约数即可。然后这个所有值的最大公约数只有\(48\)种,可以优

数位DP——CF55D Beautiful numbers(洛谷)

题意翻译 题目描述 Volodya是一个很皮的男♂孩。他认为一个能被它自己的每一位数上的数整除的数是很妙的。我们先忽略他的想法的正确性(如需证明请百度“神奇海螺”),只回答在l到r之间有多少个很妙的数字。 输入输出格式 输入:总共有t个询问: 第一行:t; 接下来t行:每行两个数l和r。 注意:

Beautiful numbers

题目连接:https://vjudge.net/contest/365059#problem/A   题目大意 :就是求区间内能被所有位上的数字(!0)整除的数的个数   想法: 首先lcm{1~9}=2520; 想到每个数都是1~9中某些数字的lcm 所以他们一定能整除2520 由数论知识可以知道: x % km % m = x % m 所以我们可以得到 x%2520%

Beautiful numbers CodeForces - 55D

题意: 找出区间[li,ri]内有多少数满足,这个数的每一个位的非0数都能把这个数整除   题解: 因为这个数每一位的值都可以把这个数整除,那也就是说这个数是它所有位数的公倍数,但是可能不是最小公倍数。 1、2、3、4、5、6、7、8、9的最小公倍数是2520 那么我就可以让我们要判断的那个数去

P1052 过河

  P1052 过河   题意:给个长度为1e9的桥,青蛙从0开始每次能跳[s,t]的距离,给m个石头在桥上,求青蛙最少踩几个石头。 思路:因为m<100,l>1e9,所以可以对桥进行压缩,因为s,t属于[1,10],所以步数的最小公倍数是2520,如果两个石头时间距离大于2520,可以对石头之间的距离进行压缩,因为青蛙肯定会

P1052 过河

动态规划的好题 状态转移很简单,dp[i] = dp[i-k] + st[i] ,k是移动距离,st[i]判断i位置是否有石头,但是距离太大,需要压缩路径。 K∈[1,10],lcm[1,10] = 2520,将石子间的距离距离对2520取模。而后进行DP递推即可 #include<stdio.h>#include<algorithm>#include<string.h>#include<stdli

CF55D [数位DP]

题面 数位DP+状压。 首先,按照数位DP的基本套路,每个个位数的最小公倍数为2520,所以只用考虑模2520的情况。考虑一个DP。dp[i][j][k]表示当前是第ii位,2~9的数的集合为j,模2520为k的方案数。然后,就是数位DP的基本套路解决这道题。 #include <bits/stdc++.h>using namespace std;typede

CF 55D Beautiful Numbers(数位DP)

Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer number is beautiful if and only if it is divisible by each of its nonzero digits. We will not argue with this and just count the quantity of beautiful numbers