AtCoder Beginner Contest 178 C - Ubiquity题解_[abc178c] ubiquity-程序员宅基地

技术标签: atcoder  

C.Ubiquity

在这里插入图片描述

Sample Input 1
2
Sample Output 1
2

Sample Input 2
1
Sample Output 2
0

Sample Input 3
869121
Sample Output 3
2511445

题解:输入一个N,0<=Ai<=9,所以一共10N 种情况,序列中元素个数为N,序列中一定存在 0 和 9,要得到至少有一个0和一个9的所有情况,思路使用总共的情况减去只有一个 0 、只有 一个 9 、或者 0 和 9 都没有的情况。

用 10N 减去序列种没有 0 的 9N 种情况,再减去序列中没有 1 的 9N种情况,这些都不符合有 0 有 9 的条件。

但是没有 0 和没有 1 的 9N 的两个情况中肯定都包括既没有 0 也没有 1 的 8N 情况,所以多减了一次,要加回来。

所以计算 10N - 9N - 9N + 8N 再取余得到答案
注意最后一定要:
ans = (ans + mod)%mod; // 因为取余后,各数的大小发生变化,这里防止ans减为负数!!!

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<time.h>
#include<vector>
using namespace std;
#define ll long long
const ll mod = 1e9 + 7;

ll po(ll a,ll b)  //快速幂算法
{
    
    ll ans = 1;
    while(b)
    {
    
        if(b & 1)
        {
    
            ans = ans * a % mod;

        }
        b >>= 1;
        a = a * a % mod;
    }
    return ans;
}
int main()
{
    
    //ios::sync_with_stdio(false);
    //cin.tie(0);
    //cout.tie(0);
    ll n;
    cin>>n;
    ll ans = (po(10,n)-po(9,n)-po(9,n)+po(8,n))%mod;
    ans = (ans + mod)%mod;  // 因为取余后,各数的大小发生变化,这里防止ans减为负数!!!
    cout<<ans<<endl;
    return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26139541/article/details/108627679

智能推荐

[UVM]一文搞懂UVM callback-程序员宅基地

文章浏览阅读2.2k次,点赞6次,收藏49次。一文搞懂UVM callback 前言:在UVM验证平台中,callback的最大用处就是提高验证平台的复用性。很多情况下,我们期望在一个项目中开发的验证平台能够用于另外一个项目。但是,通常来说,完全的复用是比较难实现的,两个不同的项目之间或多或少会有一些差异。如果把两个项目不同的地方使用callback来做,而..._uvm callback

海龟交易法则主图技术指标公式_海龟策略公式-程序员宅基地

文章浏览阅读5.6k次。海龟交易法则采用的主图技术指标公式:MYATR:=MA(ATR,14);长周期高点:REF(HHV(H,55),1),COLORGREEN;长周期低点:REF(LLV(L,20),1),COLORLIGREEN;周期高点:REF(HHV(H,20),1),COLORMAGENTA;周期低点:REF(LLV(L,10),1),COLORLIMAGENTA;准备多头:C+MYATR,COLORWHITE;准备空头:C-MYATR,COLORLIGRAY;平空开多:=(H > 周期高点);_海龟策略公式

vue实现表格的更多查询功能_vue实现表格查询功能-程序员宅基地

文章浏览阅读3.4k次。vue表格实现更多查询功能(之前的版本有点问题bug重新改了)_vue实现表格查询功能

vite+vue3代码风格校验及格式化_vite 保存代码是 校验格式-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏6次。团队代码风格统一一直是博主想干又没有时间去干的事情,刚好借着新项目搭建,尝试一下使用Eslint及Prettier工具提升一下项目代码的整体质量。本文在配置方面仅做简单的配置,流程熟悉可以参考Eslint及Prettier官方文档定制自己喜欢的标准。_vite 保存代码是 校验格式

java 标识符,关键字和分隔符_java 那些字符不能作为分隔符 csdn博客-程序员宅基地

文章浏览阅读202次。(一)标识符的介绍 Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。 Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。下面的标识符是合法的:myName,My_..._java 那些字符不能作为分隔符 csdn博客

政安晨:示例演绎机器学习中(深度学习)神经网络的数学基础——快速理解核心概念(一){两篇文章讲清楚}_演绎学习(机器学习)-程序员宅基地

文章浏览阅读1.7k次,点赞46次,收藏28次。进入人工智能领域免不了与算法打交道,算法依托数学基础,很多小伙伴可能新生畏惧,不用怕,算法没那么难,也没那么玄乎,未来人工智能时代说不得人人都要了解算法、应用算法。本文试图以一篇文章,用程序演绎的方式给大家把这里面的数学基础先讲清楚,以便于咱们未来深入,呵呵。机器学习中,那些“机器”学习的是什么?——数据。学习到的是什么?——模式和规律(或者说是可以解决实际问题的模型)。_演绎学习(机器学习)

随便推点

导入PYQT5不能使用的坑_pdroid3已经导入pyqt5怎么不管用-程序员宅基地

文章浏览阅读5.1k次,点赞4次,收藏17次。如图:import进来之后里面的类全都不能用是因为这个引用路径下面有中文。改成英文的就不报错了,如果还是报错,那就新建一个项目命名成英文_pdroid3已经导入pyqt5怎么不管用

手推线性模型及最小二乘法(房价预测实例)_基于最小二乘法的房价预测实验报告-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏24次。手推线性模型及最小二乘法(房价预测实例)线性模型及最小二乘法推导房价预测实例Reference线性模型及最小二乘法推导房价预测实例生成数据#生成数据import numpy as np#生成随机数np.random.seed(1234)x = np.random.rand(500,3)#构建映射关系,模拟真实的数据待预测值,映射关系为y = 4.2 + 5.7*x1 + 1..._基于最小二乘法的房价预测实验报告

多文件使用全局变量时extern的规范用法_extern变量多个文件中修改-程序员宅基地

文章浏览阅读494次。关键字extern用来声明变量或者函数是一个外部变量或者外部函数,也就是说告诉编译器是在其他文件中定义的,编译的时候不要报错,在链接的时候按照字符串寻址可以找到这个变量或者函数。(函数默认是外部类型的,不需要显示声明,但是变量必须,如果想把一个函数声明为只在本文件范围有效,那么可以用static来说明) 在某个头文件,比如A.h中定义了全局变量比如int a;,那么在其他文件中的函数调用变量a的时候需要在对应头文件或者定义文件中(保证在使用这个变量前)使用extern int a;..._extern变量多个文件中修改

为 OpenBMC 添加一个新的系统_openbmc对meta名字有要求吗-程序员宅基地

文章浏览阅读773次,点赞15次,收藏27次。在上一篇文章中向大家介绍了OpenBMC的是什么以及它的作用和应用场景,并且以一个自带的示例平台romulus展示了从下载源码包开始到启动系统并访问Web控制页面的整体构建流程。通过前文已经了解到如何为已有的平台构建系统镜像,下面我们来探索一下如何为我们自己的平台构建OpenBMC的系统镜像。_openbmc对meta名字有要求吗

闹钟+秒表+倒计时三合一_时钟和倒计时同时显示-程序员宅基地

文章浏览阅读652次。这个是一个可以实现闹钟,计时,倒计时的安卓简单APP。特别提醒,闹钟部分,国产手机会把后台闹钟服务功能杀掉,延迟几分钟闹甚至不闹。没办法国产手机为了对付某些狗血APP只能强制性。。。倒计时可以在后台运行,但是秒表部分只能在当前界面运行,重新进入就清零了。_时钟和倒计时同时显示

archlinux安装配置、i3-wm配置、blurlock锁屏、archlinux音频蓝牙_archlinux i3wm 锁屏-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏48次。archlinux+i3折腾笔记持续更新,直到不在折腾。使用设备:Honor_Magicbook14_AMDarchlinux基础安装i3wm+驱动安装安装常用软件音频、蓝牙音量、亮度调节模糊锁屏 blurlock电源管理、休眠、重启、关机相关配置i3configi3exit,blurlock,i3statusalacritty.yml持续更新中~参考博文:Installation guide (简体中文)ArchLinux 安装指南(新手向)ArchLinux 安装蓝牙_archlinux i3wm 锁屏