2751: [HAOI2012]容易题(easy)
题目链接
题目大意:一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取哪些值,我们定义一个数列的积为该数列所有元素的乘积,求出所有可能的数列的积的和
题解:用小数据手玩一下公式,设m=2,第一项可行的取值为 a1,a2 a_1,a_2,第二项可行的取值为 b1,b2 b_1,b_2,有
ans=a1b1+a1b2+a2b1+a2b2=(a1+a2)∗(b1+b2) ans=a_1b_1+a_1b_2+a_2b_1+a_2b_2=(a_1+a_2)*(b_1+b_2)
然后拓展一下,发现答案等于各项可取的数之和的积
由于k很小,有限制的项占少数,暴力算有限制的即可
再把答案乘上 (n∗(n+1)2)num ({n*(n+1)\over 2})^{num},num为无限制的项数
还要去一下重
我的收获:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;#define M 100005
#define P 1000000007
#define pii pair<int,int>
typedef long long ll;int n,m,k,x,y,cnt;
long long tmp,ans=1,a[M];
pii u[M];ll fpow(ll a,int b){ll c=1;a%=P;for(;b;b>>=1,a=(a*a)%P)if(b&1) c=(c*a)%P;return c%P;
}void work()
{ll ret=0;for(int i=1;i<=k;i++){ret+=u[i].second;ret%=P;if(i==k||u[i].first!=u[i+1].first){ans=ans*((tmp-ret+P)%P)%P;ret=0;cnt++;}}ans=ans*fpow(tmp,m-cnt)%P;cout<<ans<<endl;
}void init()
{cin>>n>>m>>k;for(int i=1;i<=k;i++){scanf("%d%d",&x,&y);u[i]=make_pair(x,y);}sort(u+1,u+1+k);k=unique(u+1,u+1+k)-(u+1);tmp=(ll)n*(n+1)/2%P;
}int main()
{init();work();return 0;
}
2751: [HAOI2012]容易题(easy)相关推荐
- bzoj 2751: [HAOI2012]容易题(easy)
2751: [HAOI2012]容易题(easy) Time Limit: 10 Sec Memory Limit: 128 MB Submit: 2561 Solved: 1076 [Submi ...
- 【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂
[bzoj2751][HAOI2012]容易题(easy) 先考虑k=0的情况 那么第一个元素可能为[1,n] 如果序列长度为m-1时的答案是ans[m-1] 那么合并得 然后同理答案就是 k很小 而 ...
- bzoj2751[HAOI2012]容易题(easy)
bzoj2751[HAOI2012]容易题(easy) 题意: 已知一个数列A对于所有的A[i]都是1~n的自然数,一些A[i]不能取一些值,求出所有可能的数列的积的和 mod 1000000007的 ...
- 【bzoj2751】[HAOI2012]容易题(easy) 数论,简单题
Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取 ...
- bzoj2751 [HAOI2012]容易题(easy)
Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取 ...
- 小M的简单题(easy)
小M的简单题(easy) 时间限制:3s 内存限制:128MB [题目描述] 小M是某知名高中的学生,有一天,他请他的n个同学吃苹果,同学们排成一行,且手中已经有一些苹果.为了表示他的大方,有时他会给 ...
- 洛谷2220 [HAOI2012]容易题
标签:快速幂 题目 题目传送门 题目描述 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于 ...
- 洛谷 2220 [HAOI2012]容易题 题解(组合数学,离散化)
原链接: 洛谷:点我QωQ bzoj:点我QωQ 题意简述 一个长度为mmm的数列aaa,每个数都在[1,n][1,n][1,n]之间,有kkk个限制.第iii个限制包含两个正整数x,yx,yx,y, ...
- 2020年牛客多校第五场C题-easy(纯组合计数不要生成函数的做法)
文章目录 description solution code description 有TTT组测试数据 对于两个长度为KKK的数列{a}\{a\}{a}和{b}\{b\}{b},满足∑i=1Kai= ...
最新文章
- 兄弟!kafka的重试机制,你可能用错了~
- 最全 Neo4j 可视化图形数据库的工具!
- rhel5.1 vncserver
- jira图片_JIRA使用不求人-从菜鸟到高手
- MySQL的explain简书_MySQL Explain
- 前端信息查询与显示_中国商标网查询显示的信息都是正确的吗
- ROS2学习(九).ROS概念 - ROS 2参数(ROS 2 parameters)
- dell跳过开机硬件检测,关闭dell开机硬件自检 戴尔笔记本电脑每次开机自动硬件检查怎么取消?...
- 用一年的时间,依靠SEO创造一个成功的网站
- 使用android-junit-report.jar导出单元测试报告
- php sqlite教程,在thinkPHP中使用sqlite的教程
- JavaScript小练习2
- matlab 支撑集,基于OMP算法的快速压缩感知图像重构
- 在GitHub上学黑客 --- 黑客成长技术清单
- 【马尔科夫链-蒙特卡罗】马尔科夫链-蒙特卡罗方法对先验分布进行抽样
- 【考研数学一】微分方程专讲(初步)
- saas系统和php mysql的区别_saas系统和传统erp的区别是什么?
- Rust 学习3, 枚举,集合
- 问题解决:idea 中无法连接 sql server 数据库,报错 [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接
- 莘城苑:面包种类选择
热门文章
- 南开19计算机应用基础,南开19秋学期(1709、1803、1809、1903、1909)《计算机应用基础》在线答案1...
- 通过证明对 Windows 10 及更高版本的驱动程序进行签名
- mysql 之general_log日志
- UOJ #22 外星人
- 别太把技术当回事 也别不把技术当回事
- ansible:with_list、with_flattened、with_together、with_cartesian、with_nested、with_cartesian
- Centos系统使用代理上网设置
- 速写的外线怎样才能画好?这些速写要点要记牢~
- 【产品售前】PPT设计之道
- PostgreSql简介