描述:

OI太可怕了,我决定回家种田。
我在后院里开辟了一块圆形的花圃,准备种花。种花是一种艺术,通过一定技术手法,花材的排列组合会让花变得更加的赏心悦目,这就是花艺。
当然你知道,我在种田之前是OIer,所以我不懂花艺,只会排列组合。我把花圃从圆心向外画线,分成了N块扇形,分别编号为1,2,3.....N,再从村里的商店采购了M种花。然后我大胆的决定:花圃中的每块只种M种花中的一种,相邻的两块不能种同一种花。我反应比较慢,所以我请来了机房里手速最快的强袭黯灭勋章鱼人守卫来帮我,让他试一下每种排列,看看哪种最令人赏心悦目。
有一些人,他们的美丽就在身边,也许就在自己身上,像艺术家一样,他们的眼光独到特别,可就因为他们不是艺术家,他们不被人们认可,被称之为另类。简单真实的事情总可以绽放最鲜艳的花,我欣赏这样的人的心理,当然拒绝粗鲁地对待一切。
正想着,他居然告诉我已经尝试完了。这怎么可能?这可一共有.......多少种方案来着?
众所周知的是,我的智商很低。
我想知道种花的方案一共有几种。

输入:

仅一行,包含两个整数,分别为N和M。

输出:

仅一行,包含一个整数,表示方案数。这个数可能很大,你只需要输出这个数对1000000007取模的结果。

样例输入:

3 3

样例输出:

6

数据范围:

对于20%的数据,0<N≤5,1<M≤5
对于60%的数据,0<N≤500,000
对于100%的数据,0<N≤10^18,1<M≤10^9

【思路】

其实这种一看就知道有结论或者有公式的题,最佳的做法就是先打出暴力程序,然后把暴力的结果用表格或者图像表示出来

然后你会惊奇的发现,你要的和你不要的东东都出现在图纸上了,然后你就可以愉快的开始推公式结论了

然后愉快的公式就跃然纸上。。。。

至于推这个公式,其实可以用数列推的,不过我没有那么做,我是先假设m=3,然后n在变换,推出公式,没错当m固定时,推出公式就明显是一道数学题了,接着对4进行推导,然后猜测m是未知数的情况并举例(时间不足才这样做,时间充足最好认真梳理并推导)

最后的结果就是(m-1)^n+(m-1)*(-1)^n;

到这里方法就很明显了,就是把n,m带进去,但是要注意一点,就是n是10^18次方这个范围,直接处理会爆掉,所以可以选择快速幂

快速幂的模板是

1 int pow(int x,int y){
2         int ans=1;
3     while(y){
4         if(y&1)ans*=x;
5         x*=x;y>>=1;
6     }
7         return ans;
8 }

快速幂模板

然后这题就完了,直接输出即可,记得随时运算随时取模哦

 1 #include<iostream>
 2 #define mod 1000000007
 3 using namespace std;
 4 long long n,m,f;
 5 long long pow(long long x,long long y){
 6         long long ans=1;
 7     while(y){
 8         if(y&1)ans=((ans%mod)*(x%mod))%mod;
 9         x=((x%mod)*(x%mod))%mod;
10                 y>>=1;
11     }
12         return ans;
13 }
14 int main(){
15     cin>>n>>m;//(m-1)^n+(m-1)*(-1)^n
16     if(n==1){cout<<m;return 0;}
17     if(n&1)f=-1;else f=1;
18     long long ans=((f%mod)*((m-1)%mod))%mod;
19     long long sum=pow(m-1,n)%mod;
20     cout<<(ans+sum+mod)%mod;
21 }

正片

转载于:https://www.cnblogs.com/Danzel-Aria233/p/7729223.html

