bzoj 2751(快速幂+乘法原理)
来源:互联网 发布:sql linq lambda 编辑:程序博客网 时间:2024/06/06 19:40
传送门
没时间写题解了。。。hfu老师要求22点前总结计划,大概就是表示出一般情况的答案(乘法原理),然后有限制/无限制分开计算,最后乘在一起。
转一篇别人的题解:http://www.cnblogs.com/Beckinsale/p/7488874.html
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int MAXN=1e5+4;const ll MOD=1e9+7;struct Limit { int x,y; friend bool operator <(const Limit &a,const Limit &b) { return a.x==b.x?a.y<b.y:a.x<b.x; }}a[MAXN];int k;ll n,m,s[MAXN],sum,ans=0,cnt=0;ll fpow(ll a,ll b,ll p) { ll ret=1; while (b) { if (b&1) ret=ret*a%p; b>>=1,a=a*a%p; } return ret;}int main() { scanf("%lld%lld%d",&n,&m,&k); sum=(n*(n+1)>>1)%MOD; for (int i=1;i<=k;++i) scanf("%d%d",&a[i].x,&a[i].y); sort(a+1,a+k+1); for (int i=1;i<=k;++i) { if (a[i].x^a[i-1].x) s[++cnt]=sum; else if (a[i].y==a[i-1].y) continue; s[cnt]=(s[cnt]-a[i].y+MOD)%MOD; } ans+=fpow(sum,m-cnt,MOD); for (int i=1;i<=cnt;++i) ans=ans*s[i]%MOD; printf("%lld\n",ans); return 0;}
阅读全文
0 1
- bzoj 2751(快速幂+乘法原理)
- BZOJ 1008 - HNOI 2008 越狱 乘法原理 快速幂
- *【bzoj 1008】越狱(乘法原理)
- BZOJ-2875 随机数生成器 矩阵乘法快速幂+快速乘
- BZOJ-2326 数学作业 矩阵乘法快速幂+快速乘
- bzoj 1123 tarjan+乘法原理
- bzoj 1016 kruscal+乘法原理
- 【bzoj】3329: Xorequ 【DP】【快速幂&&矩阵乘法】
- BZOJ-1875 HH去散步 DP+矩阵乘法快速幂
- 快速幂&&快速乘法
- 快速幂 快速乘法
- 快速幂+快速乘法
- 快速乘法-快速幂
- 【乘法原理】【HNOI 2008】【bzoj 1008】越狱
- Xn数列(矩阵乘法+快速幂+慢速乘法)
- 快速幂和快速乘法
- 快速幂与快速乘法
- hdu1575(矩阵乘法快速幂)
- IDEA使用小技巧
- JDK 9新特性汇总
- php 启动警告
- GitHub——我愿意迷失在其中
- 群面
- bzoj 2751(快速幂+乘法原理)
- 社会网络中的影响力最大化问题
- 以空间换时间的排序(不发生交换的排序)
- 数据结构第一章实验
- Java练习
- DAY 3 小白菜oj 1122
- caffe中参数含义solver文件<二>
- 笔记9 | 使用wifi连接adb打印数据
- JavaWeb