【洛谷P1850】换教室

高速电路的信号完整性分析 摘要:介绍了高速PCB设计中的信号完整性概念以及破坏信号完整性的原因,从理论和计算的层面上分析了高速电路设计中反射和串扰的形成原因,并介绍了IBIS仿真。 关键词:信号完整性 反射 串扰 IBIS仿真 随着半导体技术和深压微米工艺的不断发展,IC的开关速度目前已经从几十MHz增加到几百MHz,甚至达到几GHz。在高速PCB设计中,工程师经常会碰到误触发、阻尼振荡、过冲、欠冲、串... 阅读详情

链接

首先看题,求什么全局最大值,基本可以确定是用动归。

我们先不考虑概率,那么问题转化为:上完N节课消耗的最小体力值是多少。

如何转移?

对于每个时间段,显然有换课有不换课两种选择,并且一节课的答案只与上一节课的答案有关。

可以用 dis [ i ] [ j ] 表示 [ i 教室 ] 到 [ j 教室 ] 的最短路(数据很小,可以预先Floyd处理出来)

用 f [ i ] [ 0/1 ] 表示 [ 第i节课 ] [ 换教室/不换教室 ] 的答案,显然,有四种情况:

两节课都不换,都在c教室:f [ i ] [ 0 ] = min ( f [ i ] [ 0 ] , f [ i - 1 ] [ 0 ] + dis [ c [ i - 1 ] ] [ c [ i ] ] )

上一节课换了,上节课在d教室:f [ i ] [ 0 ] = min ( f [ i ] [ 0 ] , f [ i - 1 ] [ 1 ] + dis [ d [ i - 1 ] ] [ c [ i ] ] )

这一节课换了,这节课在d教室:f [ i ] [ 1 ] = min ( f [ i ] [ 1 ] , f [ i - 1 ] [ 0 ] + dis [ c [ i - 1 ] ] [ d [ i ] ] )

两节课都换了,都在d教室:f [ i ] [ 1 ] = min ( f [ i ] [ 1 ] , f [ i - 1 ] [ 1 ] + dis [ d [ i - 1 ] ] [ d [ i ] ] )

-----------上方方程k=min(k,a);k=min(k,b)均可写成k=min(a,b)------------------------------

这么一看还挺对的。

现在开始考虑期望。题中已经给出了我们每个事件发生的概率,所以上述四种情况又需要考虑  换成功了/失败了  的情况。

例如:f [ i ] [ j ] [ 0 ] = min ( f [ i - 1 ] [ j ] [ 0 ] + dis [ c [ i - 1 ] ][ c [ i ] ] , //不换的情况,概率不影响
                                          f [ i - 1 ] [ j ] [ 1 ] + p [ i - 1 ] * dis [ d [ i - 1 ] ] [ c [ i ] ]  
                                        + ( 1 - p [ i - 1 ] ) * dis [ c [ i - 1 ] ] [ c [ i  ] ] 
                                          );

f [ i - 1 ] [ j ] [ 1 ] + p [ i - 1 ] * dis [ d [ i - 1 ] ] [ c [ i ] ]  // 换 i - 1后,i - 1成功的概率是 p [ i ] , 所以走这条边的概率就是p [ i ] 

( 1 - p [ i - 1 ] ) * dis [ c [ i - 1 ] ] [ c [ i  ] ] //同理,走另一条边对期望的贡献

同理,可以根据我们之前列的简化版方程,推出其他的情况。

f [ i ] [ j ] [ 0 ] = min
                      ( f [ i - 1 ] [ j ] [ 0 ] + dis [ c [ i - 1 ] ] [ c [ i ] ] ,
                        f [ i - 1 ] [ j ] [ 1 ]  + p [ i - 1 ] * d i s [ d [ i - 1 ] ] [ c [ i ] ] + ( 1 - p [ i - 1 ] ) * d i s [ c [ i - 1 ] ] [ c [ i ] ]
                      );
f [ i ] [ j ] [ 1 ] = min
                      ( f [ i - 1 ]  [ j - 1 ] [ 0 ] + p [ i ] * d i s [ c [ i - 1 ] ] [ d [ i ] ] + ( 1 - p [ i ] ) * dis [ c [ i - 1 ] ] [ c [ i ] ]
                        f [ i - 1 ] [ j - 1 ] [ 1 ] + p [ i - 1 ] * p [ i ] * dis [ d [ i - 1 ] ] [ d [ i ] ]
                     + p [ i - 1 ] * ( 1 - p [ i ] ) * dis [ d [ i - 1 ] ] [ c [ i ] ]
                     + ( 1 - p [ i - 1 ] ) * p [ i ] * dis [ c [ i - 1 ] ] [ d [ i ] ]
                     + ( 1 - p [ i - 1 ] ) * ( 1 - p [ i ] ) * dis [ c [ i - 1 ] ] [ c [ i ] ]
                     );

