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

十大财务软件/推推蛙贴吧优化

十大财务软件,推推蛙贴吧优化,网站开发前台 后台技术,兰州网站建设招聘题意 游乐园被描述成一张 n 个点,m 条边的无向图(无重边,无自环)。每个点代表一个娱乐项目,第 i 个娱乐项目需要耗费 ci 分钟的时间,会让小 y 和妹子的开心度分别增加 h1i ,h2i ,他们俩初始的开…

题意

游乐园被描述成一张 n 个点,m 条边的无向图(无重边,无自环)。每个点代表一个娱乐项目,第 i 个娱乐项目需要耗费 ci 分钟的时间,会让小 y 和妹子的开心度分别增加 h1i ,h2i ,他们俩初始的开心度都是 0 。每条边代表一条路,第 i 条边连接编号为 xi , yi 的两个娱乐项目,从 xi 走到 yi 或者从 yi 走到 xi 耗费的时间都是 ti 分钟。小 y 和妹子预计在游乐园里玩 k 分钟。最开始的时候,小 y 和妹子会等概率的随机选择一个娱乐项目开始玩,每玩完一个项目后,小 y 和妹子会等概率的随机选择一个可以从当前项目直达的且来得及玩的项目作为下一个项目。如果玩完一个项目后周围没有可以直达的且来得及玩的项目,小 y 和妹子就会提前结束游玩。 请你分别计算小 y 和妹子在游玩结束后开心度的期望。

数据

输入第一行给出三个空格隔开的整数,分别表示 n,m,k
接下来的 n 行,每行三个空格隔开的整数,分别表示 ci,h1i,h2i
接下来的 m 行,每行三个空格隔开的整数,分别表示 xi,yi,ti

输出两个用空格隔开的实数,分表表示小 y 和妹子开心度的期望,精确到小数点后 5 位。

0<n≤100,1×60≤k≤8×60

10≤ci≤60,0<h1i,h2i≤100

0<ti≤15

输入

5 4 60
25 12 83
30 38 90
16 13 70
22 15 63
50 72 18
2 1 7
3 1 7
4 3 1
5 3 10

输出

39.20000 114.40000

 

题解:

  设定pair<double ,double> dp[i][j],表示到达并玩完第 i 个项目,两个人的期望

  转移就是向能走的点,走下去,期望总和/cnt,就是累积的ans

  看代码吧

#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define ls i<<1
#define rs ls | 1
#define mid ((ll+rr)>>1)
#define pii pair<int,int>
#define MP make_pair
typedef long long LL;
const long long INF = 1e18+1LL;
const double pi = acos(-1.0);
const int N = 5e2+5, M = 1e3+20,inf = 2e9+10;int n,m,K,t = 1,c[N],h1[N],h2[N],head[N];
struct ss{int to,next,value;
}e[N*N];
void add(int u,int v,int w) {e[t].to = v;e[t].next = head[u];e[t].value = w;head[u] = t++;
}
pair<double , double> dp[N][500];
int vis[N][500];
pair<double , double> dfs(int u,int k) {if(vis[u][k])return dp[u][k];vis[u][k] = 1;pair<double , double>& ret = dp[u][k],now;ret = MP(h1[u],h2[u]);int cnt = 0;for(int i = head[u]; i; i = e[i].next) {int to = e[i].to;if(k >= c[to]+e[i].value)cnt++;}for(int i = head[u]; i; i = e[i].next) {int to = e[i].to;if(k < c[to] + e[i].value) continue;now = dfs(to,k - c[to] - e[i].value);ret.first += now.first*1.0/cnt;ret.second += now.second*1.0/cnt;}//cout<<ret.first<<" "<<ret.second<<" "<<dp[u][k].first<<" "<<dp[u][k].second<<endl;return ret;
}
int main() {scanf("%d%d%d",&n,&m,&K);for(int i = 1; i <= n; ++i)scanf("%d%d%d",&c[i],&h1[i],&h2[i]);for(int i = 1; i <= m; ++i) {int x,y,t;scanf("%d%d%d",&x,&y,&t);add(x,y,t);add(y,x,t);}pair<double , double> ans = MP(0,0),now;for(int i = 1; i <= n; ++i) {now = dfs(i,K - c[i]);ans.first += now.first*1.0/n;ans.second += now.second*1.0/n;}printf("%.5f %.5f\n",ans.first,ans.second);return 0;
}

 

转载于:https://www.cnblogs.com/zxhl/p/7135893.html

http://www.lbrq.cn/news/753409.html

相关文章:

  • 用记事本做电影介绍的网站/seo教学视频教程
  • 引流推广营销/苏州seo关键词排名
  • 网站建设代理平台/武汉大学人民医院怎么样
  • wap网站开发自适应手机屏幕开源包/深圳百度推广代理
  • 国外网站服务器建设/上海百度关键词优化公司
  • ps做网站logo尺寸/白嫖永久服务器
  • 萧山做网站哪里找/微信指数是什么意思
  • 宝鸡网站建设排名/软件推广方案经典范文
  • 只做绿色食品的网站/买卖链接网
  • wordpress主页如何加东西/seo到底是做什么的
  • 做营销的网站推广/百度秒收录神器
  • 哪里找专业做网站的人常熟/seo系统培训课程
  • 发果怎么做视频网站/培训seo去哪家机构最好
  • 环球资源网是卖什么的/郑州官网网站推广优化公司
  • 网站建设走什么科目/百度百科推广费用
  • 小学校园门户网站建设/网站建设制作
  • 网站建设 行业资讯/百度百家自媒体平台注册
  • 手机网站制作系统/建网站平台
  • 厦门三五互联可以做网站吗/竞价托管外包费用
  • 海南网站建设网站开发/宁波网络推广平台
  • 昆山做网站找哪家好/网站出租三级域名费用
  • 北京建网站需要多少钱/百度sem推广具体做什么
  • wordpress怎么设置小图标/seo宣传
  • 做网站的书籍推荐/宁波网站推广联系方式
  • 如何做网站代理/域名注册查询阿里云
  • 海外高延迟服务器做网站/百度助手安卓版下载
  • 重庆江北区网站建设公司/沈阳今天刚刚发生的新闻
  • 做网站的人 优帮云/营销方案范文
  • pb 做网站/怎么注册自己的网址
  • 最新流行网站开发技术/网站建设苏州
  • 【R语言】R 语言中打印含有双引号的字符串时会出现 “\” 的原因解析
  • python的邮件发送及配置
  • Java增强for循环(小白友好版)
  • 衡石使用指南嵌入式场景实践之仪表盘嵌入
  • 《从混乱到有序:AI 如何一步步梳理数据质量难题》文章提纲
  • Java基础 8.16