当前位置: 首页 > news >正文

QOJ8008 MIPT Yolki-Palki Contest 1 F. Fortune Wheel

题解

1.题目

QOJ8008

2.思路

考虑贪心

首先,我们发现,肯定是先瞬移,再移动

因为如果在移动后瞬移那么移动就没有作用了,相当于重新开始了

那么我们可以把操作次数分为两部分:瞬移+移动

那我们将每个点到0最短需要走多少步 \(dis\) bfs预处理出来

然后将 \(dis\) 从小到大排序

为什么排序

因为我们还要枚举一个 \(i\) ,表示所有距离大于 \(dis_i\) 的数都先瞬移到距离小于等于 \(dis_i\) 的数再移动到0。

排序后才能让距离最优

那么期望怎么算

先算瞬移的期望

首先,列式子(j是移动步数(代价),后面的都是概率):

\[\sum_{j=1}^{\infty} j\left(\frac{n-i}{n}\right)^{j-1}\frac{i}{n} \]

\(\left(\frac{n-i}{n}\right)^{j-1}\) 视为常数,记为 \(x\),则上式可以重写为:

\[\frac{i}{n}\sum_{j=1}^{\infty} j x^{j-1} \]

这是一个常见的等比数列求和,其和为:

\[\frac{i}{n}\cdot \frac{1}{(1-x)^2} \]

\(x\) 恢复为 \(\left(\frac{n-i}{n}\right)\),得到最终结果:

\[\frac{i}{n}\cdot \frac{1}{\left(1-\frac{n-i}{n}\right)^2} = \frac{i}{n}\cdot \frac{1}{\left(\frac{i}{n}\right)^2} = \frac{n}{i} \]

因此,经过推导求证,我们得到了结论:

\[\sum_{j=1}^{\infty} j\left(\frac{n-i}{n}\right)^{j-1}\frac{i}{n} = \frac{n}{i} \]

移动的期望也是同理

列出式子:

\[\sum_{j=1}^{\infty} (\sum_{k=1}^{i}{dis_k})\left(\frac{n-i}{n}\right)^{j-1}\frac{i}{n} \]

因为还是等差数列的形式,同理给出式子:

\[\frac{\sum_{j=1}^{i}{dis_j}}{i} \]

加在一起即为当前的答案
最后所有 \(i\) 算出的答案取个min就行了qoj

3.Code