完结撒花~

代码代码

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#define maxn 2005
using namespace std;
int n,m,v,e;
int c[maxn],d[maxn];
double p[maxn];
int dis[305][305];
int x,y,z;
double f[maxn][maxn][2];
int main()
{
    scanf("%d%d%d%d",&n,&m,&v,&e);
    for(int i=1;i<=n;i++)scanf("%d",&c[i]);
    for(int i=1;i<=n;i++)scanf("%d",&d[i]);
    for(int i=1;i<=n;i++)scanf("%lf",&p[i]);
    for(int i=1;i<=v;i++){
        for(int j=1;j<=v;j++)
            dis[i][j]=1e9;
        dis[i][i]=0;
    }
    for(int i=1;i<=e;i++)
    {
        scanf("%d%d%d",&x,&y,&z);
        dis[x][y]=min(dis[x][y],z);
        dis[y][x]=dis[x][y];
    }
    for(int k=1;k<=v;k++)
        for(int i=1;i<=v;i++)
            for(int j=1;j<=v;j++)
                dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
    f[1][0][0]=0;f[1][1][1]=0;
    for(int i=1;i<=n;i++)
        for(int j=0;j<=m;j++)
        {
            f[i][j][0]=min(f[i-1][j][0]+dis[c[i-1]][c[i]],
                           f[i-1][j][1]+p[i-1]*dis[d[i-1]][c[i]]+(1-p[i-1])*dis[c[i-1]][c[i]]);
            if(j)
            f[i][j][1]=min(f[i-1][j-1][0]+p[i]*dis[c[i-1]][d[i]]+(1-p[i])*dis[c[i-1]][c[i]],
                           f[i-1][j-1][1]+p[i-1]*p[i]*dis[d[i-1]][d[i]]
                                         +p[i-1]*(1-p[i])*dis[d[i-1]][c[i]]
                                         +(1-p[i-1])*p[i]*dis[c[i-1]][d[i]]
                                         +(1-p[i-1])*(1-p[i])*dis[c[i-1]][c[i]]
            );
            else f[i][j][1] = 1e18;
        }
    double ans=1e18;
    for(int j=0;j<=m;++j)ans=min(ans,min(f[n][j][0],f[n][j][1]));
    printf("%.2lf",ans);
}

(李煜东:卡什么常啊,能不能有点追求)

自考计算机系统原理(第六章计算机系统概论)-13015 名词解释 I/O 硬件 I/O软件 用户空间I/O软件 内核空间I/O 软件 系统调用处理程序 系统调用服务例程 设备驱动程序 中断服务程序 系统级1/O函数 虚拟文件系统 文件描述符 文件元数据 流缓冲区 索引节点 目录文件 目录项 系统打开文件表 磁盘高速缓存 高速缓存 RAM I / O 控制方式 程序直接控制I/O 就绪状态 中断控制I/O 中断屏蔽字 多重中断 中断嵌套 DMA 方式 DMA 控制器 设备控制器 I/O端口 控制端口 数据端口 状态端口 I/O 地址空间 独立编址方式 统一编址方 阅读详情

相关推荐

Rancher操作手册(v2.7.5-rc1)

选择需要创建ingress的命名空间 ==》填写ingress名称 ==》在“规则”一栏,选择“Prefix” ==》输入访问路径 ==》选择访问路径对应的service ==》如果需要继续添加访问路径,点击“添加路径”,重复前面的步骤即可。选择需要创建Deployment的命名空间 ==》填写Deployment名称 ==》选择通用 ==》填写容器名称 ==》填写镜像 ==》选择镜像的拉取密文 ==》点击添加端口或Service。点击左侧菜单栏的集群里的“项目/命名空间”,点击右下角的“创建命名空间”。

weixin_60197334的博客 5568

【bf】洛谷 P1850 换教室 暴力

一、题目: 洛谷原题 二、思路: 爆搜。 暴力枚举要换的教室,计算期望值,不断更新答案。 我写了两个DFS函数。第一个用来枚举换的教室,第二个用来算期望值,写的很丑,望见谅。 得分:80分。233 三、补充: 补充一下递归实现指数型枚举的模板。 这等价于每个整数可以选或不选,所有可能的方案总数共有2n2n2^n种。 vector&lt;int&gt;chos...

zhang14369的博客 403

DCDC BUCK开关电源PCB设计

在开关电源中,BUCK(降压)电路、BOOST(升压)电路以及BUCK - BOOST(升降压)三种电路是最基本的拓扑结构。转换器又分DCDC(直流转直流)和ACDC(交流转直流),DCDC装换器结构无疑是比ACDC转换器结构简单,所以从DCDC转换器结构入手学习开关电源是一种很好的选择。本文主要从应用角度,进行相关器件的选型计算以及PCB绘制讲解DCDC 12V转5Vbuck电路。

