#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int N=1000005;
int p[N],tmp[N],maxn;
double dp[N];
void prime(){
for(int i=2;i<N;i++)
for(int j=i+i;j<N;j+=i)
p[j]=1;
for(int i=2;i<N;i++){
if(!p[i]){
tmp[maxn++]=i;
}
}
}
double dfs(int n){
if(dp[n]!=-1) return dp[n];
dp[n]=0;
if(n==1) return dp[n];
int tot=0,cnt=0;
for(int i=0;i<maxn&&tmp[i]<=n;i++){
tot++;
if(n%tmp[i]==0){
cnt++;
dp[n]+=dfs(n/tmp[i]);
}
}
dp[n]=(dp[n]+tot)/cnt;
return dp[n];
}
//令 dp[ i ] 表示 D = i 的时候的期望, 即从i 转移到1 的次数期望
//dp(n)=(1−cnt/tot)∗dp(n)+∑dp(n/prime)∗(1/tot)
//cnt素数质因子数,tot总素数\
y为x的素数因子,sum[x]表示1到x中有多少个素数,p[x]表示x\
的素数因子个数
//dp[x] = 1+dp[x]*( (sum[x]-p[x])/sum[x] )+∑ (dp[x/y] / sum[x] )\
========>>>>dp[x]=(tot+∑ (dp[x/y])/cnt
int main()
{
int T,n,cas=0;
//memset(dp,-1,sizeof(dp));
for(int i=0;i<N;i++) dp[i]=-1;//不可用上面那句初始化
//cout<<dp[9]<<endl;
cin>>T;
prime();
//for(int i=0;i<50;i++)cout<<i<<' '<<p[i]<<endl;
while(T--){
scanf("%d",&n);
printf("Case %d: %.10lf\n",++cas,dfs(n));
}
return 0;
}
相关推荐
如何产生ATPG IR-drop分析波形文件(DFT)
摘要:本文介绍了生成VCD波形的流程与要求,主要用于后端进行IR-drop分析。生成过程分为ATPG shift和speed ATPG capture两部分,分别对应不同的输入要求、模式设置和仿真参数。
uva11762(期望)
题意: 给出一个n,随机选一个比n小的素数i,如果i能被n整除;n/=i;否则n=n; 问n除到1的期望次数; 思路: 先打素数表; 然后 f[n] = 1/p f[a0] + 1/p f[a1].....+ 1其中p是小于n的素数个数,ai表示,如果这个素数能被n整除,ai = n/这个素数,否则ai = n; 然后用这个公式递推就行了; #include #i
使用 Restart Extension 继续解决 Ansys 机械分析
您正在执行复杂或大型的多步有限元分析,突然,您意识到经过数小时的求解后,您需要添加或修改边界条件。在本篇博文中,您将了解如何利用 Ansys Mechanical 中的 RestartAnalysis 扩展来扩展多步分析,方法是合并额外的时间步骤和边界条件,而不会丢失已计算的结果。幸运的是,在 Mechanical 中,有一种直接的方法可以实现这一点,而不会损害您之前的结果,而这在添加新边界条件和使用重新启动点时经常发生。得到的结果符合预期,您可以看到施加的力产生的这两个部分之间的相对位移。
UVA - 11762 Race to 1
Dilu have learned a new thingabout integers, which is - any positive integer greater than 1 can be divided byat least one prime number less than or equal to that number. So, he is nowplaying with this
Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)
本文详细介绍了2025年最新Kindle电子书DRM移除的完整实战流程。针对亚马逊加密机制的升级,文章重点讲解了如何配置最新的DeDRM插件、从新版Kindle客户端提取密钥,并利用Calibre完成电子书的解密与格式转换,为个人备份提供了一套可行的解决方案。
6.4 实战项目:基于Agent内核构建Code Review智能体
本文介绍了一个基于Agent内核构建的智能Code Review系统实战项目。系统采用多Agent协作架构,包含代码质量分析、安全漏洞识别、性能优化建议等核心功能模块。文章详细展示了系统架构设计,采用协调器Agent管理多个专业Agent协同工作,并提供了基础Agent框架和协调器Agent的TypeScript实现代码。项目结合了AI Agent核心原理和多Agent协作机制,实现了自动化的代码审查流程,能够生成详细的审查报告,帮助开发者提升代码质量和安全性。
uva 11762 dp
// UVa11762 Race To 1 // Rujia Liu #include #include #include const int maxn = 1000000 + 10; double f[maxn]; int removed[maxn], primes[maxn], vis[maxn]; void gen_primes(int n) { int p = 0; memse
Android14 SystemUI如何实现下拉菜单栏高斯模糊背景效果(类似于毛玻璃效果)
我们都知道,从Android12起,下拉菜单栏控制中心都是黑色的,看起来非常不美观,而且国内的手机系统UI都做的比较美观,大部分的下拉菜单UI背景都是实现了高斯模糊效果,所以客户也会要求实现类似于这样的效果。在以前的Android项目中,实现下拉菜单栏的模糊背景就是通过截图的方式进行替换背景,而这种方式下拉菜单背景极易替换不了,就算是在各个地方都适配,还是有概率在复杂场景或者一些测试手法下出现背景是黑的情况,并且这种方式还比较影响性能,毕竟每次都要去截图一次,多做了额外的事。
Uva11762 Race to 1
题目大意:给一个正整数N,每次可以在不超过N的素数中随机选择一个P,如果P是N的约数,则把N变成N/p,否则N不变,问平均情况下需要多少次随机选择,才能把N变成1?比如N=3时答案为2,N=13时答案为6。 题目分析:易知从每个状态出发的所有转移概率之和为1。如f[6]有1/3的概率得到2,1/3的概率得到3,1/3的概率回到它本身。设f[i]表示当前的数为i时接下来需要选择的次数。则可
小波变换(深入浅出)
小波变换
超级全的PCB LAYOUT高速信号走线指南——简化应用版
在PCB Layout中,几乎涵盖了所有的高速信号走线指南。包括了TF/SD、HDMI、LVDS、DVP、eDP、MIPI、USB2.0、USB3.0、MAC、BT.1120、PCIE高速信号等等。此版本为简化版。
uva11762 Race to 1
马尔可夫过程
【经验&技巧】DDR仿真中的挑战与解决方案
由于DDR的数据总线具备双向数据传输功能,需要对读写模式进行独立仿真环境的创建,并且分为连续和突发模式,再加之有单端和差分信号、有数据总线和地址总线,需要在数据传输过程中额外注意串扰的影响,并选择合适的驱动和负载以找寻设计裕量与串扰强度之间的平衡,因此,实际操作步骤和分析过程还是较为繁琐耗时的,需要设计者具有足够的耐心。
UVa 11762 - Race to 1 (概率 期望 DP 马尔可夫过程)
UVA - 11762 Race to 1 Time Limit: 10000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu [Submit] [Go Back] [Status] Description B Race to 1 Inpu
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
UVA 11762 - Race to 1(概率)
UVA 11762 - Race to 1 题意:给定一个n,每次随即选择一个n以内的质数,如果不是质因子,就保持不变,如果是的话,就把n除掉该因子,问n变成1的次数的期望值 思路:tot为总的质数,cnt为质因子个数,那么f(n)=(1−cnt/tot)∗f(n)+∑f(n/prime)∗(1/tot),然后利用记忆化搜索去做即可 代码: #include #inclu
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
UVa11762 Race to 1
题意:给一个整数N,每次
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
[uva 11762]Race to 1[概率DP]
题意: 已知D, 每次从[1,D] 内的所有素数中选择一个Ni, 如果D = 0(mod Ni), 那么D /= Ni,否则D不变(可以看成是每一轮 D/= GCD(D,Ni) ) 优化: cnt[ ] 可以通过筛选素数以后累加得到 kcnt[ ] 也可以通过筛选素数类似的做法得到 fac[ ]显然也可以预处理得到 而由于处理fac[ i ]的时候需要分解得到 i 的素因子,这里我们继续做一个dpf, dpf[ i ]保存的是 i 的最小素因子, 这样就可以用类似于筛法的过程得到 i 的所有质因子
UVA 11762 Race to 1(数学期望)
Race to 1 题意 给一个N,在不大于N的素数中选一个p,如果p是N的约数,则将N变为N/p,否则不变,问最后N变为1的选择次数的期望 题解 在不大于N的素数p中选取一个p,都是存在概率的,且概率和为1 设num为不大于N的素数个数,num1为不大于N的素数中N的约数的个数 E(x)=1+E(x)(num−num1)num+∑p∣xE(x/p)numE(x)=1+\cfrac{E(x)(n...
UVA 11762 Race to 1
题目链接题意:给定一个数N, 要你从小于等于N的素数中找出能够给N整除的素因子, 即该素数可以被N整除, 使得新的N = N/prime[i], 数N=N除以该素因子得到新的N, 知道N=1为止, 现在要你求出平均情况下随机选素数的次数的期望.分析:概率dp+记忆化搜索。设dp[i]为i的期望,fac为素因子的数量,tot为素数数量,,则dp[i]=1+(1-fac/tot)*dp[i]+Σdp[i
uva 11762 Race to 1
记忆化搜索的方式计算f(x) #include #include #include #include using namespace std; #define mem(a) memset(a,0,sizeof(a)) const int maxn = 1000005; int n; int primes[maxn],prime_cnt; int vis[maxn]; int v[maxn];
【Uva11762】Race to 1
模拟马尔可夫过程,具体看书。 #include<bits/stdc++.h> #define N 1000010 using namespace std; int prime[N],use[N],cnt=0; void calcprime(){ cnt=0;memset(use,1,sizeof(use)); for(int i=2;i<...
UVA 11762 Race to 1 (期望+概率+预处理)
#include<bits/stdc++.h> using namespace std; #define debug cout<<"YES\n"; #define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++) #define ll long long #define lrt int l,int r,int rt #define ...
uva 11762 - Race to 1(马尔可夫)
题目链接:uva 11762 - Race to 1 题目大意:给出一个整数N,每次可以在不超过N的素数中随机选择一个P,如果P是N的约数,则把N变成N/P,否则N不变。问平均情况下需要多少次选择,才能把N变成1. 解题思路:马尔可夫,例如N=6时,f(6)=1+f(6)∗13+f(4)∗13+f(2)∗13,1是只第一次转移,后面分别对应的是选择5,2,3的情况.所以有f(x)=∑f
UVA 11762 Race to 1 概率DP
题目大意: 现在对于一个数D, 每次随机从不大于D的素数中选择一个, 如果选择的素数能够整除D, 将D除以这个数得到一个新的D, 否则什么都不做, 问最后将D变为1的选择步数的期望值 大致思路: 首先这是个明显的概率DP, 如果用dp[i]表示当前D为i, 到达目标状态需要多少步的步数期望, 很容易找到状态转移方程 转移方程和具体细节见代码注释部分 代码如下: Resu
【UVA】【11762】Race to 1(得到1)
数学期望/马尔可夫过程 DP/记忆化搜索 刘汝佳老师白书上的例题…… 1 //UVA 11762 2 #include<vector> 3 #include<cstdio> 4 #include<cstring> 5 #include<cstdlib> 6 #include<iostream> ...
[UVA 11762] Race to 1
《训练指南》 P143 概率DP,数学问题 Dilu have learned a new thing about integers, which is - any positive integer greater than 1 can bedivided by at least one prime number less than or equal to that number. So, h
870



被折叠的 条评论
为什么被折叠?



