bzoj2751[HAOI2012]容易题(easy)

bzoj2751[HAOI2012]容易题(easy)

题意:

已知一个数列A对于所有的A[i]都是1~n的自然数,一些A[i]不能取一些值,求出所有可能的数列的积的和 mod 1000000007的值。

题解:

题目中的n≤109实际上是109……首先推个方程s[l,r]=s[l,k]*s[k+1,r](s[l,r]表示l到r的所有l≤i≤r的a[i]的可能取值的和)因此s[1,n]等于所有a[i]的可能取值的和的乘积。因此我们先求出1到n的和,对每个约束条件按i排序,将这个和减掉约束条件中的不能取的数,就是这个a[i]所有可能取值的和。将这些a[i]乘起来,剩下的没限制的a[i]用快速幂解决。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define ll long long
 5 #define inc(i,j,k) for(int i=j;i<=k;i++)
 6 #define mod 1000000007
 7 using namespace std;
 8 
 9 struct nd{
10     ll a,b;
11     bool operator < (const nd &c)const{
12         if(a!=c.a)return a<c.a;else return b<c.b;
13     }
14 };
15 ll power(ll a,ll b){
16     if(b==0)return 1; if(b==1)return a; ll c=power(a,b>>1)%mod;
17     if(b&1)return c*c%mod*a%mod;else return c*c%mod;
18 }
19 nd ns[200000];
20 int main(){
21     ll n,m,a1=0,a2,a3,a4; ll k; scanf("%lld%lld%lld",&n,&m,&k);
22     inc(i,1,k)scanf("%lld%lld",&ns[i].a,&ns[i].b); sort(ns+1,ns+k+1);
23     inc(i,1,k)if(i==1||ns[i].a!=ns[i-1].a)a1++; a2=n*(n+1)/2%mod; a3=a4=1;
24     inc(i,1,k)if(i==1||ns[i].a!=ns[i-1].a)a4=a4*a3%mod,a3=a2,a3=(a3-ns[i].b)>=0?(a3-ns[i].b)%mod:(a3-ns[i].b)+mod;
25     else if(ns[i].b!=ns[i-1].b)a3=(a3-ns[i].b)>=0?(a3-ns[i].b)%mod:(a3-ns[i].b)+mod;
26     a4=a4*a3%mod; a4=a4*power(a2,m-a1)%mod; printf("%lld",a4);
27 }

 

20160419

转载于:https://www.cnblogs.com/YuanZiming/p/5703229.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WinForm(二):WinFrom中Main函数的入参和出参

基本上有独立进程的应用&#xff0c;都是以Main函数作为入口&#xff0c;开始运行的。在C#中&#xff0c;Main函数可以无参无返回值&#xff0c;当然也可以是有string[]参数和int返返回值的。WinFrom也满足这个规则。那么Main作为一个进程的开始函数&#xff0c;那么是谁传这些…

linux内存回收机制

无论计算机上有多少内存都是不够的&#xff0c;因而linux kernel需要回收一些很少使用的内存页面来保证系统持续有内存使用。页面回收的方式有页回写、页交换和页丢弃三种方式&#xff1a;如果一个很少使用的页的后备存储器是一个块设备&#xff08;例如文件映射&#xff09;&a…

编译源码 JAVA out of memory

转载于:https://www.cnblogs.com/dyufei/p/6612032.html

安卓 Input Events(输入事件)

在安卓中&#xff0c;有不止一种方法从你的应用截取用户交互事件。在你的用户界面中考虑事件&#xff0c;途径就是从用户界面中的一个指定的view对象中捕获事件。该view提供了这样做的方法。 在你用来组成你布局的不同的view类中&#xff0c;你或许注意到了一些公共的回调方法似…

【GlobalMapper精品教程】029:栅格重分类案例详解

