CF 793D Presents in Bankopolis

修改串口服务器,串口虚拟化 | 串口服务器Nport 5630 设置 原标题:串口虚拟化 | 串口服务器Nport 5630 设置JZGKCHINA项目改造,客户需要对IFix4.5进行升级,并优化通讯,在不改变原来配置的基础上逐步进行替换。需要将IFix升级到IFix5.9,数据库升级为SQL Server 2016,客户现场使用的智能仪表都是支持Modbus RTU协议的,因原来的手拉手的通讯方式的,当一台仪表掉线后,会影响到其他仪表的通讯,所以此次在不改变原有... 阅读详情

D. Presents in Bankopolis

一个有向图,节点“有序”,找一条长度为k的最短路径,额外要求是当前边不能“跃过”已经经过的节点。
起点的选择范围是[1,n]然后每经过一个点,下一个能到达的点的范围就会缩小,注意到总可以用一个连续的范围表示之,记为[l,r]。那么用dp解决,状态dp[l][r][k]表示可达范围是[l,r],已经走了k步。
貌似dp写成记忆化搜索更符合我的思维,但是这题写记忆化会T。。改递推还改了半天。。
以后能写递推的题,我再写记忆化我就是SB!!!

#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int INF = 1e9;

int n,k;
int m;
const int Max = 88;

int e[Max][Max];

int dp[Max][Max][Max][2];

inline void ckMin(int &x,int y){
    if(x>y){
        x=y;
    }
}

int main(){
    cin>>n>>k;
    cin>>m;

    for(int i=0;i<Max;i++){
        for(int j=i;j<Max;j++){
            for(int kk=0;kk<Max;kk++){
                if(kk==k){
                    dp[i][j][kk][0] = dp[i][j][kk][1] = 0;
                }else{
                    dp[i][j][kk][0] = dp[i][j][kk][1] = INF;
                }
            }
        }
    }

    for(int i=1;i<=m;i++){
        int u,v,c;
        cin>>u>>v>>c;
        if(e[u][v] == 0){
            e[u][v] = c;
        }else{
            e[u][v] = min(e[u][v],c);
        }
    }

    if(k>n){
        cout<<-1<<endl;
        return 0;
    }

    for(int kk=k;kk>0;kk--){
        for(int l=1;l<=n;l++){
            for(int r=l;r<=n;r++){
                for(int pre=1;pre<l;pre++){
                    if(e[pre][l]){
                        ckMin(dp[pre][r][kk-1][1],dp[l][r][kk][1]+e[pre][l]);
                    }
                    if(e[pre][r]){
                        ckMin(dp[pre][r][kk-1][1],dp[l][r][kk][0]+e[pre][r]);
                    }

                }
                for(int pre=r+1;pre<=n;pre++){
                    if(e[pre][r]){
                        ckMin(dp[l][pre][kk-1][0],dp[l][r][kk][0]+e[pre][r]);
                    }
                    if(e[pre][l]){
                        ckMin(dp[l][pre][kk-1][0],dp[l][r][kk][1]+e[pre][l]);
                    }
                }
            }
        }
    }

    int ans = INF;
    for(int l=1;l<=n;l++){
        for(int r=l;r<=n;r++){
            ckMin(ans,dp[l][r][1][0]);
            ckMin(ans,dp[l][r][1][1]);
        }
    }

    if(ans<INF){
        cout<<ans<<endl;
    }else{
        cout<<-1<<endl;
    }
    return 0;
} 
图相似度模型(论文篇) 图相似度模型 阅读详情

相关推荐

【MATLAB强化学习工具箱】学习笔记--在Simulink环境中训练智能体Create Simulink Environment and Train Agent

