LightOJ 1038 Race to 1 Again (簡單期望)
一個數的因子有 n u m num num個,分別是 a 1 , a 2 . . , a n u m a_1,a_2..,a_{num} a1,a2..,anum
定義 d p [ i ] dp[i] dp[i]為 i i i轉換為 1 1 1的期望次數
d p [ i ] = d p [ a 1 ] + d p [ a 2 ] . . . + d p [ n u m ] n u m + 1 dp[i]=\frac{dp[a_1]+dp[a_2]...+dp[num]}{num}+1 dp[i]=numdp[a1]+dp[a2]...+dp[num]+1
其中 d p [ n u m ] = d p [ i ] ( i = = n u m ) dp[num]=dp[i](i==num) dp[num]=dp[i](i==num)
所以移項可解得 d p [ i ] dp[i] dp[i]
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+10;
int t,n,a[maxn],num[maxn];
double dp[maxn];
void print()
{
for(int i=1;i<=100000;i++)
for(int j=i;j<=100000;j+=i)
num[j]++;
}
int main()
{
print();
cin >> t; int casenum=0;
while( t-- )
{
int top = 0;
cin >> n;
for(int i=1;i<=n/2;i++)
if( n%i==0 ) a[++top]=i;
a[++top] = n;
for(int i=2;i<=top;i++)
{
for(int j=1;j<i;j++)
{
if( a[i]%a[j]!=0 ) continue;
dp[i] += ( dp[j]+1 )/num[ a[i] ];
}
if( num[ a[i] ]==1 ) continue;
double x = 1.0/num[a[i]];
dp[i] = ( dp[i]+x )/(1-x);
}
printf("Case %d: %.7lf\n",++casenum,dp[top] );
for(int i=1;i<=top;i++) dp[i]=0;
}
}
相關文章
- LightOj1296Again Stone Game(手推SG函式)AIGAM函式
- hdu 1789 Doing Homework again(簡單貪心)AI
- Promise Race, 並不公平的 RacePromise
- HDU1788Chinese remainder theorem again(中國剩餘定理 簡單)REMAI
- Sentinel簡單使用(1)
- Promise.race() 方法Promise
- 期望
- 期望最大化演算法(EM)簡介演算法
- 1-Spring 簡單使用Spring
- Matplotlib1.簡單例子單例
- 5、JsonCpp簡單使用(1)JSON
- ASSM AgainSSMAI
- 『杭電1848』Fibonacci again and againAI
- Django安裝與簡單配置(1)Django
- Flutter Animation(1)動畫的簡單使用Flutter動畫
- pythontornodo的簡單應用1Python
- 第1個簡單java程式(轉)Java
- GPT 1-3 簡單介紹GPT
- 解決:ChatGPT too many requests in 1 hour.Try again laterChatGPTAI
- On MySQL replication, again…MySqlAI
- HDU 1848 Fibonacci again and again(SG函式)AI函式
- Spring Cloud Gateway + Nacos(1)簡單配置SpringCloudGateway
- 1.物件和類的簡單解析物件
- LeetCode #1:Two Sum(簡單題)LeetCode
- LeetCode 1 兩數之和(簡單)LeetCode
- spring4簡單例項(1)Spring單例
- 【Webpack】1.入門及簡單使用Web
- wifidog 程式碼簡單分析(1)WiFi
- rman的一點簡單總結 1
- 機率期望
- HDU 4123 Bob's Race:樹的直徑 + 單調佇列 + st表佇列
- HDU 4770 Lights Against Dudely(列舉所有狀態 當然壯壓dp會很簡單)AI
- If I were a boy againAI
- Decade counter againAI
- Trees and XOR Queries AgainAI
- 1、域滲透基礎簡單資訊收集
- RXSwift學習(1)—tableView的簡單建立SwiftView
- 1、變數和簡單資料型別變數資料型別