G - Damaged Bicycle 状压+最短路,D-七圣召唤_概率dp

news2025/7/14 8:06:32

G - Damaged Bicycle 状压+最短路

最短路处理出1号节点和带车子的点到n的距离dist[x][n],G可以从节点1直接走到n,也可以从节点1走到带车子的节点再骑到n,如果车子坏了可以走到n,也可以走到下一个车子节点再进行之前的步骤,所以可以记忆化搜索一下,dp[sta][x],sta表示走了几个关键点,是一个压缩的二进制,x是当前的关键点,转移就是

dp[sta][x]=min(dp[sta][x],1.0*(1-p[x])*dist[x][n]/r+p[x]*(1.0*dist[x][a[i]]/t+dfs(sta|(1<<i-1),i)));

该点的车子没坏的期望加上坏了走到下一个关键点的期望

【超好懂的比赛题解】2021CCPC哈尔滨站 个人题解_RWLinno的博客-CSDN博客

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define pause system("pause")
using namespace std;
const int N=1e6+5;
const int inf=1e18;
double t,r;
int n,m,head[N],cnt,k,a[22];
struct Edge
{
    int next,to;
    int w;
}e[N];
void addedge(int from,int to,int w)
{
    e[++cnt].next=head[from];
    e[cnt].to=to;
    e[cnt].w=w;
    head[from]=cnt;
}
int vis[N],dist[22][N];
double dp[N][22],p[22];
struct node
{
    int id,dis;
    bool operator<(const node &a)const
    {
        return a.dis<dis;
    }
};
void dij(int s,int num)
{
    for(int i=1;i<=n;i++) vis[i]=0,dist[num][i]=inf;
    dist[num][s]=0;
    priority_queue<node>q;
    q.push(node{s,0});
    while(!q.empty())
    {
        node u=q.top();q.pop();
        int now=u.id;
        double dis=u.dis;
        if(vis[now]) continue;
        vis[now]=1;
        for(int i=head[now];i;i=e[i].next)
        {
            int j=e[i].to;
            if(dist[num][now]+e[i].w<dist[num][j])
            {
                dist[num][j]=dist[num][now]+e[i].w;
                if(!vis[j]) q.push(node{j,dist[num][j]});
            }
        }
    }
}
double dfs(int sta,int x)
{
    if(dp[sta][x]) return dp[sta][x];
    double res=1.0*p[x]*dist[x][n]/t+(1.0-p[x])*dist[x][n]/r;
    for(int i=1;i<=k;i++)
    {
        if((sta>>i-1)&1) continue;
        res=min(res,1.0*(1-p[x])*dist[x][n]/r+p[x]*(1.0*dist[x][a[i]]/t+dfs(sta|(1<<i-1),i)));
    }
    return dp[sta][x]=res;
}
signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>t>>r>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int u,v;double w;
        cin>>u>>v>>w;
        addedge(u,v,w);
        addedge(v,u,w);
    }
    cin>>k;
    a[0]=1;p[0]=1;
    for(int i=1;i<=k;i++)
    {
        cin>>a[i]>>p[i];
        p[i]/=100.0;
    }
    for(int i=0;i<=k;i++) dij(a[i],i);
    double ans=dfs(0,0);
    if(dist[0][n]>=inf) cout<<"-1\n";
    else cout<<fixed<<setprecision(10)<<ans<<endl;
    pause;
    return 0;
}

D-七圣召唤_概率dp

第一个设dp[i]为抽到i种卡片需要的期望次数,显然dp[1]=1,然后

dp[i]=\frac{i-1}{k}dp[i]+\frac{k-i+1}{k}dp[i-1]+1

意思就是有\frac{i-1}{k}的概率是抽到已经抽到的牌,那么需要求的期望还是不变的,还是需要dp[i]来转移,有\frac{k-i-1}{k}的概率是抽到没抽到的牌,那么就可以由dp[i-1]来转移

第二个答案f[i],可以理解成f[i]=(k-f[i-1])/k+f[i-1],在i-1次的基础上加上这一次成功的概率,应该说是期望,理解是价值为1,所以就直接加上了

