【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂
先考虑k=0的情况
那么第一个元素可能为[1,n] 如果序列长度为m-1时的答案是ans[m-1]
那么合并得
然后同理答案就是
k很小 而且顺序可以随便交换
排序暴力减去就好了
/* http://www.cnblogs.com/karl07/ */
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std; const int P=;
int n,m,k,cnt=,sum,ans=;
struct data{int x,y;}d[];
int Q_pow(int x,int y){
int ans=;
while (y){
if (y&) ans=1ll*ans*x%P;
x=1ll*x*x%P;
y=(y>>);
}
return ans;
}
bool oper(data a,data b) {return ((a.x<b.x) || (a.x==b.x && a.y<b.y));} int main(){
scanf("%d%d%d",&n,&m,&k);
sum=1ll*n*(n+)/%P;
for (int i=;i<=k;i++){
scanf("%d%d",&d[i].x,&d[i].y);
}
sort(d+,d+k+,oper);
d[k+].x=-;
d[k+].y=;
for (int i=,s=1ll*(sum-d[].y+P)%P;i<=k+;i++){
if (d[i].x!=d[i-].x) {ans=1ll*ans*s%P; s=sum; cnt++; }
if (d[i].y!=d[i-].y || d[i].x!=d[i-].x) s=(s-d[i].y+P)%P;
}
printf("%lld\n",1ll*ans*Q_pow(sum,m-cnt)%P);
return ;
}
这么水的题想了半天。。没有调整负数WA了几发。。药丸。。
【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂的更多相关文章
- BZOJ2751: [HAOI2012]容易题(easy)
2751: [HAOI2012]容易题(easy) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 872 Solved: 377[Submit][S ...
- 【bzoj2751】[HAOI2012]容易题(easy) 数论,简单题
Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下:有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取哪 ...
- 2018.11.07 bzoj2751: [HAOI2012]容易题(easy)(组合数学)
传送门 组合数学一眼题. 感觉一直做这种题智商会降低. 利用组合数学的分步计数原理. 只用关心每个数不被限制的取值的总和然后乘起来就可以了. 对于大部分数都不会被限制,总和都是n(n+1)2\frac ...
- BZOJ 2751: [HAOI2012]容易题(easy) 数学
2751: [HAOI2012]容易题(easy) 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2751 Description 为了使 ...
- BZOJ 2751: [HAOI2012]容易题(easy)( )
有限制的最多就K个, 所以我们处理一下这K个就行了. 其他可以任选, 贡献都是∑i (1≤i≤N), 用快速幂. ------------------------------------------- ...
- 2751: [HAOI2012]容易题(easy)
2751: [HAOI2012]容易题(easy) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1087 Solved: 477[Submit][ ...
- ACM数论-快速幂
ACM数论——快速幂 快速幂定义: 顾名思义,快速幂就是快速算底数的n次幂.其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高. 原理: 以下以求a的b次方来介绍: 把b转换成 ...
- hdu4565 So Easy! 矩阵快速幂
A sequence Sn is defined as: Where a, b, n, m are positive integers.┌x┐is the ceil of x. For example ...
- BZOJ2751 [HAOI2012]容易题
Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取 ...
随机推荐
- [转载]网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN
offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能.offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做,降低系统 CPU ...
- jdk中那些常见的类不能被继承的
对于java中的类,如果是使用final修饰的话,那么这个类就不能够被继承,因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户 继承时操作有误,很可能引入很多问题.为了防止用户对基 ...
- 2015.1.8 Left join 左连接
格式 select f1.a, f2.b form f1 left jion f2 on .... 注意:左边的查询部分只能有select和from,不能出现where order by等.若有必须在 ...
- sqlplus 设置显示格式
使用sqlplus查询显示结果,显示很乱,下面有种方法可以让她显示的更好看些.1.设置显示的宽度:设置前可以先查看当前宽度: SQL> show linesize;linesize 100SQL ...
- 使用AJAX异步提交表单的几种方式
方式一 手工收集所有的用户输入,封装为大的“k1=v1&k2=v2…”键值对形式,使用$.post(url, data,fn)把数据提交给服务器 $.ajax({ type:'post', u ...
- LINUX oracle dbca无法启动
LINUX操作系统中执行DBCA无法启动 方法:执行以下命令后再执行DBCA xhost +
- CentOS7下安装pip和pip3
1.首先检查linux有没有安装python-pip包,直接执行 yum install python-pip 2.没有python-pip包就执行命令 yum -y install epel-rel ...
- android json解析(JSONObject方法实现)
今天刚刚学到json解析,看了一整天,大概了解到json就是你通过一个API(我用的聚合数据的API)发送一个请求,接着会收到json数据,比如说天气预报吧,他会给你发送一大段字符串,大概是未来几天的 ...
- Entity Framework Tutorial Basics(17):DBSet Class
DBSet Class DBSet class represents an entity set that is used for create, read, update, and delete o ...
- WordCount-软件测试初体验
github:https://github.com/skz12345/WordCount PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 40 60 · Esti ...