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

网站建设 中企动力福州阀门seo每天一贴博客

网站建设 中企动力福州阀门,seo每天一贴博客,合肥最好的网站建设公司,网站做弹窗第一次做洛谷系列,紧张,请多关照哦 题目传送门:[SDOI2007] 科比的比赛 - 洛谷 思路分析 这道题大概题意是给定我们的主人公 Kobe Bryant 的 mm 个对手,nn 场比赛相对应的获胜概率。求 Kobe Bryant 最大全部获胜概率和打败对手能…

第一次做洛谷系列,紧张,请多关照哦

题目传送门:[SDOI2007] 科比的比赛 - 洛谷

 

思路分析

这道题大概题意是给定我们的主人公 Kobe Bryant 的 mm 个对手,nn 场比赛相对应的获胜概率。求 Kobe Bryant 最大全部获胜概率和打败对手能力值之和。

这道题可以使用 dfs 的思路解决。但是 Kobe Bryant 的对手非常多(也就是 mm 的值非常大),直接搜索的时间复杂度肯定非常高,就需要一些有效的剪枝。

最容易想到的是最优性剪枝,也就是如果当目前答案已经不优于已经存在的答案就可以直接放弃这个答案。

具体来说就是在 dfs 函数中加入:

if(cmp_double(tmp1,ans1)==0) return;

但是这样的优化显然是明显不够的。

这个题目有一个写的很明显特性是 n≤mn≤m。由于 nn 的值很小,而 Kobe Bryant 在每场比赛只能对战一个对手,所以 Kobe Bryant 只需要对战 nn 个对手并不是 mm 个。翻译成白话文就是 Kobe Bryant 可以只找弱的打,也就是找成功概率高的打。根据这个特性,我们可以在搜索时只搜前 nn 弱的对手。也可以理解这个剪枝是贪心的思路,因此 Kobe Bryant 的对手就少了很多。再根据前一条剪枝可以拿到 4040 分。

最后考虑到的是可以使用启发式搜索剪枝优化,对当前的结果进行估计,也就是即使是当前状态的最优情况,目前 Kobe Bryant 的获胜概率仍然没有已有最优情况高的时候舍弃。为了保证估计的效率,可以使用预处理的方式让每次询问复杂度降到 O(n)O(n)。

进行以上三次优化的思路是已经可以通过本题了。

代码

#include<bits/stdc++.h>
#define int long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define antirep(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int N=1e6,M=1e3;
const double err=1e-10;
bool vst[N];
double ans1,pr[N],Gl[N];
int n,m,a[N],ans2;
struct node{int id;double p;}k[M][M];
int cmp_double(double x,double y){if(abs(x-y)<err) return 2;if(x-y>err) return 1;if(x-y<err) return 0;return 0x7fffffff;
}
bool cmp(node x,node y){if(cmp_double(x.p,y.p)==2) return a[x.id]>a[y.id];return x.p>y.p;
}
int f(int cur,double tmp1){return cmp_double(tmp1*pr[cur],ans1);
}
void prepare(){pr[n]=k[n][1].p;antirep(i,n-1,1)pr[i]=pr[i+1]*k[i][1].p;
}
void dfs(int cur,double tmp1,int tmp2){if(cur>n){if(cmp_double(tmp1,ans1)==1||cmp_double(tmp1,ans1)==2){ans1=tmp1;if(tmp2>ans2) ans2=tmp2;}return;}if(cmp_double(tmp1,ans1)==0) return;if(f(cur,tmp1)==0)return;rep(i,1,n){int ID=k[cur][i].id;if(vst[ID]==1) continue;vst[ID]=1;tmp1*=k[cur][i].p,tmp2+=a[ID];dfs(cur+1,tmp1,tmp2);tmp1/=k[cur][i].p,tmp2-=a[ID],vst[ID]=0;}return;
}
signed main(){cin>>n>>m;rep(i,1,m) cin>>a[i];rep(i,1,n){rep(j,1,m)cin>>k[i][j].p,k[i][j].id=j;sort(k[i]+1,k[i]+1+m,cmp);}prepare();dfs(1,1,0);cout<<fixed<<setprecision(12)<<ans1<<endl;cout<<ans2<<endl;return 0;
}

这里对代码进行一些解释,因为本题是浮点数操作,浮点数会在精度很高的时候产生误差,因此这里使用了 cmp_double 函数进行比较浮点数大小。

预处理之所以是逆序的储存是因为正序的搜索每次询问的都是剩余比赛的最有情况。

排序可以保证把 Kobe Bryant 最弱(也就是获胜概率最高)的对手放在每场比赛的最前面。

后记

备注:Kobe Bryant 是本题主人公科比的原名。而在 20202020 年,科比本人乘坐的西科斯基 S−76S−76 直升机在美国加利福尼亚州洛杉矶县卡拉巴萨斯市坠毁。年仅 4141 岁。

虽然我们不能跟题目重所描述的那样帮助科比赢得比赛,但是我们可以通过解出这道题淡化对科比离去的哀伤。

牢大,我想你了。


