程序地带

CG的通关秘籍————牛客


题目描述

CG最喜欢玩的就是拼图游戏,但是他已经通关了所有拼图游戏,感觉拼图游戏已经没有了任何的乐趣。所以今天他选择玩填数游戏。


CG每次填一个的数到当前位置,如果这个位置填的数比上一次填的数要大,形成顺序,他的兴奋度会增加1点,如果这个数比上一次填的数要小,形成逆序,他的兴奋度会增加2点,如果两个数相等,那么什么都不会发生。(如果是第一次填数,同样不会发生任何事情)


CG认为如果已知他n次填的数,计算出当他填了n个数之后的兴奋度太简单了,所以想要你帮他计算一下他所有填数方案的兴奋度之和。


由于这个结果过大,将这个结果取模MOD=1e9+7。


输入描述: 第一行输入一个正整数t(t<=106)表示输入组数。 接下来t行,每行有一个n,m(2<=n<=106,1<=m<=106)n,m(2<=n<=106,1<=m<=106),n表示每次填数次数,m表示填数范围。 输出描述: 对于每一组数组,输出所有填数方案的兴奋度之和。


输入


1
2 2

输出


3
#include<iostream>
#include<cstdio>
using namespace std;
const int MOD=1e9+7;
typedef long long ll;
ll _pow(ll n,ll m)
{
ll sum=1,s=m;
while(n){
if(n&1)sum*=s;
sum%=MOD;
n/=2;
s*=s;
s%=MOD;
}
return sum;
}
int main()
{
int t;
cin>>t;
while(t--){
ll n,m;
scanf("%lld %lld",&n,&m);
ll sum=_pow(n-2,m)*((3*(m-1)*m*(n-1)/2)%MOD);
printf("%lld ",sum%MOD);
}
}

链接:https://ac.nowcoder.com/acm/contest/10845/C 来源:牛客网


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

随机推荐

kubernetes集群搭建-CentOS7

kubernetes集群搭建(kubernetesv1.20.0)1.准备基本环境1.1一台或多台安装了以下系统的物理机或者虚拟机Ubuntu16.04+Debian9+CentOS7...

shangqing.liu 阅读(492)

python进程管理工具 ci_六款不容错过的开源持续集成工具

持续集成是敏捷软件开发工作当中的一大组成部分。从一轮冲刺到下一轮冲刺,技术团队在“不断前进”的同时持续推出各类增量化功能。不过当开发人员高度专注于添加功能的同时,代码错误有...

weixin_39546520 阅读(470)

python的模块名_python之模块

一、什么是模块?模块就是一系列功能的集合体,分为三大类:I:内置的模块:例如input,print等II:第三方的模块࿱...

weixin_39613951 阅读(675)

python can总线_python-can 的使用

最近在搞websocket,服务端是用python写的,所以,我需要用python控制can去传输相关信息。python-can模块就是python控制can的模仿。利用b...

weixin_39769627 阅读(714)

python总线 rabbitmq_python - 操作RabbitMQ

介绍RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循MozillaPublicLicense开源协议。MQ全称为MessageQueue,消息队列(MQ)是一种...

weixin_39572764 阅读(984)

rocketmq python消息堆积_RocketMq重复消费问题排查

前情出现了重复消费的问题,同一个消息被重复消费了多次,导致了用户端收到了多条重复的消息,最终排查发现,是因为消费者在处理消息的方法onMessa...

weixin_39878549 阅读(626)