【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂
【bzoj2751】[HAOI2012]容易题(easy)
先考虑k=0的情况
那么第一个元素可能为[1,n] 如果序列长度为m-1时的答案是ans[m-1]
那么合并得
然后同理答案就是
k很小 而且顺序可以随便交换
排序暴力减去就好了
1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <cmath> 6 #include <algorithm> 7 using namespace std; 8 9 const int P=1000000007; 10 int n,m,k,cnt=0,sum,ans=1; 11 struct data{int x,y;}d[100005]; 12 int Q_pow(int x,int y){ 13 int ans=1; 14 while (y){ 15 if (y&1) ans=1ll*ans*x%P; 16 x=1ll*x*x%P; 17 y=(y>>1); 18 } 19 return ans; 20 } 21 bool oper(data a,data b) {return ((a.x<b.x) || (a.x==b.x && a.y<b.y));} 22 23 int main(){ 24 scanf("%d%d%d",&n,&m,&k); 25 sum=1ll*n*(n+1)/2%P; 26 for (int i=1;i<=k;i++){ 27 scanf("%d%d",&d[i].x,&d[i].y); 28 } 29 sort(d+1,d+k+1,oper); 30 d[k+1].x=-1; 31 d[k+1].y=0; 32 for (int i=2,s=1ll*(sum-d[1].y+P)%P;i<=k+1;i++){ 33 if (d[i].x!=d[i-1].x) {ans=1ll*ans*s%P; s=sum; cnt++; } 34 if (d[i].y!=d[i-1].y || d[i].x!=d[i-1].x) s=(s-d[i].y+P)%P; 35 } 36 printf("%lld\n",1ll*ans*Q_pow(sum,m-cnt)%P); 37 return 0; 38 }
View Code
这么水的题想了半天。。没有调整负数WA了几发。。药丸。。
转载于:https://www.cnblogs.com/karl07/p/6596183.html
【bzoj2751】[HAOI2012]容易题(easy) 数论-快速幂相关推荐
- 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]不能取 ...
- bzoj 2751: [HAOI2012]容易题(easy)
2751: [HAOI2012]容易题(easy) Time Limit: 10 Sec Memory Limit: 128 MB Submit: 2561 Solved: 1076 [Submi ...
- 15年第六届蓝桥杯第九题_(矩阵快速幂优化的动态规划)
垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体. 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的 ...
- HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )
题目链接 题意 : 有种不同的字符,每种字符有无限个,要求用这k种字符构造两个长度为n的字符串a和b,使得a串和b串的最长公共部分长度恰为m,问方案数 分析 : 直觉是DP 不过当时看到 n 很大.但 ...
- 第二十七章 数论——快速幂与逆元
第二十七章 快速幂与扩展欧几里德算法 一.快速幂 1.使用场景 2.算法思路 (1)二进制优化思想 (2)模运算法则 3.代码实现 (1)问题 (2)代码 二.快速幂求逆元 1.什么是逆元? (1)同 ...
- BZOJ-1008 越狱 数论快速幂
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 6192 Solved: 2636 [Submit][Status] ...
- 数论-快速幂、矩阵快速幂、慢速乘
文章目录 快速幂 矩阵快速幂 慢速乘 例题 HDU-2817 HDU-3117 XUJC-1395 快速幂 首先幂运算 a n a^n an就是 n n n个 a a a相乘,我们可以直接调用库函数 ...
最新文章
- 赛门铁克针对勒索软件WannaCry发布全球预警
- 导出的swf文件显示 不出来地图
- 常见拒绝服务攻击行为特征与防御方法
- notepad++的好用快捷键整理
- 使用Go语言从零编写PoS区块链
- 蚂蚁森林快捷指令_利用快捷指令实现钉钉自动化打卡
- UBUNTU上VNC 配置
- kotlin学习笔记——过程控制和Range表达式
- 深度解析 | 基于DAG的分布式任务调度平台:Maat 1
- C#相关时间DateTime格式化
- 海量数据挖掘MMDS week7: 相似项的发现:面向高相似度的方法
- 【原创】技术员 Win10(32位)系统1709企业版 201711
- 注册表REG文件编写大全
- 3.25万颗!真正前装上车的激光雷达供应商有哪几家?
- IM即时通讯-3-如何设计消息协议层方案
- K8S相同后端存储在2个K8S集群PVC数据直接拷贝
- 计算机键盘space键在哪,space是哪个键,详细教您space是哪个键
- CarEye 智能云平台升级
- 超详细 React Native 完全使用指南,学不会你打我
- 城乡投票源码php_一个简单的PHP投票程序源码