BZOJ3240 NOI2013矩阵游戏(数论)
2024-10-19 13:08:54
必修五题。
// luogu-judger-enable-o2
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 1000010
#define P 1000000007
int n,m,a[N],b[N],c,d,u,v,p,q,ans,x,y,k,tmp1,tmp2;
int ksm(int a,int k)
{
if (k==) return ;
int tmp=ksm(a,k>>);
if (k&) return 1ll*tmp*tmp%P*a%P;
else return 1ll*tmp*tmp%P;
}
int inv(int x){return ksm((x+P)%P,P-);}
int main()
{
char ch=getchar();
while (ch>=''&&ch<='') k=(10ll*k+(ch^))%(P-),tmp1=(10ll*tmp1+(ch^))%P,ch=getchar();
while (ch<''||ch>'') ch=getchar();
while (ch>=''&&ch<='') p=(10ll*p+(ch^))%(P-),tmp2=(10ll*tmp2+(ch^))%P,ch=getchar();
u=read(),v=read(),c=read(),d=read();
if (u>) p=(p+P-)%(P-),p=ksm(u,p),q=1ll*v*inv(u-)%P*(p+P-)%P;
else tmp2=(tmp2+P-)%P,q=1ll*tmp2*v%P,p=;
x=p,y=q;
p=1ll*p*c%P;q=(d+1ll*c*q%P)%P;
if (p>) k=(k+P-)%(P-),q=1ll*q*inv(p-)%P,p=ksm(p,k),q=1ll*q*(p+P-)%P,ans=(p+q)%P;
else tmp1=(tmp1+P-)%P,ans=(+1ll*tmp1*q)%P;
ans=(1ll*ans*x%P+y+P)%P;
cout<<ans;
return ;
}
最新文章
- DNG格式解析
- [CareerCup] 17.1 Swap Number In Place 互换位置
- Android studio 快捷添加构造方法以及set与get
- [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )
- P364 实战练习(多线程)
- Undefined symbols for architecture i386: ";MyGetOpenALAudioData(__CFURL const*, int*, int*, int*)";
- Struts 2.x仍然明显落后于时代。 Struts 2.x这一类老牌Web MVC开发框架仅能用于开发瘦客户端应用,无法用来开发对于交互体验要求更高的应用。
- 求小于n的素数个数
- PHP 依赖注入和控制反转再谈(二)
- BZOJ1324Exca王者之剑&;BZOJ1475方格取数——二分图最大独立集
- MySQL基本简单操作02
- 教你一招:修复win7 系统自带的截图工具损坏
- Ant build.xml详解
- 排序算法(4)--Selection Sorting--选择排序[1]--Simple Selection Sort--简单(直接)选择排序
- [咸恩静][Love effect]
- windows下清除svn密码
- 【八】将日志写入log(glog)
- 在 Linux 平台下使用 JNI
- Redis系列化方式有哪些?哪个系列化性能最好?
- c++模板实现 linq
热门文章
- Object Relational Mapping框架之Hibernate
- python中面向对象_类_对象的概念与定义
- adb server version (31) doesn&#39;t match this client (39) 解决方案
- 【转】新装的CentOS 7安装python3
- Kubernetes 容器平台实战
- 实现activity跳转动画的若干种方式
- Python3列表中获取相同元素出现位置的下标
- 08-matplotlib-颜色与样式
- nginx正向vs反向代理
- Scrum立会报告+燃尽图(Final阶段第四次)