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

烟台做网站价格网页游戏排行2020前十名

烟台做网站价格,网页游戏排行2020前十名,aspnet网站开发实例教程课件,kali建设网站CF传送门 洛谷传送门 【题目分析】 在zxy大佬的讲解下终于懂了这道题的做法了qwq。。。 首先根据题意#xff0c;出发点不一定在特殊点上#xff0c;但第一次操作后#xff0c;之后所有的操作都是在特殊点上#xff0c;所以先考虑从线上出发的最大概率#xff0c;再加一步… CF传送门 洛谷传送门 【题目分析】 在zxy大佬的讲解下终于懂了这道题的做法了qwq。。。 首先根据题意出发点不一定在特殊点上但第一次操作后之后所有的操作都是在特殊点上所以先考虑从线上出发的最大概率再加一步即可得到从点出发的最大概率二者取较大值即可。 记数组f[i][j][k]表示从i点走k步到j点的概率所以转移方程就出来了 然后发现这个形式其实就是矩阵乘法所以可以利用矩阵快速幂优化计算出走2^i步的概率。 但每次都进行一次快速幂的计算复杂度为O(n^3log(q))所以继续优化。 因为我们只需要考虑最后到达t的最大概率所以在进行矩阵乘法的时候很多位置都是没用的所以考虑将初始矩阵简化为一个1*n的矩阵表示走0步到达t的概率显然只有base[t]1其他位置均为0。 然后将操作数进行二进制拆分进行左乘因为初始矩阵只有1行所以不管乘几次都只有一行这样直接优化了一个n的复杂度。 从直线开始就是比从点开始少了一步因为要先走到点上所以就先处理从直线开始走的情况统计答案最后再计算一次就可以得到从点开始走的概率。 考虑构造f[i][j][0]显然从i点走一步到达j点的概率为(1/(经过i点直线数)*直线i,j上的点数)根据这个构造即可。 然后就是各种小细节。。。 1.直线去重这样可以避免进行重复计算。 2.将一个vector的值赋给另一个vector的时候加个传址符会快一点。 3.在计算f数组和base数组的时候如果f[i][j][k]或g[i]已经小于1e-6了那么其实并没有必要继续计算下去了因为精度太小反而可能会爆炸而且题目也说了误差在1e-6以内即可这样大大减少运行时间。 【代码~】 #includebits/stdc.h using namespace std; const int MAXN201; const int MAXM15;int n,q; int x[MAXN],y[MAXN]; int vis[MAXN],cnt[MAXN]; double ans; double f[MAXN][MAXN][MAXM1]; double Base[MAXN],zy[MAXN]; vectorint point[MAXN][MAXN]; vectorpairint,int line; inline int Read(){int i0,f1;char c;for(cgetchar();(c9||c0)c!-;cgetchar());if(c-)f-1,cgetchar();for(;c0c9;cgetchar())i(i3)(i1)c-0;return i*f; }bool check(int a,int b,int c){return (y[b]-y[a])*(x[c]-x[a])(y[c]-y[a])*(x[b]-x[a]); }int main(){nRead();for(int i1;in;i)x[i]Read(),y[i]Read();for(int i1;in;i){memset(vis,0,sizeof(vis));for(int j1;jn;j){if(ij)continue;if(vis[j])continue;cnt[i];for(int k1;kn;k){if(check(i,j,k)){point[i][j].push_back(k);vis[k]1;}}line.push_back(make_pair(point[i][j][0],point[i][j][1]));}}sort(line.begin(),line.end());line.erase(unique(line.begin(),line.end()),line.end());int siz1line.size();for(int i0;isiz1;i){vectorint vecpoint[line[i].first][line[i].second];int siz2vec.size();for(int j0;jsiz2;j){for(int k0;ksiz2;k){f[vec[j]][vec[k]][0]1.0/siz2*1.0;}}}for(int i1;in;i){for(int j1;jn;j){f[i][j][0]/cnt[i];}}for(int i1;iMAXM;i){for(int j1;jn;j){for(int k1;kn;k){if(f[j][k][i-1]1e-6){for(int t1;tn;t){f[j][t][i]f[j][k][i-1]*f[k][t][i-1];}}}}}qRead();while(q--){int tRead(),stepRead()-1;memset(Base,0,sizeof(Base));Base[t]1;for(int i0;iMAXM;i){if((1i)step)break;if((1i)step){memset(zy,0,sizeof(zy));for(int j1;jn;j){if(Base[j]1e-6){for(int k1;kn;k){zy[k]f[k][j][i]*Base[j];}}}memcpy(Base,zy,sizeof(zy));}}ans0.0;int sizline.size();for(int i0;isiz;i){vectorint vecpoint[line[i].first][line[i].second];double tot0.0;int siz2vec.size();for(int j0;jsiz2;j){totBase[vec[j]];}tot/1.0*siz2;ansmax(ans,tot);}memset(zy,0,sizeof(zy));for(int i1;in;i){if(Base[i]1e-6){for(int j1;jn;j){zy[j]Base[i]*f[j][i][0];}}}memcpy(Base,zy,sizeof(zy));for(int i1;in;i)ansmax(ans,Base[i]);printf(%.10lf\n,ans);}return 0; }   转载于:https://www.cnblogs.com/Ishtar/p/10010705.html
http://www.zqtcl.cn/news/155046/

相关文章:

  • 微信人生里面微网站怎么做wordpress 第三方登录 代码
  • 做商城网站哪里高端大气网站案例
  • 网站做项目网站设计公司深
  • 学校做网站及费用建设网站有何要求
  • 河北邢台移动网站建设宁波网站开发公司电话
  • 免费建立个人网站申请seo搜索引擎优化推广
  • 如何拷贝服务器里面网站做备份金融网站怎么做的
  • 什么网站做的比较好网上投资网站建设
  • 公司网站运营方案策划办网站怎么赚钱
  • 贾汪区建设局网站设计接单兼职网站
  • 东莞商城网站建设哪家便宜wordpress 插件路径
  • 网站服务器 安全快递系统专注快递企业网站开发
  • 旅游网站平台建设的方案深圳移动官网网站建设
  • 如何建设企业人力资源网站网站建设和网络优化的区别
  • 辽宁网站设计影响网站用户体验
  • cms网站如何修改黄山建设网站
  • 宾爵手表官方网站小熊源码网
  • 荥阳网站建设网站建设取得了
  • 江苏省住房和城乡建设厅 官方网站wordpress点击下载
  • 找家里做的工作上哪个网站公司取名三个字推荐
  • 购物网站建设源码wordpress 多多进宝
  • 重庆定制网站建设地址晋安福州网站建设
  • 360建网站了解深圳网站页面设计
  • 哪些网站首页做的好蛋糕网站内容规划
  • 富阳市网站息壤服务器网站打不开
  • 中文建站模板客户做网站嫌贵了
  • 做网站用jquery做网站都有哪些费用
  • 网站知识安卓studio制作一个简单app
  • 一个购物网站开发语言外贸企业
  • 给一个装修公司怎么做网站做网站打开图片慢