Simulink中便于搭建各类动力学与控制模型,通过将原有的控制器替换为AI控制器,可以方便使用已有模型,提供增量效果。 本节的重点是如何引入Simulink模型作为env,其他的内容在之前的文章中已有说明。 以水箱模型watertank为例,如下图所示: 采用PI控制器,控制效果如下所示: 将此PI控制器替换为神经网络控制器后,系统架构如下图所示: 具体替换策略如下所示: (1)删去PID控制器; (2)增加RL Agent模块; (3)观测器模块: 观测向量为:,其中...

bear_miao的博客 1万+

Codeforces 793D Presents in Bankopolis【Dp+记忆化搜索】

D. Presents in Bankopolis time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Bankopolis is an incredible city in which a

mengxiang000000 803

手把手教你用FreeModbus RTU协议栈实现STM32与PLC通信(附Keil工程)

本文详细介绍了如何使用FreeModbus RTU协议栈在STM32上实现与PLC的工业通信。从环境搭建、工程配置到关键移植接口实现,提供了Keil工程模板和调试技巧,帮助开发者快速掌握Modbus RTU通信技术,适用于工业自动化领域的设备间通信需求。

weixin_42549037的博客 418

记忆化搜索Presents in Bankopolis(CF793D )

记忆化搜索!

R的博客 346

解密QtIFW高级配置:用XML+JS打造品牌化安装界面(含动态水印/多语言技巧)

本文深入探讨了如何利用Qt Installer Framework(QtIFW)的高级配置功能,通过XML和JavaScript打造专业、品牌化的软件安装界面。文章详细解析了企业级项目目录结构设计、模块化配置文件编写、CSS样式表深度定制、动态水印实现以及智能多语言许可证管理等核心技巧,旨在帮助开发者超越基础打包,为Windows和Linux平台构建具有卓越用户体验的安装程序。

read5的博客 528

手机刷双系统

