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

常见的网站建设技术有哪些环保网站建设的主题

常见的网站建设技术有哪些,环保网站建设的主题,智能平台开发是干什么的,邢台哪里有做网站的第一次做洛谷系列#xff0c;紧张#xff0c;请多关照哦 题目传送门#xff1a;[SDOI2007] 科比的比赛 - 洛谷 思路分析 这道题大概题意是给定我们的主人公 Kobe Bryant 的 mm 个对手#xff0c;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)。 进行以上三次优化的思路是已经可以通过本题了。 代码 #includebits/stdc.h #define int long long #define rep(i,a,b) for(int ia;ib;i) #define antirep(i,a,b) for(int ia;ib;i--) using namespace std; const int N1e6,M1e3; const double err1e-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-yerr) return 1;if(x-yerr) 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.py.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[i1]*k[i][1].p; } void dfs(int cur,double tmp1,int tmp2){if(curn){if(cmp_double(tmp1,ans1)1||cmp_double(tmp1,ans1)2){ans1tmp1;if(tmp2ans2) ans2tmp2;}return;}if(cmp_double(tmp1,ans1)0) return;if(f(cur,tmp1)0)return;rep(i,1,n){int IDk[cur][i].id;if(vst[ID]1) continue;vst[ID]1;tmp1*k[cur][i].p,tmp2a[ID];dfs(cur1,tmp1,tmp2);tmp1/k[cur][i].p,tmp2-a[ID],vst[ID]0;}return; } signed main(){cinnm;rep(i,1,m) cina[i];rep(i,1,n){rep(j,1,m)cink[i][j].p,k[i][j].idj;sort(k[i]1,k[i]1m,cmp);}prepare();dfs(1,1,0);coutfixedsetprecision(12)ans1endl;coutans2endl;return 0; } 这里对代码进行一些解释因为本题是浮点数操作浮点数会在精度很高的时候产生误差因此这里使用了 cmp_double 函数进行比较浮点数大小。 预处理之所以是逆序的储存是因为正序的搜索每次询问的都是剩余比赛的最有情况。 排序可以保证把 Kobe Bryant 最弱也就是获胜概率最高的对手放在每场比赛的最前面。 后记 备注Kobe Bryant 是本题主人公科比的原名。而在 20202020 年科比本人乘坐的西科斯基 S−76S−76 直升机在美国加利福尼亚州洛杉矶县卡拉巴萨斯市坠毁。年仅 4141 岁。 虽然我们不能跟题目重所描述的那样帮助科比赢得比赛,但是我们可以通过解出这道题淡化对科比离去的哀伤。 牢大我想你了。
http://www.hkea.cn/news/14415428/

相关文章:

  • 查询网站名有没有收录郑州电商网站开发
  • 北海哪家做网站ssr和wordpress
  • 全栈网站开发者域名注册服务机构注销域名的情形
  • 民营医院建设网站wordpress缩略图解决方案
  • 网上做效果图网站有哪些软件好看的主页背景图片
  • 快速的网站开发工具佛山网站策划哪家专业
  • 网站开发人员岗位分布说明游戏开发设计公司
  • 免费自助建站哪个平台好顺的网站建设报价
  • 鲜花网站模板下载建设工程合同约定仲裁违反专属管辖吗
  • 有哪些企业会找人做网站建设专业网吧装修设计公司
  • 珠海 网站建设如何用照片做模板下载网站
  • 网站建设费记账宁波正规网站建设使用方法
  • 网站快速搭建平台单位建设网站的作用意义
  • 网站编程学怎么让百度多收录网站
  • 如何做能上传视频网站西安网站建设怎么接单
  • 奇趣统计网站谁做的免费网站空间免费主机
  • 百度网站建设哪家公司好校园网站规划与建设
  • 新农村建设官方网站google权重查询
  • 拼多多刷销量网站开发行者seo
  • 重庆金山建设监理有限公司网站有创意的产品设计作品介绍
  • 如何做网站的维护和推广网页游戏传奇图片
  • wordpress站长之家网站建设业务介绍
  • 深州网站济南网站建设建站
  • 设置自己的网站腾讯云做淘客网站
  • 有没有帮忙做网站企业建站用什么好
  • 网站解决方案模板一个云主机 多个网站
  • 网站建设pdf不想让网站保存密码怎么做
  • 江苏城乡建设网站如何处理并发量大的购物网站
  • 网站建设zg886源码下载网站源码
  • 给别人做网站需要什么许可证网络推广员是什么工作