[noip模拟]种花快速幂+结论相关推荐

  1. 20181023(模拟+矩阵快速幂及推公式+最短路+不知道什么DP)

    NOIP欢乐%你赛 1. 小澳的方阵 (matrix.cpp/c/pas) [题目描述] 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局. 他努力 ...

  2. 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)

    传送门 首先按照题意构造出转移矩阵. 然后可以矩阵快速幂求出答案. 但是直接做是O(n3qlogm)O(n^3qlogm)O(n3qlogm)的会TTT掉. 观察要求的东西发现我们只关系一行的答案. ...

  3. NOIP模拟题 2016.11.15 [LIS] [spfa] [同余最短路] [矩阵快速幂] [容斥原理] [数学]

    小L的二叉树 [题目描述] 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 在计算机科学中,二叉树是每个结点最多有两个 ...

  4. 牛客网练习赛44-B(快速幂+模拟)

    题目链接:https://ac.nowcoder.com/acm/contest/548/B 题意:计算m/n小数点后k1位到k2位,1≤m≤n≤109,1<=k1<=k2<=109 ...

  5. 8.13模拟:分治二分倍增快速幂

    文章目录 前言 考场 复盘 T1 road T2 shop T3 run T4 stairs 总结 前言 240分 100+80+20+40 T3少取了一个模结果全挂掉了(好不容易推出来了-) T2也 ...

  6. 10.02 T3 打表找递推式+十进制快速幂 九校联考凉心模拟DAY1T1

    题目背景 金企鹅同学非常擅长用1*2的多米诺骨牌覆盖棋盘的题.有一天,正 在背四六级单词的他忽然想:既然两个格子的积木叫"多米诺(domino)",那 么三个格子的的积木一定叫&q ...

  7. 【jzoj5078】【GDOI2017第三轮模拟day2】【魔法咒语】【ac自动机】【矩阵快速幂】

    题目大意 解题思路 对非法串构ac自动机,对于l较小的情况,设f[i][j]表示长度为i,在ac自动机上j点的方案数,直接dp即可. 对于加入串len<=2的情况,对于每个j拆成两个点矩阵快速幂 ...

  8. [CSP-S模拟测试]:涂色游戏(DP+组合数+矩阵快速幂)

    题目描述 小$A$和小$B$在做游戏. 他们找到了一个$n$行$m$列呈网格状的画板.小$A$拿出了$p$支不同颜色的画笔,开始在上面涂色.看到小$A$涂好的画板,小$B$觉得颜色太单调了,于是把画板 ...

  9. [3.3训练赛]One-Dimensional(矩阵快速幂),Freda的迷宫(无向图强连通分量+并查集),一道防AK好题

    文章目录 T1:One-Dimensional title solution code T2:[NOIP模拟赛]Freda的迷宫 title solution code T3:[NOIP模拟赛]一道防 ...

最新文章

  1. ASP.NET小收集:IFrame使用
  2. NBJL 2020论文导读14:How Much Position Information Do Convolutional Neural Networks Encode ?
  3. 那些伤害不大,侮辱性极强的瞬间
  4. 8 种最坑的 SQL 错误用法,你有没有踩过坑?
  5. WPF Tile=” 变量 UI 双向绑定”x:Class=Problem/
  6. mPaaS小程序技术架构深度解析
  7. Pytorch 版YOLOV5训练自己的数据集
  8. RSA算法原理简介,非对称加密,公开密钥算法(易懂篇)
  9. Atom飞行手册翻译: 3.1 ~ 3.2
  10. HDU-2082 找单词 母函数
  11. 14-2 正则表达式
  12. linux:记录一次 处理tomcat启动卡死无报错现象的曲折过程
  13. git jenkins 子目录_在Jenkins中,如何将项目签出到特定目录(使用GIT)
  14. atitit.atitit.hb many2one relate hibernate 多对一关联配置..
  15. BZOJ5369:[PKUSC2018]最大前缀和(状压DP)
  16. 利用数据库在java实现已读未读消息公告
  17. 心形函数的正确打开方式(Unity3D Shader)
  18. C++小系统——餐馆员工管理系统及餐馆点菜系统(一)
  19. IDEA 快速复制、剪切当前行
  20. 虚拟同步发电机_测量虚拟同步发电机惯量与阻尼系数的新方法

热门文章

  1. 罗湖区全面实行政府合同数字化管理
  2. 数据挖掘算法——序列模式
  3. 【毕业设计】基于单片机的酒驾检测仪 - stm32 物联网 酒精检测
  4. MTK 3G/4G行业设备解决方案MTK8735 核心板4G 全网通4核64位 物联网方案LTE模块
  5. 徽章 css_蓝色徽章
  6. Node Pacific专访:做节点需要怎样一种格局?
  7. $L^p$ 调和函数恒为零
  8. Clojure的recur
  9. 用计算机做表格的超链接,如何在Excel中插入”超链接”功能
  10. 精神病学名词解释及问答题重点