博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[NC189A]数字权重
阅读量:4993 次
发布时间:2019-06-12

本文共 689 字,大约阅读时间需要 2 分钟。

题目大意:有一个$n$位的数,设第$i$位为$a_i$(最高位为$a_1$)。问满足$(\sum\limits_{i=2}^n(a_i-a_{i-1}))==k$的数的个数(不含前导零)

解:发现$(\sum\limits_{i=2}^n(a_i-a_{i-1}))==k\Leftrightarrow a_n-a_1==k$。然后枚举$a_1$判断$a_n$是否合法就行了

卡点:模数为$10^9+7$,写成$10^{10}+7$

C++ Code:

#include 
const long long mod = 1000000007;long long n, k, ans;long long pw(long long base, long long p) { long long res = 1; for (; p; p >>= 1, base = base * base % mod) if (p & 1) res = res * base % mod; return res;}int main() { scanf("%lld%lld", &n, &k); for (int i = 1; i < 10; i++) { if (i + k < 10 && i + k >= 0) (ans += pw(10, n - 2)) %= mod; } printf("%lld\n", ans); return 0;}

 

转载于:https://www.cnblogs.com/Memory-of-winter/p/9639457.html

你可能感兴趣的文章
Android:onNewIntent()触发机制及注意事项
查看>>
珠宝公司之感想
查看>>
项目问题
查看>>
scss侦听并压缩
查看>>
我有接口文档, 你有酒吗?
查看>>
iOS - Push 通知推送
查看>>
[FJOI2007]轮状病毒
查看>>
Azure AADSTS7000215 其中一种问题的解决
查看>>
关于吃苦
查看>>
uva 1629切蛋糕(dp)
查看>>
生成awr报告
查看>>
cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
查看>>
Android 深入解析光传感器(二)
查看>>
Ansible@一个高效的配置管理工具--Ansible configure management--翻译(八)
查看>>
【bzoj4552/Tjoi2016&Heoi2016】排序——二分+线段树/平衡树+线段树分裂与合并
查看>>
Windows Internals学习笔记(八)IO系统
查看>>
sql插件,SQLPrompt
查看>>
Objetive-C 属性和线程安全
查看>>
mybatis pagehelper实现分页
查看>>
很牛的javascript日期转换函数
查看>>