_bzoj1008 [HNOI2008]越狱【计数】

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1008

水题。。。

#include <cstdio>

const int mod = 100003;

long long m, n;

inline int poww(long long di, long long mi) {
	int i;
	for (i = 63; mi >> i & 1 ^ 1; --i);
	long long rt = di;
	for (--i; ~i; --i) {
		rt = rt * rt % mod;
		if (mi >> i & 1) {
			rt = rt * di % mod;
		}
	}
	return (int)rt;
}

int main(void) {
	scanf("%lld%lld", &m, &n);
	printf("%d\n", (poww(m, n) - (m * poww(m - 1, n - 1) % mod) + mod) % mod);
	return 0;
}

  

时间: 2024-08-29 16:16:56

_bzoj1008 [HNOI2008]越狱【计数】的相关文章

BZOJ 1008: [HNOI2008]越狱 水

BZOJ难得的水题 1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 4977  Solved: 2149 [Submit][Status][Discuss] Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1&

BZOJ 1008: [HNOI2008]越狱 快速幂

1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 Output 可能越狱的状态数,模100003取余 Sample Input 2 3 Sample Output 6 HINT 6种状态为(000)(001)(011)(10

1008: [HNOI2008]越狱

1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7777  Solved: 3331[Submit][Status][Discuss] Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10

【BZOJ 1008】[HNOI2008]越狱

1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5535  Solved: 2370[Submit][Status][Discuss] Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10

1008: [HNOI2008]越狱(计数问题)

1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 11361  Solved: 4914[Submit][Status][Discuss] Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=1

[BZOJ1008] [HNOI2008] 越狱 (数学)

Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 Output 可能越狱的状态数,模100003取余 Sample Input 2 3 Sample Output 6 HINT 6种状态为(000)(001)(011)(100)(110)(111) Source

BZOJ1008 HNOI2008 越狱 快速幂

题意:监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 题解:设f[i]=有M种宗教i个房间时不发生越狱的方案数,显然f[1]=M,f[i]=f[i-1]*(M-1).最后答案就是N^M-f[N] #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream

Bzoj1008 [HNOI2008]越狱

Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7995  Solved: 3415 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 Output 可能越狱的状态数,模100003取余 Sample Input 2

P3197 [HNOI2008]越狱

题目描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入输出格式 输入格式: 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 输出格式: 可能越狱的状态数,模100003取余 输入输出样例 输入样例#1: 2 3 输出样例#1: 6 说明 6种状态为(000)(001)(011)(100)(110)(111) /*题目要求越狱方案数,而