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 ...
随机推荐
- 使用feof()函数判断文件是否结束
课本上时这样写的:(用putchar(ch);代表对取出来的字符的处理.) while(!feof(fp)) { ch=fgetc(fp); putchar(ch); } 但是,这样写的话,fgetc ...
- 常用的CSSreset整理
说道CSSreset,大家又爱又恨,cssreset好处是,覆盖了浏览器的默认样式,使前端攻城狮能更加精确的添加样式,各个浏览器中的界面效果都相同.可是大量的.固定的CSSreset也给网页加载带来一 ...
- 在 Java 中如何更高效地存储和管理 SQL 语句?
[编者按]还在为管理 Java 代码中的 SQL 语句而烦恼吗?让 Zemian 帮你摆脱困境吧!本文系 OneAPM 工程师编译整理 注意:使用java.util.Properties#loadFr ...
- git的安装使用和代码自动部署
1.安装 http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html http://www.cnblogs.com/zhcncn ...
- 十大技巧优化Android App性能
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的. 那么,如何能开发出更高性能的Android App?相信是软 ...
- Quant面试准备5本书
Heard on The Street: Quantitative Questions from Wall Street Job Interviews - Timothy Falcon Crack F ...
- 在Vista或Windows 7系统上安装Sharepoint 2007
在Vista或Windows 7系统上安装Sharepoint 2007 2010-03-05 18:53:19| 分类: 技术文章|字号 订阅 SharePoint 2007 不能直接安装 ...
- mysql 存储过程事务
DECLARE t_error INTEGER DEFAULT ; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=; START TRAN ...
- POJ 1870 Bee Breeding(找规律)
题目链接 题意 : 给你一个蜂巢状图形,让你找出两个点之间的距离. 思路 : 在做这个题之前可以看一下2265,因为是一种题来着,规律就是我在2265里写的那样,然后就是求距离了,求距离的时候只需考虑 ...
- poj 2349(最小生成树应用)
题目链接:http://poj.org/problem?id=2349 思路:由于有S个专门的通道,我们可以先求一次最小生成树,然后对于最小生成树上的边从大到小排序,前S-1条边用S-1个卫星通道连接 ...