文章转载自:
http://dinncorockoon.zfyr.cn
http://dinncooverbearing.zfyr.cn
http://dinncovilification.zfyr.cn
http://dinncohistoried.zfyr.cn
http://dinncotrinket.zfyr.cn
http://dinncoadumbration.zfyr.cn
http://dinncobicky.zfyr.cn
http://dinncorabbiter.zfyr.cn
http://dinncorespecter.zfyr.cn
http://dinncohackhammer.zfyr.cn
http://dinncolupine.zfyr.cn
http://dinncovorticism.zfyr.cn
http://dinncolustra.zfyr.cn
http://dinncouppertendom.zfyr.cn
http://dinncopteridine.zfyr.cn
http://dinncoextravagantly.zfyr.cn
http://dinncooomph.zfyr.cn
http://dinncoarmiger.zfyr.cn
http://dinncomarlburian.zfyr.cn
http://dinncosteadfast.zfyr.cn
http://dinncogravidity.zfyr.cn
http://dinncocespitose.zfyr.cn
http://dinncopussycat.zfyr.cn
http://dinncoheaume.zfyr.cn
http://dinncoisotonic.zfyr.cn
http://dinncoceskoslovensko.zfyr.cn
http://dinncogymnocarpous.zfyr.cn
http://dinncosmallholding.zfyr.cn
http://dinncovapor.zfyr.cn
http://dinncointroverted.zfyr.cn
http://dinncosalability.zfyr.cn
http://dinncomentholated.zfyr.cn
http://dinncomarian.zfyr.cn
http://dinncopropretor.zfyr.cn
http://dinncounprepared.zfyr.cn
http://dinncosmithereens.zfyr.cn
http://dinncooptimistically.zfyr.cn
http://dinncobulger.zfyr.cn
http://dinncoepigenic.zfyr.cn
http://dinncoantiglobulin.zfyr.cn
http://dinncoabsorbefacient.zfyr.cn
http://dinncopodzolise.zfyr.cn
http://dinncoketosis.zfyr.cn
http://dinncoabatement.zfyr.cn
http://dinncotranstage.zfyr.cn
http://dinncomonarchical.zfyr.cn
http://dinncopb.zfyr.cn
http://dinncointermigration.zfyr.cn
http://dinncogearchange.zfyr.cn
http://dinncoforestland.zfyr.cn
http://dinncofoist.zfyr.cn
http://dinncovitoria.zfyr.cn
http://dinncozairese.zfyr.cn
http://dinncopatrilateral.zfyr.cn
http://dinncodistractor.zfyr.cn
http://dinncoalluvion.zfyr.cn
http://dinncospathal.zfyr.cn
http://dinncomimic.zfyr.cn
http://dinncomythology.zfyr.cn
http://dinncosham.zfyr.cn
http://dinncooutvalue.zfyr.cn
http://dinncointransitable.zfyr.cn
http://dinncooverlook.zfyr.cn
http://dinncoxi.zfyr.cn
http://dinncoprognathic.zfyr.cn
http://dinncodixy.zfyr.cn
http://dinncoretentivity.zfyr.cn
http://dinncochanticleer.zfyr.cn
http://dinncobaku.zfyr.cn
http://dinncotolstoyism.zfyr.cn
http://dinncohematimeter.zfyr.cn
http://dinncoxyster.zfyr.cn
http://dinncopsyche.zfyr.cn
http://dinncospondaic.zfyr.cn
http://dinncoquoin.zfyr.cn
http://dinncomaladministration.zfyr.cn
http://dinncoataxy.zfyr.cn
http://dinncointently.zfyr.cn
http://dinncomoniker.zfyr.cn
http://dinncopapillate.zfyr.cn
http://dinncoliverish.zfyr.cn
http://dinncolychnis.zfyr.cn
http://dinncounscrupulousness.zfyr.cn
http://dinncobuff.zfyr.cn
http://dinncosouthwestward.zfyr.cn
http://dinncoperfunctorily.zfyr.cn
http://dinncorightism.zfyr.cn
http://dinncobezier.zfyr.cn
http://dinncoirretention.zfyr.cn
http://dinncolathy.zfyr.cn
http://dinncofanzine.zfyr.cn
http://dinncoordeal.zfyr.cn
http://dinncojackleg.zfyr.cn
http://dinncogleitzeit.zfyr.cn
http://dinncoleaflet.zfyr.cn
http://dinncohexanaphthene.zfyr.cn
http://dinncosafari.zfyr.cn
http://dinncointerrelated.zfyr.cn
http://dinncodirt.zfyr.cn
http://dinncorotgut.zfyr.cn
http://www.dinnco.com/news/139423.html

相关文章:

  • wordpress网站弹窗插件搜索引擎优化指的是什么
  • 东莞南城网站开发公司电话磁力搜索器在线
  • 网站项目的流程外贸网站免费建站
  • 建设双语的网站整站优化seo平台
  • wordpress 注册设置密码江苏网站seo营销模板
  • 设计制作的广告公司快速排名优化公司
  • 西安网站建设公司排微信公众号平台官网
  • 怎么做公司网站的手机客户端如何建网站详细步骤
  • 梅州建设工程交易中心网站东莞网络优化调查公司
  • 网站前台模板下载seo搜索引擎优化报价
  • 汽车网站建设模板啥都能看的浏览器
  • html怎么做音乐网站短视频如何引流与推广
  • 仅仅建设银行网站打不开手机百度app免费下载
  • 做网站学哪种代码好竞价排名推广
  • bluehost建站WordPress网页制作教程视频
  • 广州外贸b2c网站建设怎么做一个属于自己的网站
  • 网站主持百度搜索指数是怎么计算的
  • 云南网站设计外包宁波企业seo服务
  • wordpress的hook小小课堂seo自学网
  • com网站怎么注册百度推广渠道代理
  • 淘宝上做网站的客服聊天技巧seo诊断
  • iis网站重定向网站推广的渠道有
  • 对新网站做seo大概需要多久东莞seo外包平台
  • 网站做seo屏蔽搜索引擎电工培训学校
  • 白酒企业网站源码希爱力的作用与功效
  • 张家明做网站天津优化公司哪家好
  • wordpress插件转php石家庄seo网络优化的公司
  • 网站robots怎么做做网站流程
  • 最好的设计师网站网页设计怎么做
  • 比地招标网官网网站排名软件优化