2301_78342510的博客 6883

洛谷-换教室-(概率期望+dp)

对于有n节课,m次申请,很明显了,定义dp[i][j][0/1]为,上到第i节课,用了j次申请,当前申请或不申请,最小期望总和。那么转移的时候,分好情况就行。由于期望值是所有概率累加起来的,所以转移的时候,如果从dp[i-1][j-1][1]来转移,那么看看要加多少期望,这个期望值是好几种不同的情况累加起来的。就是给你n节课,每节课刚开始在va[i]教室,然后每节课都可以申请调换,调换到vb[i]教室,申请成功的概率是f[i]。然后必须要按顺序上课,然后问你在上完n节课,走的路程的期望值最小是多少。...

m0_52398496的博客 321

强化学习:Distributed PPO (DPPO) 学习笔记

DPPO = Distributed + Proximal Policy Optimization Distributed:多个智能体并行训练 Proximal:限制策略更新幅度,确保稳定性 Policy Optimization:基于策略梯度的优化方法 核心思想:多个智能体并行探索环境,共享经验,通过裁剪策略更新确保训练稳定

只是个人学习笔记 1330

Python经常遇到导入xlwings就出错,如何解决

Python经常在导入xlwings时遇到错误。有人建议尝试重装或升级xlwings,但这些操作后仍然无法解决导入错误问题。

felix_8的博客 1740

P1850换教室 题解(概率dp)

1.上节课申请:f[1][i-1][j-1]+1.0*dis[c[i]][c[i-1]]*(1-k[i])*(1-k[i-1])+1.0*dis[c[i]][d[i-1]]*(1-k[i])*k[i-1]1.上节课申请:f[1][i-1][j]+k[i-1]*dis[c[i]][d[i-1]]+1.0*(1-k[i-1])*dis[c[i]][c[i-1]];2.上节课不申请:f[0][i-1][j]+dis[c[i]][c[i-1]];c[i],d[i],k[i]和题意里相同含义;

yusen_123的博客 1032

手把手教你设计STM32的JTAG电路:从原理图到PCB布局(含JLINK连接详解)

本文详细介绍了STM32的JTAG电路设计全流程,从核心原理、接口规范到PCB布局布线技巧,特别包含JLINK调试器的连接与配置方法。通过信号滤波、上拉配置和防反接保护等关键设计要点,帮助开发者构建稳定可靠的JTAG调试环境,提升嵌入式开发效率。

weixin_29159441的博客 388

洛谷P1850 [NOIP 2016 提高组] 换教室

NOIP2016 提高组 D1T3对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。在可以选择的课程中,有 2n2n2n 节课程安排在 nnn 个时间段上。在第 iii(1≤i≤n1 \leq i \leq n1≤i≤n)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 cic_ici​ 上课,而另一节课程在教室 did_idi​ 进行。在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的 nnn 节安排好的课程。如果学生想更换第 iii

yjfyjfyjf54188的博客 947

【ARM CoreLink 系列 4 -- NIC-400 控制器详细介绍】

正常情况下,一个NIC的实现,可以包含一百多个master和几十个slave,每个master和每个slave都会有一些寄存器,这些寄存器可以被 programming,实际实践中就会对 AMIB 或者 ASIB 或者 IB,当它需要具有 programming的时候,给它指定一个node number。为什么指定Node Number呢?首先,从CPU的角度,它需要有一个1M对齐的地址空间,在这1M地址空间上,对每个ASIB或者AMIB这样的接口给它一个node number以后,

CodingCos的博客 5241

在 ABAP CDS View 里把 Conversion Functions 用到极致:FLTP 精度、单位换算、货币换算与小数位处理的工程化实践

数据格式转换在真实项目中比业务逻辑更容易引发问题。ABAP CDS中的转换函数(如FLTP_TO_DEC、UNIT_CONVERSION、CURRENCY_CONVERSION和DECIMAL_SHIFT)可帮助在数据库层统一数据口径,避免应用层重复处理。这些函数支持数值精度治理、单位换算、货币转换和小数位调整,能显著提升报表性能并减少逻辑分散。通过将格式转换前移到数据模型层,可以确保服务层和UI层的数据一致性,同时降低接口传输错误风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2349

洛谷P1850 [NOIP2016]换教室

期望DP

ACoder 1090

fanuc机器人KAREL中 函数的应用

本次课程讲解编程的思路。很多的同学都玩过积木,一个一个的模块逐渐累积起来,通过彼此之间的相互联系,最终形成一个完整的整体。其实编程也是这样。 将一个对象根据其特点进行模块化拆分,尤其是一些特点非常相似的内容,将其变成一个模块。然后通过传递参数,实现不同的功能,这就是模块化编程。

haier123888的博客 2744

洛谷 P1850 [NOIP 2016 提高组] 换教室

