BZOJ 2751 容易题
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2751
题意:有一个数列A已知对于所有的A[i]都是1到n的自然数,并且知道对于一些A[i]不能取哪些值,我们定义一个数列的积为该数列所有元素的乘积,求出所有可能的数列的积的和。
思路:假设没有限制不能取哪些值,那么答案ans为:
现在有了限制,那么有限制的那些位置不再是1到n的数字之和,而是除去某些数字,因此对于那些位置专门计算它们的和,再乘起来,没有限制的位置设有x个,则再乘以sum^x即可。
i64 a[N];
map<int,int> mp;
set<i64> S;
int n,m,K;
i64 mul(i64 a,i64 b)
{
if(b<0) b=(b%mod+mod)%mod;
i64 ans=0;
while(b)
{
if(b&1) ans=(ans+a)%mod;
a=(a+a)%mod;
b>>=1;
}
return ans;
}
i64 Pow(i64 a,i64 b)
{
i64 ans=1;
while(b)
{
if(b&1) ans=mul(ans,a);
a=mul(a,a);
b>>=1;
}
return ans;
}
int main()
{
RD(n,m,K);
int x,y,id=0;
i64 t;
while(K--)
{
RD(x,y);
t=(i64)x*INF+y;
if(S.find(t)!=S.end()) continue;
S.insert(t);
if(mp.count(x)==0) mp[x]=++id;
(a[mp[x]]+=y)%=mod;
}
i64 ans=1,s=(i64)n*(n+1)/2%mod,i;
FOR1(i,id) ans=mul(ans,s-a[i]);
ans=mul(ans,Pow(s,m-id));
PR(ans);
}
BZOJ 2751 容易题的更多相关文章
- BZOJ 2751 容易题(easy) 快速幂+快速乘
2751: [HAOI2012]容易题(easy) Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下:有一个数列A已知对于所有的A[i] ...
- bzoj 前100题计划
bzoj前100题计划 xz布置的巨大的坑.. 有空填题解... 1002 轮状病毒 用python手动matrixtree打表. #include<bits/stdc++.h> #def ...
- BZOJ的思维题
5085:最大 给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形 的价值. 关键点是要想到把这些值排序 值从小到大考虑,比如说现在最小的值是(x1 ...
- 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), 用快速幂. ------------------------------------------- ...
- bzoj 2751 [HAOI2012]容易题(easy)(数学)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2751 [题意] m个位置,已知每个位置的可能取值,问所有可能情况的每个位置的乘积的和. ...
- BZOJ 2683: 简单题
2683: 简单题 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 913 Solved: 379[Submit][Status][Discuss] ...
- bzoj 4066: 简单题 kd-tree
4066: 简单题 Time Limit: 50 Sec Memory Limit: 20 MBSubmit: 234 Solved: 82[Submit][Status][Discuss] De ...
- bzoj 2510: 弱题 循环矩阵
2510: 弱题 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 124 Solved: 61[Submit][Status][Discuss] De ...
随机推荐
- 设计模式之装饰模式(Decorator)
装饰模式原理:给对象增加特性,这种特性是一种累加的效果 代码如下 #include <iostream> #include <string> #include <list ...
- 双栈排序 noip2008
首先可以看出第一个栈和第二个栈是没什么交集的,那么第一步是对这些元素分别归到两个栈里, 当存在k使i<j<k,a[k]<a[i]<a[j]时,i,j是不能放在一个栈里的,需要一 ...
- 社区O2O,才是未来10年移动互联网最赚钱的项目
原文:http://blog.sina.com.cn/s/blog_70e76a920102uyoi.html 8月12日 上海 晴 从深圳回来后,一直和郭老师探讨一个问题:新媒体营销未来最大的市 ...
- 安装成功的nginx如何添加未编译安装模块
原已经安装好的nginx,现在需要添加一个未被编译安装的模块举例说明:安装第三方的ngx_cache_purge模块(用于清除指定URL的缓存)nginx的模块是需要重新编译nginx,而不是像apa ...
- HDU 4825 Xor Sum(二进制的字典树,数组模拟)
题目 //居然可以用字典树...//用cin,cout等输入输出会超时 //这是从别处复制来的 #include<cstdio> #include<algorithm> #in ...
- HDU 1828 / POJ 1177 Picture (线段树扫描线,求矩阵并的周长,经典题)
做这道题之前,建议先做POJ 1151 Atlantis,经典的扫描线求矩阵的面积并 参考连接: http://www.cnblogs.com/scau20110726/archive/2013/0 ...
- POJ 2041
#include <iostream> #include <string> #include <algorithm> using namespace std; st ...
- Javascript 正则表达式笔记2
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- C#保留小数位数
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); prov ...
- 李洪强iOS开发之OC[011] - 有参方法的声明实现以及调用练习