Hmz 的女装 (模拟,递推)
来源:互联网 发布:tomcat源码解析 编辑:程序博客网 时间:2024/04/28 18:43
Hmz 的女装
时间限制: 2 秒 内存限制: 128 MB
题目描述
Hmz为了女装,想给自己做一个长度为n的花环。现在有k种花可以选取,且花环上相邻花的种类不能相同。
Hmz想知道,如果他要求第l朵花和第r朵花颜色相同,做花环的方案数是多少。这个答案可能会很大,你只要输出答案对10^9+7取模的结果即可。
输入
第一行三个整数n,m,k(1≤n≤100000,1≤m≤100000,1≤k≤100000)
接下来m行,每行两个整数l,r,表示要求第l朵花和第r朵花颜色相同。保证l≠r且 |(r−l) mod n| ≠1.
输出
输出m行。对于每一个询问输出一个整数,表示做花环的方案数对10^9+7取模的结果。
样例输入
8 3 21 42 61 38 3 31 42 61 3
样例输出
02260108132
题解:找规律,递推……
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<stdlib.h>#include<time.h>#include<string>#include<math.h>#include<map>#include<queue>#include<stack>#define INF 0x3f3f3f3f#define LL long long#define For(i,a,b) for(int i=a;i<b;i++)#define sf(a) scanf("%d",&a)#define sfs(a) scanf("%s",a)#define sff(a,b) scanf("%d%d",&a,&b)#define sfff(a,b,c) scanf("%d%d%d",&a,&b,&c)#define pf(a) printf("%d\n",a)#define P() printf("\n")#define mem(a,b) memset(a,b,sizeof(a))using namespace std;const LL MOD=1e9+7;const int MAX=1e5+7;int n,m,k;LL a[MAX];LL x;LL an;int l,r;int main(){ while(~scanf("%d%d%d",&n,&m,&k)) {a[0]=0; x=1; for(int i=1;i<=n;i++) { x=x*(LL)(k-1)%MOD; a[i]=(x-a[i-1]+MOD)%MOD; } while(m--) { scanf("%d%d",&l,&r); an=k*a[abs(r-l)-1]%MOD*a[n-(abs(r-l)+1)]%MOD; printf("%lld\n",an); } }}
0 0
- Hmz 的女装 (模拟,递推)
- Hmz 的女装 详细题解
- HAUTOJ 1265 Hmz 的女装
- HAUTOJ 1265 Hmz 的女装
- haut 1265: Hmz 的女装(DP)@
- hautoj 1265 Hmz 的女装 【dp】
- 2017河南工业大学校赛 F Hmz 的女装
- [HDU个人排位赛二 1006] Hmz 的女装 【DP】
- [GDOI2017模拟]最大值(贪心+递推)
- [校内模拟]One(递推)
- poj1661(递推+模拟)
- hdu6130_Kolakoski_模拟递推
- [福州三中NOIP模拟赛]女装
- 简单的递推模拟:How many days?
- 【递推】【NOIP模拟】彩灯的问题 Lights
- 菱形内的计数 jzoj 1404 模拟+递推
- HDU 2563 统计问题(简单递推/模拟)
- 【NOIP 模拟题】中位数(规律+递推)
- C#索引器学习笔记
- iOS 基于LFLiveKit + ijkplayer + rtmp 推拉流
- MATLAB实现控制系统的时域分析
- flannel 实战与源码分析(七)
- [AHK]SubStr
- Hmz 的女装 (模拟,递推)
- Ubuntu服务器下apache2无法解析html中的php代码的问题
- oracle中timestamp和Date类型的转换
- 安卓中的两种设计模式:单例模式,观察者模式
- 第四讲:index6apply&watch.html
- 正则表达式
- 关于java引用
- JVM调优总结-调优方法
- 直播协议的选择:RTMP vs. HLS