hdoj 6050(2017 Multi-University Training Contest - Team 2) Funny Function
2017-08-29 20:27
549 查看
题目链接:Funny Function
题目大意:给定一个公式,算某项
题目思路:暴力打表,然后找规律
![](http://images2017.cnblogs.com/blog/1024250/201707/1024250-20170728122146930-1663068564.png)
然后直接快速幂套板子就好了,记得算逆元(不过这规律一点也不好找。。。。)听说可以写矩阵快速幂,不过不会推出题人的公式,就不写了
题目大意:给定一个公式,算某项
题目思路:暴力打表,然后找规律
![](http://images2017.cnblogs.com/blog/1024250/201707/1024250-20170728122146930-1663068564.png)
然后直接快速幂套板子就好了,记得算逆元(不过这规律一点也不好找。。。。)听说可以写矩阵快速幂,不过不会推出题人的公式,就不写了
#include <map> #include <cmath> #include <queue> #include <stack> #include <vector> #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> using namespace std; typedef long long ll; const int mod = 1e9+7; ll quick_mod(ll a,ll b,ll mod) { ll ans = 1; while(b) { if(b&1) ans = (ans*a)%mod; a = (a*a)%mod; b >>= 1; } return ans; } int main(){ int t; ll n,m; scanf("%d",&t); while(t--){ scanf("%lld%lld",&n,&m); if(n&1){ ll ans = (quick_mod(quick_mod(2,n,mod)-1,m-1,mod)*2%mod+1)%mod*quick_mod(3,mod-2,mod)%mod; printf("%lld\n",(ans+mod)%mod); } else{ ll ans = quick_mod(quick_mod(2,n,mod)-1,m-1,mod)*2%mod*quick_mod(3,mod-2,mod)%mod; printf("%lld\n",(ans+mod)%mod); } } return 0; }
相关文章推荐
- HDU 6050 Funny Function(构造矩阵+推公式)——2017 Multi-University Training Contest - Team 2
- 2017 Multi-University Training Contest 2 && HDOJ 6050 Funny Function 【思维+快速幂】
- HDU 6050 - Funny Function | 2017 Multi-University Training Contest 2
- 2017 Multi-University Training Contest - Team 2 :1006 Funny Function(找规律+逆元+快速幂取模)
- hdoj 6058(2017 Multi-University Training Contest - Team 3) Kanade's sum
- 2017 Multi-University Training Contest - Team 1 1006 Function
- hdoj 6060(2017 Multi-University Training Contest - Team 3) RXD and dividing
- hdoj 6063(2017 Multi-University Training Contest - Team 3) RXD and math
- 2017 Multi-University Training Contest - Team 1 1006&&HDU 6038 Function【DFS+数论】
- hdoj 6066(2017 Multi-University Training Contest - Team 3) RXD's date
- 2017 Multi-University Training Contest - Team 1(hdu 6038 Function)
- hdoj 6045(2017 Multi-University Training Contest - Team 2) Is Derek lying?
- 2017 Multi-University Training Contest - Team 1 1006 Function(思维 循环节)
- 2017 Multi-University Training Contest - Team 1--1006 Function
- 2017 Multi-University Training Contest 1 && HDOJ 6038 Function 【强连通找环】
- hdoj 6047( 2017 Multi-University Training Contest - Team 2) Maximum Sequence
- 2017 Multi-University Training Contest - Team 1 Function
- HDU-6038 Function - 2017 Multi-University Training Contest - Team 1(构造置换或强连通分量)
- 2017 Multi-University Training Contest - Team 1 :Function
- hdoj 6053(2017 Multi-University Training Contest - Team 2) TrickGCD