CF1452D Radio Towers 题解
题目大意
在数轴上有 个小镇,位置为 。
现在在 的小镇都有 的概率建设一个信号发射器。
对于任意一个信号发射器,你都可以选择一个整数作为强度 。如果一个信号发射器的位置是 ,那么位于 的小镇都能收到一个信号。
现在求能够通过设置信号值,使 恰好能接受到一个信号, 不能接受到信号的概率,对 取模。
题解
设 为 的时候的方案数。显然 。
考虑如何转移
假设我们最后一个位置是 。
那么显然这个位置的强度是 ,这样 这段区间就被覆盖了,此时的方案数就是 。
枚举 ,我们可以知道
所以只需要预处理 模 不同的前缀和就可以了。
int n; ll f[maxn],s[2]; ll fastpow(ll x,ll y){ ll tmp=x,res=1; while(y){ if(y&1) res=res*tmp%MOD; tmp=tmp*tmp%MOD; y>>=1; } return res; } int main(){ int i; n=read(); f[0]=1; s[0]=1; f[1]=1; s[1]=1; for(i=2;i<=n;i++) f[i]=s[(i&1)^1],f[i]%=MOD,s[i&1]+=f[i],s[i&1]%=MOD; print(f[n]*fastpow(499122177,n)%MOD); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具