【数位DP】恨7不成妻
【数位DP】恨7不成妻
时间限制: 1 Sec 内存限制: 128 MB
提交: 8 解决: 4
[提交] [状态] [命题人:admin]
题目描述
依然单身!
吉哥依然单身!
DS级码农吉哥依然单身!
所以,他生平最恨情人节,不管是214还是77,他都讨厌!
吉哥观察了214和77这两个数,发现:
2+1+4=7
7+7=7*2
77=7*11
最终,他发现原来这一切归根到底都是因为和7有关!所以,他现在甚至讨厌一切和7有关的数!
什么样的数和7有关呢?
如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关——
1、整数中某一位是7;
2、整数的每一位加起来的和是7的整数倍;
3、这个整数是7的整数倍;
现在问题来了:吉哥想知道在一定区间内和7无关的数字的平方和。
输入
输出
样例输入
复制样例数据
3
1 9
10 11
17 17
样例输出
236
221
0
题解:https://blog.csdn.net/zxyoi_dreamer/article/details/82897281
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+;
ll l,r,decimal[],a[];
struct node
{
ll sum0,sum1,sum2;
node():sum0(),sum1(),sum2() {}
}dp[][][];
node dfs(int pos,int addremain,int numremain,bool limit)
{
if(pos==)
{
node cnt;
if(addremain && numremain) cnt.sum0=;
return cnt;
}
if(dp[pos][addremain][numremain].sum0 && !limit) return dp[pos][addremain][numremain];
node res;
ll up=limit?a[pos]:;
for(ll i=;i<=up;i++)
{
if(i==) continue;
node tmp=dfs(pos-,(addremain+i)%,(numremain*+i)%,i==a[pos]&&limit);
res.sum0=(res.sum0+tmp.sum0)%mod;
res.sum1=(res.sum1+tmp.sum1+decimal[pos-]*i%mod*tmp.sum0%mod)%mod;
res.sum2=(res.sum2+tmp.sum2+*i%mod*decimal[pos-]%mod*tmp.sum1%mod
+i*i%mod*decimal[pos-]%mod*decimal[pos-]%mod*tmp.sum0%mod)%mod;
}
if(!limit) dp[pos][addremain][numremain]=res;
return res;
}
ll solve(ll val)
{
int len=;
while(val)
{
a[++len]=val%;
val/=;
}
return dfs(len,,,true).sum2;
}
int main()
{
decimal[]=;
for(int i=;i<=;i++) decimal[i]=decimal[i-]*%mod;
int t;
for(scanf("%d",&t);t;t--)
{
scanf("%lld %lld",&l,&r);
printf("%lld\n",(solve(r)-solve(l-)+mod)%mod);
}
return ;
}
//1 1000000000000000000
【数位DP】恨7不成妻的更多相关文章
- 吉哥系列故事——恨7不成妻(数位DP)
吉哥系列故事——恨7不成妻 http://acm.hdu.edu.cn/showproblem.php?pid=4507 Time Limit: 1000/500 MS (Java/Others) ...
- 吉哥系列故事——恨7不成妻(数位dp)
吉哥系列故事--恨7不成妻 传送门 Problem Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥 ...
- hdu4507吉哥系列故事——恨7不成妻 (数位dp)
Problem Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: ...
- HDU-4507 吉哥系列故事——恨7不成妻 数位DP
题意:给定区间[L, R]求区间内与7无关数的平方和.一个数当满足三个规则之一则认为与7有关:1.整数中某一位是7:2.整数的每一位加起来的和是7的整数倍:3.这个整数是7的整数倍: 分析:初看起来确 ...
- hdu_4507_吉哥系列故事——恨7不成妻(鬼畜数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题意:中文,不解释,注意的是求的是合法数字的平方和,即(a+b+c+……)^2 题解:数位DP, ...
- 吉哥系列故事――恨7不成妻 HDU - 4507 数位dp
思路 和普通的DP不一样的是 这里求的是满足条件的数的平方的和 而数位DP只跟数每位是什么密切相关 所以要开一个结构 (多加一个 数的和sum 和平方和qsum)存一下各个状态的和的情况 dp[p ...
- hdu-4507 吉哥系列故事——恨7不成妻 数位DP 状态转移分析/极限取模
http://acm.hdu.edu.cn/showproblem.php?pid=4507 求[L,R]中不满足任意条件的数的平方和mod 1e9+7. 条件: 1.整数中某一位是7:2.整数的每一 ...
- 2018.09.27 hdu4507吉哥系列故事——恨7不成妻(数位dp)
传送门 一道比较综合的数位dp. 维护三个值:[L,R][L,R][L,R] 区间中与7无关的数的数量,与7无关的数之和,与7无关的数的的平方和. 然后可以用第一个值推第二个,第一个和第二个值推第三个 ...
- 【hdu4507】吉哥系列故事——恨7不成妻 数位dp
题目描述 求 $[L,R]$ 内满足:数位中不包含7.数位之和不是7的倍数.本身不是7的倍数 的所有数的平方和 mod $10^9+7$ . 输入 输入数据的第一行是case数T(1 <= T ...
随机推荐
- maven整合ssm框架
1.创建maven web工程 创建完成后,项目结构如下 2.项目配置文件 在pom.xml中添加SSM框架相关jar包的依赖关系,pom.xml代码如下 <?xml version=" ...
- 安装完Pycharm,启动时碰到"failed to load jvm dll"的解决方案
今天安装完系统,配置pycharm的环境的时候,启动pycharm时,碰到"failed to load jvm dll"的错误, 下面给出其解决方案: 安装Microsoft V ...
- python 列表切片之负数的含义代码示例
a = list(range(10)) print(a[::]) #复制一个列表 print(a[::2]) #每隔2个取一次 print(a[::3]) #每隔3个取一次 print(a[::-1] ...
- Job for docker.service failed because the control process exited with error code. See
在Liunx中使用Docker, 注: Liunx使用的是在虚拟机下的centOS7版本在刚开始安装Docker时没有任何错误, 但是在后续的docker启动过程中, 出现以下问题: Job for ...
- LeetCode 112. 路径总和(Path Sum)
题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum ...
- LC 835. Image Overlap
Two images A and B are given, represented as binary, square matrices of the same size. (A binary ma ...
- 微信小程序:undefined Expecting 'STRING', got INVALID
出现问题: 问题原因:app.json中不能出现注释
- RedHat Enterprise7 搭建ISCSI
IP 主机名 作用 10.45.129.113/24 外网 172.16.1.10/24 内网 rac1 RAC节点1 10.45.129.114/24 外网 172 ...
- 二叉树实例学习(四)——获取节点的高度函数getHight()
树T中所有节点深度的最大值称为该树的高度(height),实际上每个节点与其所有子节点都可以看做一颗树,也就是说除了根结点,所有子结点都可以看做是一颗子树,因此每个结点都有树高.在本程序中约定,仅含单 ...
- Vuex模块:开启命名空间
模块开启命名空间后,享有独自的命名空间. { "模块1":{ state:{}, getters:{}, mutations:{}, actions:{} }, "模块2 ...