2022 年辽宁省大学生程序设计竞赛 个人题解_RWLinno的博客-CSDN博客_辽宁省程序设计大赛

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define pause system("pause")
using namespace std;
const int N=1e6+5;
const int inf=1e18;
int n,k;
double qpow(double a,int b)
{
    double res=1.0;
    while(b)
    {
        if(b&1) res=res*a;
        a=a*a;
        b>>=1;
    }
    return res;
}
double dp[N],f[N];
signed main()
{
    //ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>n>>k;
    dp[0]=0;dp[1]=1;
    for(int i=2;i<=k;i++)
    {
        dp[i]=(1.0*(k-i+1)*dp[i-1]/k+1.0)*k/(k-i+1);
        //cout<<dp[i]<<" "<<i<<endl;
    }
    f[0]=0;f[1]=1;
    for(int i=2;i<=n;i++)
        f[i]=f[i-1]+1.0*(k-f[i-1])/k;
    cout<<fixed<<setprecision(10)<<dp[k]<<" "<<f[n]<<endl;
    pause;
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/8590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React源码解读之React Fiber

开始之前&#xff0c;先讲一下该文章能帮你解决哪些问题&#xff1f; facebook为什么要使用重构ReactReact Fiber是什么React Fiber的核心算法 - react是如何中断重启任务的react fiber部分源码简化版 前言 该文章涉及的源码部分基于React v17.0.2 why React Fiber 浏览器…

Go 语言搭建个人博客(qiucode.cn 重构篇 二)

1、MVC模式 MVC模式是一种 WEB 长期累积的总结,但这并不是唯一模式。 对于 MVC 模式,想必有过搭建 WEB 项目的开发者并无陌生。 服务器端负责将客户端发送过来的 HTTP 请求,进行处理(处理器),解析路由(Route),而后把 URL 映射到对应的控制器(Controller)。 MVC …

智慧公路解决方案-最新全套文件

智慧公路解决方案-最新全套文件一、建设背景二、思路架构三、建设方案1、智慧路产管理2、智慧基础设施3、智慧信息服务4、智慧交通管控5、智慧系统平台6、智慧辅助决策四、获取 - 智慧公路全套最新解决方案合集一、建设背景 交通出行主要面临的痛点是安全和拥堵&#xff0c;而…

算法与数据结构 - 散列表

文章目录引言一、散列表概述1.1 哈希函数1.2 散列表二、算法实战2.1 两数之和题目题解1. 暴力破解2. hash表结语点赞再看,养成习惯引言 某日,韩梅梅和李雷来到一家新开的网红图书馆借阅书籍。 韩梅梅&#xff1a; 李雷&#xff0c;快来帮我找下《数据结构从入门到放弃》 李雷看…

测试项目(MSTest)中涉及到读取App.config 操作(.net6)

文章目录环境问题排查过程查看Nuget包是否正确查看配置文件是否正确解决办法&#xff08;手动&#xff09;解决办法&#xff08;自动&#xff09;为什么是这样的呢&#xff1f;环境 VS2022MSTest项目.Net6版本 问题 在测试过程中发现读取App.config中的连接字符串是null&…

颜色杂项笔记

面向用户的HSV颜色模型的三个属性 面向用户的颜色模型HSV&#xff0c;有如下几个属性 Hue&#xff08;色度、色调、色相&#xff09;&#xff1a;描述具体颜色&#xff0c;比如红、蓝、黄、绿等&#xff0c;可以理解为color的专业说法。 Saturation&#xff08;饱和度&#xff…

红帽8使用nfs共享本地镜像

实验环境 FFF-server 192.168.80.100 SSS-client 192.168.80.254 实验前提关闭selinux和防火墙 第一步在开始之前我们可以先看一下nfs-server本地上的一个镜像挂载情况。如图1. 可以看到本地镜像已经被挂载上去。 第二步我们继续看一下server的yum仓库是否已经成功配置。如…

公布一小时下载量达10W:京东T5级架构师出品高并发核心编程手册

高并发有多重要&#xff1f; 高并发面试已经成了各大厂面试必问的题目&#xff0c;尤其是阿里、京东这样的大厂&#xff0c;面试的时候会往深了去问&#xff0c;可以说是你能回答出多少&#xff0c;你拿到大厂offer的概率就有多大&#xff01; 因高并发的问题回答不上来的案例…

采购软件能否降低企业采购成本?如何实现的?

在如今的疫情影响下&#xff0c;降低成本一直是企业决策者的主要目标之一&#xff0c;在采购领域尤其如此。而很多企业在销售业绩下滑时&#xff0c;纷纷通过采购软件来降低采购成本从而提升利润&#xff0c;达到了不可思议的效果。那么采购软件能否降低企业采购成本&#xff1…

ELK日志实时分析

项目实训报告&#xff1a;ELK日志实时分析 任务目标 使用filebeat采集日志数据&#xff0c;通过kafka将数据传输给logstash进行过滤&#xff0c;最后输出到Elasticsearch绘制数据图表。 数据说明 实施步骤 将数据上传到家目录&#xff08;/home/hadoop&#xff09;&#…

CentOS7.5虚拟机扩展xfs文件系统

1.目标 虚拟机xfs文件系统挂载点根目录&#xff08;也就是/dev/sda3&#xff09;扩展空间 2.软件版本 Vmware WorkStation 16pro CentOS7.5 3.外部硬盘增加空间 硬盘空间只能增大&#xff0c;不能缩小&#xff0c;最大磁盘大小必须大于现在的size&#xff0c;否则扩展按钮置灰…

JSON 学习(FastJson和Jackson)

JSON 学习 文章目录JSON 学习1. Json数据格式1.1 Json 数据格式1.2 Json 对象格式1.3 数组对象相互嵌套格式1.3.1 数组中的元素是对象1.3.2 对象中的值是数组1.3.3 你中有我&#xff0c;我中有你2. 使用场景3. java里面操作json有哪些技术4. Fastjson4.1 FastJson的优点4.2 Fas…

Spring Security认证之基本认证

本文内容来自王松老师的《深入浅出Spring Security》&#xff0c;自己在学习的时候为了加深理解顺手抄录的&#xff0c;有时候还会写一些自己的想法。 快速入门 在Spring Boot项目中使用Spring Security非常方便&#xff0c;创建一个新的Spring Boot项目我们只要引入Web和Spri…

java项目:前后端分离SpringBoot+Vue+Element的校内跑腿平台

收藏点赞不迷路 关注作者有好处 项目编号&#xff1a;BS-XX-155 一&#xff0c;项目简介 近年来&#xff0c;随着国内都市化的发展&#xff0c;生产生活节奏变快、各种往来频繁。经济的高速发展催生出“懒人经济”。不想走出家门&#xff0c;饭菜可以送上门;不方便交水、电、…

Java中restTemplate的使用

原文链接 代码地址 本文介绍restTemplate基础用法。 Java中get和post的用法请参考&#xff1a;https://mp.weixin.qq.com/s/mC0D1nuCqIori5bWtLorWQ 1 提供get/post接口 1.1 Controller RestController RequestMapping("/homepage") public class MyController…

电脑如何清理重复文件,查找电脑重复文件的软件

在电脑上面&#xff0c;不论是我们可以保存的&#xff0c;还是自动缓存的&#xff0c;都会有大量的重复文件&#xff0c;可能我们自己并没有发现&#xff0c;占据着电脑大量的空间&#xff0c;长此以往下去&#xff0c;会让电脑变得卡顿&#xff0c;我们就需要来清理一下这些不…

低代码维格云甘特视图入门教程

功能简介 低代码维格云甘特图主要通过条状图来显示某些时间相关的活动(任务、阶段、项目等)随着时间进展的情况,以便管理者直观地查看活动进度,把控全局。又称为时间视图、横道图、条状图(Bar chart)。 低代码维格云甘特图适用场景 项目管理生产管理其他领域:建筑、IT软件…

嵌入式FreeRTOS学习八,xTaskCreate创建任务的细节以及恢复中断任务实现

一.创建任务函数xTaskCreate 任务也不是很复杂的东西&#xff0c;任务也就是一个函数xTaskCreate。简单得说&#xff0c;创建一个任务&#xff0c;你得提供它的执行函数&#xff0c;你得提供它的栈的大小&#xff0c;函数的执行空间&#xff0c;函数的优先级等重要的条件。因为…

IPWorks EDI Translator Delphi Edition

IPWorks EDI Translator Delphi Edition 一套轻量级可编程EDI解析和翻译组件。 IPWorks EDI转换器包括便于电子数据交换(EDI)解析、翻译和验证的软件组件。这些组件包括灵活的模式支持&#xff0c;使开发人员能够使用各种模式格式&#xff0c;从而更容易与现有EDI处理应用程序集…

Maven项目属性与版本管理

本次将介绍两个内容&#xff0c;分别是&#xff1a; 属性版本管理 1. 属性 1.1 问题分析 我们先来分析一下问题&#xff1a; 前面在父工程中的dependencyManagement标签中对项目中所使用的jar包版本进行了统一的管理&#xff0c;但是如果在标签中有如下的内容&#xff1a;…