容斥原理:

容斥原理:

容斥原理(Inclusion-Exclusion Principle)是组合数学中用于计算多个集合的并集元素个数的核心方法,核心思想是“先包容所有集合的元素,再排斥重复计算的部分,最后补偿多排斥的部分”,以此类推。

问题描述(蓝桥2024省赛)

小蓝想要构造出一个长度为 1000010000 的数字字符串,有以下要求:

  1. 小蓝不喜欢数字 00,所以数字字符串中不可以出现 00;

  2. 小蓝喜欢数字 33 和 77,所以数字字符串中必须要有 33 和 77 这两个数字。

请问满足题意的数字字符串有多少个?这个数字会很大,你只需要输出其对 109+7109+7 取余后的结果。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

import java.util.Scanner;

// 1:无需package

// 2: 类名必须Main, 不可修改

public class Main {

public static void main(String[] args) {

long mod = (int)1e9 + 7;

long a = ksm(9 , 10000 , mod);

long b = ksm(8 , 10000 , mod);

long c = ksm(7 , 10000 , mod);

long d = (a - 2 * b + c) % mod;

System.out.println(d);

}

static long ksm(long a , long b , long mod){

long res = 1;

while(b > 0){

if((b & 1) == 1){

res = res*a%mod;

}

a = a * a % mod;

b >>= 1;

}

return res % mod;

}

}