2月24日考试——ZYYS
LSGJ zyys 战队的 CYA 小垃圾,被各位神佬出的题目搞得心态爆炸。于是他模仿了蔡老师给了你两个整数 n 和 m .让你计算字母表大小为 m ,(即可用 m 个字母)长度为 n ,不存在长度至少为 2 的回文子串的字符串个数.
输入格式
第一行一个数 T 表示数据组数.
接下来每行两个数 n 和 m .
输出格式
T 行,每行一个答案,对 10^9+7 取模
输入输出样例
zyys.in
2
56
65
zyys.out
1920
1620
说明
对于 10% 的数据,保证 n, m ≤ 5 .
对于 30% 的数据,保证 n, m ≤ 20 .
对于 50% 的数据,保证 n, m ≤ 500 .
对于 70% 的数据,保证 n, m ≤ 100000 .
对于 90% 的数据,保证 n, m ≤ 1∗10 ^9 .
对于 100% 的数据,保证 n, m ≤ 1*10 ^18 , T≤ 50 .
因为是一道很类似的题目&&ZYYS,所以没有小样例。[手动滑稽]
Solution:
巨说是水题,但是也有蛮多人没写出来。
思路是组合数学,类似与HNOI越狱这道题。首先解释下题意(由于题面确实不清楚),本题求的是用m个不同的物品排列成长度为n的序列,物品可以无限量使用,但是不能排出有长度至少为2的回文子序列的序列,求方案数。
首先,考虑拥有长度至少为2的回文子序列的序列的性质:包含类似‘aa’(某个字符和下一个字符相同)的子序列或类似‘aba’(某个字符和下下个字符相同)的子序列。
于是由上述性质我们想到此题,要构造长度为n的满足题意的序列,则第一个位置可以放m种,而第二个位置可以放m-1种,而剩下的n-2个位置中的每个位置都只能放m-2种。
由乘法原理我们得到结论:满足条件的方案数=m*(m-1)*(m-2)n-2
注意:此题要开long long,且取模需要快速幂。
代码:
#include<bits/stdc++.h>
#define ll long long
#define il inline
using namespace std;
const ll mod=;
il ll fast(ll x,ll k)
{
if(x<)return ;
ll ans=;x%=mod;
while(k)
{
if(k&)ans=ans*x%mod;
x=x*x%mod;k>>=;
}
return ans;
}
int main()
{
ll t,n,m;scanf("%lld",&t);
while(t--){
scanf("%lld%lld",&n,&m);
if(n==)printf("%lld\n",m%mod);
else printf("%lld\n",(((m%mod)*((m-)%mod))%mod*fast(m-,n-))%mod);
}
return ;
}
2月24日考试——ZYYS的更多相关文章
- 1月24日考试(ftp密码)
错因分析 ♦对文件的保存不够恰当,例如第一题和第三题的题目,我是真的很愤怒,第一题在我写了一个多小时,终于样例成功.可是当我再一次打开文件时,里面只有我最开始的代码,谁可以告诉我这是为什么(我绝对保存 ...
- SQL PASS将于8月24日在北京中医药大学举办线下活动
活动主题:复制架构的实现和调优以及SQL Server BI在传统行业的应用 地点:北三环东路11号 北京中医药大学 白色的1号楼教学楼后楼5层511房间 时间:2013年8月24日 9:00-12: ...
- 2016年12月24日 星期六 --出埃及记 Exodus 21:19
2016年12月24日 星期六 --出埃及记 Exodus 21:19 the one who struck the blow will not be held responsible if the ...
- 2016年11月24日 星期四 --出埃及记 Exodus 20:15
2016年11月24日 星期四 --出埃及记 Exodus 20:15 "You shall not steal.不可偷盗.
- 2016年10月24日 星期一 --出埃及记 Exodus 19:8
2016年10月24日 星期一 --出埃及记 Exodus 19:8 The people all responded together, "We will do everything th ...
- 2016年6月24日 星期五 --出埃及记 Exodus 14:21
2016年6月24日 星期五 --出埃及记 Exodus 14:21 Then Moses stretched out his hand over the sea, and all that nigh ...
- 6月24日AppCan移动开发者大会礼品清单遭泄露
6月24日,第一届AppCan移动开发者大会将在北京国际会议中心举办,大会以”平台之上,应用无限”为主题,全景展现移动应用发展趋势.AppCan 移动技术蓝图及80万开发者的技术实践成果. 大会现场礼 ...
- 2018年3月24日上海MVP线下技术交流活动简报
2018年3月24日下午,几位上海MVP自发组织了一次线下的技术交流会,主要由MVP胡浩牵头,我(陈晴阳).刘鑫.朱兴亮和胡浩各自做了一次主题演讲,具体主题是: 陈晴阳:<这还是我认识的Visu ...
- 北京Uber优步司机奖励政策(4月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
随机推荐
- [agc006F]Blackout
Description 传送门 Solution 这道题的操作是真的得服气..感谢各位大佬的指导. 首先我们看看答案的最大值:1010.哦不,这不可能存在,我们肯定不可能一轮轮枚举点进行扩展的. 所以 ...
- 暗通道去雾算法的python实现
何凯明博士的去雾文章和算法实现已经漫天飞了,我今天也就不啰里啰唆,直接给出自己python实现的完整版本,全部才60多行代码,简单易懂,并有简要注释,去雾效果也很不错. 在这个python版本中,计算 ...
- Entity Framework中执行Sql语句
如果想在EF框架中执行Sql语句,其实很简单,EF里面已经提供了相关的方法(此处使用的EF为EF4.1版本). EF中提供了两个方法,一个是执行查询的Sql语句SqlQue ...
- Hibernate5使用注解方式(转)
用Hibernate5使用映射文件时存在一个问题没有解决,在映射文件中配置了student_sequence,但找不到映射文件自增长的序列的sequence(Oracle)数据库. 输出的是 Hibe ...
- 【jQuery学习】用JavaScript写一个输出多选框的个数报错:Cannot set property 'onclick' of null"
说明:代码段来源于:<锋利的jQuery> 根据代码段我补充的代码如下: <!DOCTYPE html> <html> <head> <meta ...
- QML和JS引擎的关系以及调用c++函数的原理
首先推荐几篇博客 1.深入解析QML引擎, 第1部分:QML文件加载 https://www.cnblogs.com/wzxNote/p/10569535.html 2.深入解析QML引擎, 第2部分 ...
- php小项目小结
最近一直断更,并不是出于什么问题,而是想找个合适的机会去整理下html基本的一些琐碎的知识点 近期突发感冒,吊水,吊错药,原因只是重名重姓,这不是个梗,很是痛苦的现实事故 so,只能用剩下的半天去完成 ...
- html查漏补缺之meta标签
什么是meta标签? meta标签是html标记head区的一个关键标签,它位于HTML文档的<head>和<title>之间(有些也不是在<head>和<t ...
- ip route ifconfig 基本命令
1.route命令 route –n route add –net 192.168.2.0/24 dev eth0 route add –net 192.168.2.0 netmask 255.255 ...
- 论文笔记:Fully-Convolutional Siamese Networks for Object Tracking
Fully-Convolutional Siamese Networks for Object Tracking 本文作者提出一个全卷积Siamese跟踪网络,该网络有两个分支,一个是上一帧的目标,一 ...