時間限制: 1 sec 記憶體限制: 512 mb
提交: 180 解決: 48
[提交] [狀態] [討論版] [命題人:admin]
題目描述
九條可憐是乙個熱愛遊戲的女孩子,她經常在網上和一些網友們玩一款叫做《殭屍危機》遊戲。
在這款遊戲中,玩家們會需要在成為殭屍之前與黑惡勢力鬥智鬥勇,逃離被病毒感染的小島。但是黑惡勢力不會讓玩家輕易得逞,他會把一些玩家抓走改造成殭屍。變成殭屍的玩家會攻擊其他的玩家,被攻擊的玩家會被」感染」,成為病毒的潛在宿主。
具體來說,遊戲開始時,所有的玩家會獲得乙個l∼r的編號(如果一共有r−l+1個玩家),不同的玩家的編號不同。
遊戲分輪次進行,在每一輪中一次會發生這樣的事情。
•如果所有當前所有的正常人都已經被感染,那麼遊戲結束。
•不然,黑惡勢力會在當前的正常人(包括被感染的人)中等概率隨機乙個改造成殭屍。
•被改造成殭屍的玩家會攻擊所有編號是他的倍數的玩家,使得他們被感染。
九條可憐現在想知道,這個遊戲期望會進行多少輪?這個答案可能是乙個實數,她想讓你給出期望輪數乘上(r−l+1)!以後的結果,這個結果可能很大,請對109+7取模後輸出。
輸入第一行輸入兩個整數 l, r 表示編號範圍。
輸出乙個整數,表示期望進行的輪數。
樣例輸入
2 4
樣例輸出
16
提示
• 2 3 4, 輪數是 2。
• 3 2 4, 輪數是 2。
• 4 2 3, 輪數是 3。
• 4 3 2, 輪數是 3。
• 2 4 3, 輪數是 3。
• 3 4 2, 輪數是 3。
每種情況的概率都是 1/6,於是期望輪數就是 (2 + 2 + 3 + 3 + 3 + 3)/6 =8/3。
乘上 3! = 6 以後就是 16 。
對於 20% 的資料,r − l + 1 ≤ 8。
對於另 10% 的資料,l = 1。
對於另 10% 的資料,l = 2。
對於另 30% 的資料,l ≤ 200。
對於 100% 的資料,1 ≤ l ≤ r ≤ 107 。
題解:
1.首先要求得篩掉所有的數所需要最少的數的個數(即只要在剩下那些數前邊拿這些數就可以減少拿的次數)
2。假設必須取的數為sum個,對於本題來說就是遊戲的輪數應當介於sum到r-l+1
3.我們設s[i]為遊戲輪數為i時的排列有多少種.
4.輪數為i那麼第i位一定時sum個數中的乙個(情況有sum種(c(sum,1))並且剩餘的sum-1個數在第i位前邊。
5.第i位前邊有i-1個數 有sum-1個數必選的 剩餘的i-1-(sum-1)是從剩餘的n-sum個數中選的
情況為c(n-sum,i-sum)乘前i-1個數的全排列,乘後n-i個數的全排列
6.綜上所述公式為sigama(i從sum到r-l+1)s[i]=sum*(c(n-sum,i-sum))*(i-1)!*(n-i)!,因為這個是輪數為i的排列個數,所以還要乘i
7.還有就是注意那個o(n)求階乘逆元的方法(學習了)。
#include#include#includeusing namespace std;
#define ll long long
#define n 10000005
const ll mod = 1000000007;
ll fac[n];
ll ni[n];
int vis[n];
inline ll qpow(ll a,ll k)
return tm%mod;
}int main()}}
ll ans=0;
ll n=r-l+1;
for(register int i=sum;i<=r-l+1;++i)
printf("%lld\n",ans);
}
參考部落格: 2018 8 4牛客網暑期ACM訓練第六場 A題
題目大意 有2 n個歌手,每個歌手會準備n首歌去唱,每首歌有它的分數,分數高的就贏。兩兩相比,贏的人繼續兩兩相比,直到冠軍出來。分析 用乙個二維陣列儲存每個比賽歌手準備的歌曲,並且用該陣列繼續儲存每輪勝者還可以唱的歌曲。可以知道,每個歌手要保證自己每場都贏,就要用比對手最高分歌曲還高的歌曲唱,並且在...
暑期個人賽 第六場 B(常複習 !!!)
時間限制 4000 ms 記憶體限制 65536 kb 小弱有n個玩具,現在小弱想把他們排列成一行,把玩具j放在玩具i的右邊相鄰的位置上,他將得到乙個高興值hij.輸入有多組資料。每組資料以乙個整數n n 18 開頭。接下來n行,每行n個整數。第i行第j列hij hij的絕對值 10000 代表把玩...
2020NYIST個人積分賽第六場 D
題意 給n個點,m條邊,讓構建乙個有向無環無重邊的圖,並且圖的最短路是素數,最小生成樹也是素數。思路 題意的可塑造性很強,我們可以讓最小生成樹就是最短路,呢麼我們現在就是給最小生成樹找乙個素數,很明顯最小生成樹的素數範圍在 1,1e14 1,1e14 1,1e1 4 所以預處理1 1e14不太可能,...