终于自己想出概率期望dpdpdp的状态了,但是依旧没能相对转移方程。(招笑)

m0_72761451的博客 1323

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

洛谷P1850 换教室

洛谷P1850 换教室 原题链接 设状态f[i][j]表示前i个时间段,申请了j次,且第i次不申请的最小代价期望, g[i][j]表示前i个时间段,申请了j次,且第i次申请的最小代价期望, 然后转移 // It is made by XZZ #include<cstdio> #include<algorithm> #include<cmath> using na...

weixin_30879833的博客 93

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

洛谷 P1850 [NOIP 2016 提高组] 换教室(期望DP)【 提高+/省选−】

节课使用交换申请的移动耗费的体力值的总和的期望值的最小值。个教室的最短路,因为数据范围较小,使用。

weixin_74754298的博客 745

洛谷 P1850 换教室(概率)

P1850 换教室 题意:略 题解:设dp[i][j][0] 为前i个数中申请j个课,且当前没申请的状态 dp[i][j][1]为前j个数中申请了j个课,且当前申请的状态 状态转移: dp[i][j][0] = min(dp[i - 1][j][0] + f[c[i - 1]][c[i]], dp[i - 1][j][1] + k[i - 1] * f[d[i - 1]][c[i]] + (1.00 - k[i - 1]) * f[c[i - 1]][c[i]]); dp[i][j][1] = min(dp

qq_43955586的博客 332

洛谷P1850 换教室 最短路 + 动态规划

洛谷P1850 换教室最短路 + 动态规划 题解 首先预处理出任意两点的最短路 然后 dp f[ i ][ j ][ 0/1 ] 现在是 第 i 个时间段,已经申请 过 j次了,该次是否成功 0 否 1 成功 的最小的期望 主要是四个方面的转移 前一个是否申请 成功 or失败 当前是否申请 成功or失败 1 #include <bit...

weixin_33831673的博客 119

洛谷P1850 换教室 题解

天哪这道题真的是神仙。。。 orz出题人 能出这种dp转移都写吐血的题目真的tql description: 给出n个时间段,可申请m次换课,每次换课可申请从c[i]c[i]c[i]换到d[i]d[i]d[i],并有k[i]k[i]k[i]的概率换课成功,每个教室有间距,问路程期望的最小值。 solution: 首先这就是一道期望dp题。 说到期望, https://45475.blog.luog...

ShineEternal的笔记小屋 450

[NOIP2016TG] 洛谷 P1850 换教室

https://www.luogu.org/problem/P1850 题意?太长懒得概括。 期望概述 期望,记为\(E(x)\),是对于若干个概率事件,结果与概率之积的总和。 期望的数学意义是:对于一个结果均匀分布的事件,期望是无数次实验结果的平均值。 对于非均匀分布的事件,期望反映平均取值的大小。 掷骰tou子结果的平均数为3.5,这类问题说明非均匀分布事件的期望值可能不等于任何一个...

weixin_30832405的博客 613

题解 luogu P1850 【换教室】

题解 luogu P1850 【换教室】 时间:2019.8.6 一晚上(约 3.5h 写完) 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。 在可以选择的课程中,有 \(2n\) 节课程安排在 \(n\) 个时间段上。在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排...

weixin_30678821的博客 389

洛谷 P1850 换教室

两题都是顺着dp的期望题。 题意:每次有p的概率让最前面的人上电梯,问T时间内上电梯人数的期望值。 简单方程f[i][j]表示当前时刻,最前面的人是第i个人,时刻是j时的期望。 #include <bits/stdc++.h> using namespace std; const int N=2e3+5; int n,t; double p,f[N][N]; int main(){ ...

Love_xyh的博客 201

[洛谷P1850]换教室 概率与期望

要分清哪些状态是独立的,哪些状态对期望有影响 一开始傻傻的在通过和没通过之间取min…… 事实上,在求期望的前提下,真正影响的决策是是否申请 以及万万没想到Floyd打次了 map[i][i] = 0才对发现当前时间段的状态仅仅与上一时间段的状态有关 然后上一时间段的情况(未完,放学了)#include<iostream> #include<cstdio> #include<cstring

LOI_pingxing的博客 485

洛谷P1850换教室

换教室 嗯~~~这道题~~我先缓存一下思路 是的,我又十分不友好的来复制题面了 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上。在第 i个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 c_i 上课,而另一节课程在教室 d_i进行。 在不提交任何申请的情况下...

L_Y_T020321的博客 323

[题解] P1850 换教室 Floyd+DP

P1850 换教室 Floyd+DP题解 洛谷题目链接 牛客题目链接

qq_46636543的博客 204
上一篇: 【游记】国庆集训营
下一篇: 【洛谷P1131】时态同步
Chiyo小朋友
博客等级 码龄8年 9粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值