刷机教程(https://www.geekeyes.cn/forum.php/forum.php?mod=viewthread&amp;tid=492) 解锁教程(http://www.gioov.com/index.php/1386)   解锁教程 cmd下 进入adb目录( 如果环境变量配置了adb 可以直接在cmd 下输入命令) 手机连接电脑,确保usb 调试打开,然后手机连接电脑,...

超宇的博客 1万+

codeforces 793 D. Presents in Bankopolis(记忆化搜索)

题目链接:http://codeforces.com/contest/793/problem/D 题意:给出n个点m条边选择k个点,要求k个点是联通的而且不成环,而且选的边不能包含选过的边不能包含以前 选过的点,问最小的权值是多少。 题解:像这种取最小的一般可以考虑一下dp,然后再看一下题目,由于每次选的边都不能包括以前选的点,所以每 选择一条边能选择的区间范围就缩小了。 ...

awow80285的博客 263

论文分栏前后内容不连续?教你word如何删除分节符

问题 当我们在写论文的时候,很多期刊的模板都是两栏的格式,但有的时候我们插入的图像尺寸可能太大,两栏格式放不下,因此需要将其以一栏的格式出入,如下: 但当我们把图片删除后,再将其转换成两栏格式,前后内容就出现不连续的情况: 正常情况下应该是如下: 正确处理方式 里面有个分页符,把分页符去掉,或者把你的文字全部复制到记事本里,然后重新复制回word就可以取消原有的格式了。 删除分节符的方法(以word 2019为例) -点击菜单栏上的“视图”,点击“大纲视图”。 可以看到word文档以整列的形式展开:

左手の明天的博客 1万+

793D Presents in Bankopolis

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace placeholders; int area[82][

zju2016的博客 432

黑猫带你学eMMC协议第4篇:eMMC概述

1 前言 声明: 本文依据eMMC JEDEC5.1协议及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 本文大约3000字,从emmc的内部结构框架、供电、总线、寄存器等各方面进行框架性的介绍,本章节内容不需要深入研究,读完本篇文章,只要能对emmc有个框架下的了解,就可以了。 2 内部结构框架 由图可以看出,emmc内部由两块组成:控制器 + 存储介质。emmc内部存储介质绝大部分为nand flash。 众所周知,我们需要存储数据到nand flash中,并

黑猫奥利奥的博客 3341

【75】OpenCV C++实战篇——OpenCV 图像拼接、全景拼接(教程合集)

本文整理了OpenCV实现图像拼接的技术教程合集,涵盖C++和Python两种语言实现方案。图像拼接技术旨在将多张重叠图像融合为无缝全景图,既扩大视角又保持高分辨率。内容包含水平矫正等关键步骤(附对比效果图),提供多个实战案例的完整代码和详细讲解,涉及单应性矩阵、图像变换等核心技术。不同案例展示了从两张到多张图像的拼接效果,适合不同层次的学习者参考实践。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 528

Codeforces 793D Presents in Bankopolis DP

点击打开链接 题意:n个点n 问能否找到长度为k的路径使得不存在已经访问过的x出现在路径的第i条边内min(u,v) 从a->b ab a之后的点无法被访问,每增加一条边,能走的范围(区间)都会减小 dp[l][r][cur][k] 起点为cur,下一步的合法点在(l,r)内,长度为k的路径的最小权值 按cur的边合法的转移状态 O(N^4)记忆化即可 #include usi

Masamiiiiii 1255

YOLOv11改进 ,YOLOv11改进主干网络为MobileNetV3,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1933

CF793D Presents in Bankopolis/Namomo Spring Camp 每日一题 Week 1Day2 No Crossing

每日一题 Week1 Day2 No Crossing Problem Statement 一个有nnn个点mmm条边的有向图, 你需要找到恰好经过kkk个点的最短路径, 要求每次选的边不能越过之前已经经过的节点. 即对于路径中x→yx\to yx→y. 不存在以前经过的点ttt使得三者编号满足min⁡(x,y)≤t≤max⁡(x,y)\min(x,y)\leq t\leq \max(x,y)min(x,y)≤t≤max(x,y). Solution 首先我们考虑选择一条边x→yx\to yx→y. 如果x

LH_Frank的博客 653

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【codeforces 793D】Presents in Bankopolis

【题目链接】:http://codeforces.com/contest/793/problem/D 【题意】 给你n个点, 这n个点 从左到右1..n依序排; 然后给你m条有向边; 然后让你从中选出k个点. 这k个点形成的一条路径; 且在路径中,一个被访问过的点不会经过两次或以上; 比如从1->3(1和3被访问过) 然后再从3->4...

AWCXV 165

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

codeforces 793D Presents in Bankopolis

题解: 大致题意为给定n最大为80的直线点阵,并给出m条单向路,且这m条路能走的条件是,路经过的点没有被访问过,问走完K个点的最小代价。起点任意,终点任意 由于n很小,第一反应是往费用流想,后来发现无法建图(可能是我太菜了) 之后考虑到是条直线,于是往区间dp的思路去想发现这个转移很好想到 dp[now][l][r][k]表示当前在now这个点,只能在(l,r)中找点,需要访问K-k个点的最小代价...

TelmaZzzz的博客 404

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

树形DP 【codeforces 793D】Presents in Bankopolis

传送门 判断是否是一道树规题: 即判断数据结构是否是一棵树,然后是否符合动态规划的要求。如果是,那么执行以下步骤,如果不是,那么换台。 建树:通过数据量和题目要求,选择合适的树的存储方式。 如果节点数小于5000,那么我们可以用邻接矩阵存储,如果更大可以用邻接表来存储(注意边要开到2*n,因为是双向的。这是血与泪的教训)。如果是二叉树或者是需要多叉转二叉,那么我

twh233的算法blog 458

Codeforces Problem - 13E Holes

Holes         n个洞1~n,每个洞有一个power,a1~an。把球扔到第i个洞,它会蹦到第i+ai个洞去(一直往后蹦,直到n以外)。有m次操作,分为两种,0是询问把求扔到某个洞,最后能到达哪个洞以及会蹦多少次,1是修改某个洞的power。         这是在CF上一篇讲数据结构的博客上看到的题,学到了一个新的姿势。。方法是分块维护,每块的大小是sqrt(n)。对

A Cube Master 776

CF-Tinkoff Challenge-Elimination Round-D-Presents in Bankopolis

ACM模版描述题解没怎么做过树归问题,所以当做到这道题时不免有些懵逼。典型的树归问题,从一个始发点不断查找下一个可行解,最后输出最小的可行解总和即可。这么说是不是太随意了一些啊,毕竟我没有做出这道题。这个题并不算难,能想到动归就好办了。首先我们设置一个 dp[st][ed][k] 表示从 st 点出发能到达的某个方向最远处 ed 点且剩余 k 个点未走,既然说到某一个方向,那么这里肯定是正向和反向,

逐梦者 557

CF793D(记忆化搜索)

CF793D 每次的走一步,可以选择的区域就缩小,搜索很显然会T,此时加一个记忆化即可。搜索时以当前点,链长和可选区间为搜索状态。 AC代码 #include <bits/stdc++.h> #define yes puts("yes"); #define inf 0x3f3f3f3f #define linf 0x3f3f3f3f3f3f3f3f #define ll long long #define ull unsigned long long #define debug(x) cout&

weixin_58110654的博客 474

codeforces840C On the Bench -- DP

%%%Vectorxj代码#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define N 310 #define M 1000000007 int i,j,k,n,m,p,v[N],l,a[N],x,y,t,f[2][N],s; int c[N][N];

gjghfd 656

CodeForces 136 A.Presents(水~)

Descriptionnn个人互相送礼,第ii个人送第pip_i个人礼物,每个人只会送出一份礼收到一份礼,问第ii个人收到的礼物是谁送的Input第一行一整数nn表示人数,之后nn个整数pip_i表示第ii个人送礼物对象(1≤n≤100)(1\le n\le 100)Output输出nn个整数,第ii个数表示送第ii个人礼物的人Sample Input42 3 4 1Sample Output4 1

ZSQ 626

codeforces 339C 记忆化搜索

C. Xenia and Weights time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Xenia has a set of weights and pan sca

liyunlonghere 883

Presents in Bankopolis (区间dp)

Presents in Bankopolis [Link](Problem - D - Codeforces) 题意 ​ 给你一个有向图,找一条恰好经过kkk个点的最短路径,并且要求每次选的边不能跃过之前已经经过的结点。即对于路径中的边x→yx\to yx→y,不存在以前经过的点ttt使得三者编号满足min(x,y)≤t≤max(x,y)min(x,y)\le t\le max(x,y)min(x,y)≤t≤max(x,y)。 思路 ​ 一开始写了个暴力的搜索,T9T9T9。转化一下题意就等价于在一个长度为

a12377978的博客 502

codeforces 793A Oleg and shares

题意:可以在数组a中,对任意一个元素进行减k操作,问最少操作多少次使得所有a的元素相等,若不能做到输出-1 思路:选取a数组中的最小元素m,无解的条件为存在(ai-m)%k!=0,(0= 还有一种思路:http://blog.youkuaiyun.com/harlow_cheng/article/details/70568269 但是不懂证明 #include const int maxn = 1e5

chen_minghui的博客 338

Tinkoff Challenge - Elimination Round D. Presents in Bankopolis(区间DP+记忆化搜索)

题目链接 题意:感觉又是个阅读理解题。。。 现在给你排成一排的N个点,要求然你找到一条长度为K的链,起点终点不限,使得其路径总和最小。要求一个点不能走多次。另外假设点i已经走过了,那么我们不能从比i编号大的点走到比i编号小的点,同理也不能从比i编号小的点走到比i编号大的点。 思路:枚举每一个起点,每次搜索的时候选择合法区间,记忆化即可。 #include<bits/stdc++.h&gt...

qq_42479630的博客 365
上一篇: Codeforces VK Cup 2017 - Round 2
下一篇: CF 797F Mice and Holes(单调队列优化dp)
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值