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.pswp.cn/news/284149.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284149.shtml
英文地址,請注明出處:http://en.pswp.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;微服務架構的設計原…