#include<bits/stdc++.h>
#define int long long
using namespace std;
signed n,x,k;long long a[200010],dis[200010];
vector<int>e[200010];
pair<int,int>ans;vector<pair<int,int>>sz;
main(){cin>>n>>x>>k;for(int i=1;i<=k;i++)cin>>a[i];for(int i=0;i<n;i++){for(int j=1;j<=k;j++){e[(i+a[j])%n].push_back(i);}dis[i]=2e9;}queue<int>q;q.push(0);dis[0]=0;while(q.size()){int u=q.front();//cout<<u<<endl;q.pop();for(auto v:e[u]){if(dis[u]+1<dis[v]){dis[v]=dis[u]+1;q.push(v);}}}int sum=0;for(int i=0;i<n;i++)sz.push_back({dis[i],i});sort(sz.begin(),sz.end());for(int i=0;i<n;i++){//cout<<dis[i]<<' ';sum+=sz[i].first;if(sz[i].first>n)break;int tag=0;if(x==sz[i].second)tag=1;if(tag==1){if(ans.second==0)ans={sz[i].first,1};else{if(ans.first*(1)>(sz[i].first)*ans.second){ans={sz[i].first,1};}}}else{if(ans.second==0)ans={sum+n,i+1};else{if(ans.first*(i+1)>(sum+n)*ans.second){ans={sum+n,i+1};}}}if(tag)break;//cout<<ans.first<<" "<<ans.second<<'\n';}int tmp=__gcd(ans.first,ans.second);ans.first/=tmp;ans.second/=tmp;cout<<(long long)ans.first<<" "<<(long long)ans.second;return 0;
}
http://www.jsqmd.com/news/429043/

相关文章:

  • P10220 [省选联考 2024] 迷宫守卫
  • “友链”
  • 2026广州花露水品牌权威推荐榜:清凉、驱蚊、止痒、、祛痱、艾草花露水、止痒痱子水选择指南,KAVAGOOD卡瓦库德守护夏日清爽舒适 - 海棠依旧大
  • 2026广州青草膏品牌精选推荐榜:青草药膏、薄荷/止痒/提神青草膏、蚊虫止痒膏、止痒清凉膏、止痒绿膏选择指南,KAVAGOOD 卡瓦库德领衔优质之选 - 海棠依旧大
  • 2026年3月北京空压机厂家精选指南:变频、螺杆、离心式、无油、二手空压机选型参考,靠谱服务商优选推荐 - 海棠依旧大
  • 2026 北京空压机厂家优质推荐榜:变频、螺杆、离心式、无油、二手空压机参考指南,专业服务商实力解析 - 海棠依旧大
  • 2026山东爱爱采购运营公司推荐榜:爱采购推广/营销/店铺/开户/代运营/发布、实地厂家,山东鑫诺商领衔本地专业运营服务商 - 海棠依旧大
  • 京东e卡可以回收变现吗?闲置变现新风口 - 京顺回收
  • 2026山东发电机、发电车公司优选榜单:大型/静音/柴油发电机、ups应急电源,恩程机械设备靠谱公司推荐与选型参考指南 - 海棠依旧大
  • 2026山东发电机出租、发电车租赁公司推荐榜:大型/静音/柴油发电机、ups应急电源,山东本地高口碑电力租赁公司详情及专业选择攻略 - 海棠依旧大
  • 2026年梁山二手设备公司最新推荐榜:井口天然气压缩机、整体撬装式天然气压缩机、cng加气站全套设备回收、LNG加气站设备低温储罐拆装回收、聚焦企业服务品质与特色业务竞争力深度剖析 - 海棠依旧大
  • 2026年山东天然气压缩机及加气站设备回收标杆厂家推荐:高流量天然气压缩机、二手天然气压缩机、CNG天然气压缩机、超低压进气天然气压缩机、往复活塞式天然气压缩机、梁山强华专业合规更省心 - 海棠依旧大
  • DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
  • 微信小程序分享图片显示自定义内容
  • 国产生产制造品牌如何借力千问AI?从“制造”到“智造”的营销突围 - 品牌2026
  • 看透这个死局,才算活着
  • 当用户习惯转向豆包AI:品牌方该如何布局生成式搜索优化? - 品牌2026
  • 品牌怎么在千问AI“打广告”?解析AI问答场景下的合规曝光路径 - 品牌2026
  • GPCR 稳定细胞系作为工程化药理模型的系统理解
  • 当采购方在豆包问“哪家国产监护仪性价比高”:医疗器械企业如何借力生成式搜索精准获客 - 品牌2026
  • 国产制造品牌获客新路径:如何利用GEO技术在豆包AI搜索中抢占先机 - 品牌2026
  • 医美机构如何在千问AI获客?精准问答营销与信任构建指南 - 品牌2026
  • 高端制造业如何布局千问AI?精准获客与品牌升级实战指南 - 品牌2026
  • 国产品牌如何借力千问AI实现精准曝光?从“被忽视”到“被推荐”的新路径 - 品牌2026
  • 医美机构获客新范式:如何让豆包AI在“变美攻略”中精准推荐你的品牌? - 品牌2026
  • 国产精密仪器品牌如何抢占千问AI推荐位?技术型企业的AI问答曝光策略 - 品牌2026
  • 仪器仪表品牌如何布局千问AI?高技术产品在AI问答场景中的曝光策略 - 品牌2026
  • 在ubuntu22上编译perfbook
  • 当科研采购员在豆包问“国产比表面积仪哪家强”:精密仪器品牌如何借力生成式搜索建立专业影响力 - 品牌2026
  • 慢性病管理的效率革命:提示工程如何通过上下文优化提升患者随访效果?