重分类就是对原有栅格像元值重新分类从而得到一组新值并输出。重分类工具有多种方法将像元值重新分类或更改为替代值,Globalmapper提供了栅格重分类的功能。 文章目录 一、栅格重分类简介二、栅格重分类案例【参考阅读】:ArcGIS实验教程——实验四十三:ArcGIS栅格重分类(Re…

Mybatis 和 JPA 用哪个好? 优缺点 ?

本文不会下关于 Mybatis 和 JPA 两个持久层框架哪个更好这样的结论。只是摆事实&#xff0c;讲道理&#xff0c;所以&#xff0c;请各位看官勿喷。 一、事件起因 关于 Mybatis 和 JPA 孰优孰劣的问题&#xff0c;争论已经很多年了。一直也没有结论&#xff0c;毕竟每个人的喜…

SkiaSharp 之 WPF 自绘 五环弹动球(案例版)

此案例基于拖曳和弹动球两个技术功能实现&#xff0c;如有不懂的可以参考之前的相关文章&#xff0c;属于递进式教程。五环弹动球好吧&#xff0c;名字是我起的&#xff0c;其实&#xff0c;你可以任意个球进行联动弹动&#xff0c;效果还是很不错的&#xff0c;有很多前端都是…

【GlobalMapper精品教程】032:浏览地理照片及航线信息(航测应用)

本文讲述globalmapper软件在无人机航测了内业处理中的应用之:浏览地理照片及航线信息、相机参数、元数据编辑器。 文章目录 1. 航线信息浏览2. 地理图像浏览2.1 数字化工具2.2 要素信息工具2.3 属性表3. 照片原数据编辑1. 航线信息浏览 打开globalmapper软件,加载无人机航测…

Spring Boot 2.7.0发布,2.5停止维护

这几天是Spring版本日&#xff0c;很多Spring工件都发布了新版本&#xff0c; Spring Framework 6.0.0 发布了第 4 个里程碑版本&#xff0c;此版本包含所有针对 5.3.20 的修复补丁&#xff0c;以及特定于 6.0 分支的 39 项修复和改进。而今天Spring Boot 2.7.0和Spring Securi…

【GlobalMapper精品教程】031:Globalmapper在航测内业数据处理中的应用举例

Globalmapper在航测内业数据处理中的应用举例索引。 文章目录 1. 图像及航线浏览2. 3D重建3. 点云分类4. 创建地形5. 地形分析1. 图像及航线浏览 扩展阅读:【GlobalMapper精品教程】032:浏览地理照片及航线信息(航测应用) 2. 3D重建 从Global Mapper的19版本开始,Pixels-…

移动工具V和选区工具M

移动工具快捷键&#xff1a;V 属性&#xff1a; 自动选择 在默认情况下&#xff0c;移动工具的“自动选择”一项是没有勾选的。表示只能选中图层窗口中选定的固定图层&#xff0c;不能随意的点击选择别的图层。在这里&#xff0c;我们也勾选“自动选择”&#xff0c;可任意选择…

SeleniumWebDriver扩展插件开发

Selenium WebDriver 是一组开源 API&#xff0c;用于自动测试 Web 应用程序&#xff0c;利用它可以通过代码来控制chrome edge等浏览器&#xff01;有时候我们需要mock接口的返回&#xff0c;或者拦截和转发请求&#xff0c;今天就来实现这个功能本插件代码已开源&#xff1a;h…

ZooKeeper的工作原理

ZooKeeper是一个分布式的应用程序协调服务。 2 ZooKeeper的工作原理 Zookeeper 的核心是原子广播&#xff0c;这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab(Zookeeper Atomic Broadcast)协议。Zab协议有两种模式&#xff0c;它们分别是恢复模式&#xff08;…

memcache的学习路线图

memcache学习材料//memcache自带的github 上的 wiki//席剑飞 Memcache&#xff08;MC&#xff09;系列 1~8系列评注&#xff1a; memcache系统写的最深的一博客&#xff0c;建议一读。http://blog.csdn.net/xifeijian/article/details/21994941//mysql与memcache的使用https://…

[转]钱岭:别担心“35岁危机”,要成为“老专家”

从清华大学到贝尔实验室&#xff0c;再到中国移动&#xff0c;作为“IT老人”&#xff0c;钱岭的技术人生几乎覆盖了20世纪90年代至今的信息产业革命。2007年开始&#xff0c;钱岭在中国移动经历了基础科研到产品落地&#xff0c;再到团队孵化&#xff1b;也经历了云计算从无到…

【GIS前沿】周成虎院士:GIS的大数据时代展望(PPT分享)

本文源自微信公众号&#xff1a;宋关福GIS笔记。版权归原作者及刊载媒体所有&#xff0c;如有侵权请立即与我们联系,我们将及时处理。更多GIS前言技术&#xff0c;请关注《GIS前言》专栏。 GIS的大数据时代展望

DataV:可视化大屏展示神器实战分享

由于公司年即将发布新的产品&#xff0c;传统意义上的PPT显得不太生动化&#xff0c;所以想采用具体化&#xff0c;可视化的数据大屏进行业务数据的事实展示&#xff0c;第一时间想到了来自于阿里云旗下的DataV&#xff0c;废话不多说&#xff0c;老司机开始发牌照&#xff01;…

数据库性能系列之索引(中)

GOOD NIGHT前言上一篇中&#xff0c;我们已经了解到了索引的基本概念和一些用法。那索引为什么会提升查询的速度&#xff0c;以及索引究竟是怎么工作的呢&#xff1f;也许大家心里还是有一些迷茫&#xff0c;这一切&#xff0c;还要从索引背后的算法说起。GOOD NIGHT概述大家知…

微服务架构的设计原则和核心话题

目录 一、前言 二、微服务架构的设计原则 1.拆分足够微 2.轻量级通信 3.单一职责原则 4.领域驱动原则 三、微服务架构的核心话题 1.服务拆分 2.服务注册与发现 3.负载均衡 4.API网关 5.服务部署与发布 四、总结 一、前言 毫无疑问&#xff0c;微服务架构的设计原…