牛客#2 L,多层图dp

高功率半导体叠阵激光快慢轴准直优化技术解析 本文深入解析了高功率半导体叠阵激光快慢轴准直优化技术。针对其光束发散特性,文章系统阐述了从光源建模、光学仿真到透镜选型与参数匹配的完整工程流程,并强调了光束整形对于提升加工精度与效率的核心作用。通过优化快慢轴准直,可将原始散光转变为能量集中、均匀性好的高质量光束,为后续工业应用奠定基础。 阅读详情
注意,内存限制32MB,存不下边
题意:

一个游戏内有nnn个世界,每个世界有mmm个节点和若干的有向边,玩家一开始在第一个世界的第一个节点,当我们在iii世界的jjj点时,我们可以选择这个世界jjj点的出发的一条边,到另外一个节点,但是在每个世界机会仅有一次,也可以不选择这样的边,在原地。假设我们在iii世界内最后到达的时jjj点,那么我们会被传送至i+1i+1i+1世界的jjj点(这样的传送仅会发生在i<ni<ni<n),如果我们最后在nnn世界并且停留在mmm点,那我们就赢了。现在我们在这nnn个世界内选择若干个连续的世界组成一个新的游戏,唯一的限制是要保证新游戏至少有一种赢的方法,要求找到符合条件的世界的最少数量。

方法:

我们设dp[i][j]dp[i][j]dp[i][j]为能到达iii世界的jjj点的最后的出发世界,显然,转移只发生在相邻两个世界,因此我们可以滚动优化,用lastlastlast保存上个世界,dpdpdp计算当前世界,问题再与怎么转移?如果我们知道当前世界有一条u→vu\rightarrow vu→v的边,那么vvv肯定是与uuu有关系的,但能转移的是当前世界的uuu还是上个世界的uuu呢?假设在世界iii有这样的例子1→2→31\rightarrow 2 \rightarrow 31→2→3,一开始知道边1→21\rightarrow 21→2,显然dp[1]=idp[1]=idp[1]=i,那么dp[2]=idp[2]=idp[2]=i,再知道边2→32\rightarrow 32→3,于是dp[3]=idp[3]=idp[3]=i,这显然是不对的,因为每个世界仅有一次机会改变所在位置。因此我们选择从上个世界转移(这也是为什么不用一个数组来优化而用两个),那么知道边u→vu\rightarrow vu→v,就可以给vvv一个找更近的世界的机会,于是dp[v]=max(dp[v],last[u])dp[v]=max(dp[v],last[u])dp[v]=max(dp[v],last[u]),并且如果这个边是有关mmm的,还改变了dp[m]dp[m]dp[m]的值,我们就可以重新计算一遍ansansans,也就是当dp[m]!=last[m],ans=min(ans,i−dp[m]+1)dp[m]!=last[m],ans=min(ans,i-dp[m]+1)dp[m]!=last[m],ans=min(ans,i−dp[m]+1)。并且我们还需要考虑可以从现在这个世界出发的情况,所以我们特殊设last[1]=ilast[1]=ilast[1]=i。

#include<bits/stdc++.h>
#define ll long long
using namespace std;

int read()
{
	int ret=0,base=1;
	char ch=getchar();
	while(!isdigit(ch))
	{
		if(ch=='-') base=-1;
		ch=getchar();
	}
	while(isdigit(ch))
	{
		ret=(ret<<3)+(ret<<1)+ch-48;
		ch=getchar();
	}
	return ret*base;
}

const int inf=0x3fffffff;

int n,m,ans=inf,dp[2005],last[2005];

int main()
{
	n=read();m=read();
	for(int i=1;i<=n;i++)
	{
		last[1]=i;
		int t=read();
		while(t--)
		{
			int u=read(),v=read();
			dp[v]=max(dp[v],last[u]);
			if(v==m){
				if(dp[m]>last[m]) ans=min(ans,i-dp[m]+1);
			}
		}
		for(int j=1;j<=m;j++) last[j]=dp[j];
	}
	if(ans==inf) cout<<-1;
	else cout<<ans;
 	return 0;
}

【CASS精品教程】032:CASS11台阶画法案例大全 一、普通无边台阶 二、普通有边台阶 三、普通圆弧无边台阶 四、U型台阶 五、曲线U型台阶 六、L型台阶 阅读详情

相关推荐

Rust 与 C/C++:Rust 比 C/C++ 更好还是只是“技能问题”?

对于许多嵌入式系统开发人员而言,的崛起似乎掀起了一股不小的浪潮,特别是在相较于传统的语言,Rust的“内存安全”优势让人眼前一亮。然而,是否可以将Rust作为C/C++的替代品?或者说,Rust是否真的比C/C++更好,抑或它只是一个“技能问题”呢?在嵌入式开发的领域,我观察到,尽管Rust在一些高性能、内存安全敏感的场景中受到了广泛推崇,但它在实际应用中的普及度,特别是在嵌入式领域,依然有限。今天,我会从多个角度探讨这个问题,并且分享一些对于Rust、C/C++以及嵌入式系统开发的个人见解。

qq_63315166的博客 1300

牛客题解 | 取数游戏

牛客题库题解

wc529065的博客 782

wsl2内核版本和模块版本不一致解决方法

** /lib/modules/…build: No such file or directory错误解决办法这篇文章历时1个月整,从4月5日一直到5月5日,这一问题才得以解决。

m0_60634555的博客 5103

牛客周赛 Round 2 解题报告 | 珂学家 | 字符串hash + 打家劫舍型DP + 离线双指针

远景AESC,远景动力现在大量招人了,特别是电芯研发的岗位,有意向的赶紧的来投递吧,我是做电池模型的,有兴趣也可以投递,【内推码】 NTALG38 #内推码##应届生,公司项目有外包,比较闲,想自学目前就是SpringBoot+Redis,刚做完瑞吉外卖由于基础薄弱想看看基础和底层原理,数据结构、设计模式、多线程这些,我的分只能上民办二本,身边很多人都在劝我复读,但是我不是很想,如今的就业形势这么严峻 ,请问文科生读一个一本或者公办二本(复读一年的话),跟民办二本的差距大吗?工资涨幅不高,但工作比较稳定。

Buoluochuixue的博客 298

基于STM32的心电图监测系统设计

本论文旨在设计一种基于 STM32 微控制器的心电图监测系统,通过对人体心电信号的采集、处理和分析,实现对心电图的实时监测与显示。系统采用高精度的心电信号采集模块,结合 STM32 强大的数据处理能力,能够有效去除噪声干扰,提取出准确的心电信号特征。同时,利用 LCD 显示屏实现心电波形的实时显示,并通过蓝牙模块实现数据的无线传输,方便医护人员远程监测。经测试,该系统具有较高的精度和稳定性,能够满足临床心电图监测的基本需求,为医学诊断提供可靠的数据支持。

道亦无名 1349

究竟什么是虚拟同步机???虚拟同步机巨简单理解

同步发电机定子铁芯的内圆均匀分布着定子槽,槽内按一定规律嵌放着对称的三相绕组U1-U2、V1-V2、W1-W2,如图1所示。工作原理转子铁芯上装有制成一定形状的成对磁极,磁极上绕有励磁绕组。励磁绕组上通直流电时,会在电机的气隙中形成极性相间的分布磁场,称为励磁磁场。当原动机拖动转子以恒定速度旋转时,励磁磁场随转轴一起旋转并顺次切割定子各相绕组。定子电枢绕组中将会感应出大小和方向周期性变化的三相对称正弦感应电动势。各相电动势大小相等,相位各差120°。

weixin_53126442的博客 2603

2025牛客多校第二场A、L、G题个人题解

个点,形成很多个环,一个点算自环。删除两个点,剩下的所有点,相连的两个点可以配对成一个二元组,要求所有的点都必须配对成二元组且每个点只能属于一个二元组。给定一个由0、1、-1组成的字符串,-1代表可能是0也可能是1。对于一个确定的字符串,其答案为连续1段数的和。首先通过dfs把所有的环跑出来,记录奇环的个数与偶环的个数。需要特别注意,使用逆元的时候要多取模!最后的特判:仅存在两个奇环且大小都为1。为什么上一个状态是-1的时候要加。计算所有可能的答案之和。,当前的所有可能答案之和。,则方案数必定为0。

CUC-MenG的博客 1320

ZYNQ 7020 之 FPGA知识点重塑笔记一——串口通信

通信方式一般分为串行通信和并行通信。并行通信是指多比特数据同时通过并行线进行传送。这种传输方式通信线多、成本高,故不宜进行远距离通信,通常传输距离小于 30 米。串行通信是指数据在一条数据线上,一比特接一比特地按顺序传送的方式。这种运输方式通常节省传输线,大大降低使用成本,但数据传送速度慢。综上可知,串行通信主要应用于长距离、低速率的通信场合。本次实验我们主要讲解下串行通信。串行通信一般有2种通信方式:同步串行通信和异步串行通信。同步串行通信。

m0_51430584的博客 3094

牛客练习赛34 E little w and Digital Root(数位dp)

title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM 题目链接 题目描述 数根(又称数字根Digital root)是正整数的一种性质,换句话说,每个正整数都有一个数根。 数根是将一正整数的各个位数相加(即横向相加),若加完后的值大于等于10的话,则...

Running Bit. 561

把时间当成数据:SAP ABAP 里的 DATS/TIMS 与 DATN/TIMN,怎么选才不踩坑

SAP项目中日期时间字段的陷阱与优化 日期时间字段(DATS/TIMS)在SAP项目中看似简单却常引发事故,主要问题包括: 非法日期(如20201331)入库后,在月结、对账时爆发异常 空值被处理为00000000导致排序错误 ABAP提供两种处理方案: 经典类型DATS/TIMS:存储为字符格式,校验宽松易存脏数据 HANA原生类型DATN/TIMN:数据库级校验,写入即拦截非法值 优化建议: 在接口层和入库前进行严格校验 新项目优先使用DATN/TIMN类型 对遗留数据使用DATS_IS_VALID等函

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

CVE-2021-22205 GITLAB 未授权 RCE 漏洞

简介 GitLab是由GitLab Inc.开发的一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面访问公开或私人项目。由于GitLab存在未授权的端点,导致该漏洞在无需进行身份验证的情况下即可进行利用。 漏洞利用 上工具 python3 poc import sys import requests from bs4 import BeautifulSoup requests.packages.urllib3.disable_warnings() def .

qq_32445755的博客 885

牛客题解 | 删除相邻数字的最大分数

牛客题库题解

wc529065的博客 1115

cesium 实现经纬线绘制和经纬度标注

废话不对数直接上线效果图及代码 1.效果图 2.实现代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=

一碗老面的博客 2569

牛客寒假营6

本文包含多个编程竞赛题解,主要涉及贪心算法、组合数学、线段树、图论等算法。A题使用堆优化贪心策略求最小结果;B题通过隔板法和组合数解决字符串计数问题;C题通过线段树维护节点状态;D题采用多源最短路算法处理网格感染问题;E题使用并查集逆向处理水位变化;G题通过前缀和判断步长与缝隙关系;H题用动态规划维护数字集合;K题通过暴力计算比较操作次数。各题均给出了核心思路和复杂度分析,代码实现注重效率优化。

2401_82977801的博客 660

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

“蔚来杯“2022牛客暑期多校训练营2 补题题解(C 、D 、G 、H 、J 、K 、L)

动态规划,时间太紧迫了场上有一点点思路但是没想出来,以后要记住括号匹配要考虑左括号比右括号多的数量。记f[i][j][k]表示长度为i,匹配成功的部分为k,左括号比右括号多j的方案数。算是前道题吧,但是这个道签的很痛苦,队友打表跑了半天列数据才找出来规律。觉得有帮助的点个赞!.....................

qiaodxs的博客 568

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

2025牛客多校第一场L.K.I题解

由于每一个点在确定进入的编号后其后面走的路都是唯一确定的,所以不难看出每个点走的都是一个环,从该节点出发最终必定会走回自己。那么就可以把这个无向图看作很多个环组成的图,且每个节点都有。时重新变回1,计算每一个起点出发后能经过的不同边的数量。个点分别当做起点,以编号为1的边出发,若当前点由编号。大的即可,再写一个查询小于等于当前数字的数字个数的。在进行操作的过程中,需要保证操作的失衡值单调不增。就代表当前有多少不同的边,在回溯的时候将整个环的。两个区间的长度,这个操作的失衡值为。的边进入,那么他将从编号为。

CUC-MenG的博客 680

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

2021牛客多校#10 K-Walking(DP,容斥)

文章目录题目链接题目大意题解参考代码 题目链接 https://ac.nowcoder.com/acm/contest/11261/K 题目大意 有一个 n×m(1≤n,m≤5×105)n \times m(1\leq n,m\leq 5\times 10^5)n×m(1≤n,m≤5×105)大小的迷宫,两角坐标为 (1,1)(1,1)(1,1) 和 (n,m)(n,m)(n,m)。 若你当前在 (x,y)(x,y)(x,y) 位置,每秒你可以向上下左右方向移动一格,不能停留在原地,不能移动到迷宫外。 初始

PTCCTP的博客 297

牛客周赛 Round 67 E,F

补下题。

2301_77680189的博客 503

手机号码(数位dp-dfs)

1. 问题描述: 人们选择手机号码时都希望号码好记、吉利。比如号码中含有几位相邻的相同数字、不含谐音不吉利的数字等。手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号 码单独出售。为了便于前期规划,运营商希望开发一个工具来自动统计号段中满足特征的号码数 量。 工具需要检测的号码特征有两个:号码中要出现至少3个相邻的相同数字,号码中不能同时出现8和4。号码必须同时包含两个特征才满足条件。满足条件的号码例如:13000988721、 23333333333、14444101000。而不满足

二哈 613

牛客小白月赛27题解(部分)

牛客小白月赛27 补题总结

Sun 577

牛客周赛40 记录

刚开始TLE了,以为要二进制拆分,后来发现状态转移的while循环可以优化一下,如果现在的金币已经不足以再升级这个装备了,没必要判断到这个装备的升级上限了。不知道为什么刚开始数组里直接存的元素超时了,然后就给误导了,最后改成存下标过了,可能是列表的pop 和 index 太慢了吧。没赶上比赛,vp了一下,CD两题思路都是对了的,但是优化的不好,而且vp中间放学了,补一下题,可惜,本来想上个分的。考虑一下两种形状各方块的平均价值, L形自然是x/3 , 正方形为 y/4,优先选择平均价值大的。

cozywinter的博客 403

牛客刷题(网易)

牛牛找工作 import sys # 利用HashMap来将任务升维度来降低时间复杂度 def main(): # 读取所有的行 lines = sys.stdin.readlines() # 将输入转化为一个二维数组,每一行都是其中的一个一维数组 lines = [l.strip().split() for l in lines if l.strip()] # 获得工作的数量和工人的数量 n, m = int(lines[0][0]), int(line

lzAllen的博客 287

2021牛客多校#10 K-Walking

原题链接 2021牛客多校训练赛#10 K-Walking 题目大意 有一个n×m(1≤n,m≤5×105)n\times m(1\le n,m\le 5\times 10^5)n×m(1≤n,m≤5×105)大小的迷宫,两角坐标为(1,1)(1,1)(1,1)和(n,m)(n,m)(n,m)。 若你当前在(x,y)(x,y)(x,y)位置,美妙你可以向上下左右四个方向移动一格,不能停留在原地,不能移动到迷宫外。 初始在(a,b)(a,b)(a,b)处,继续移动t(1≤n≤5×105)t(1\le n\le

G1801433197的博客 395

牛客IOI周赛28-普及组 题解

说在前面 被毒瘤题虐了,看到昨天牛客有普及模拟赛,来vp。 大概花了1h AK。比赛链接 A 发现做完\(n\)次操作等于没做,所以做\(x\)次操作等同于做\(x \bmod n\)次操作,然后先输出[x + 1,n],再输出[1,x]即可。 # include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5; ...

woshidalaocxy的博客 102

Codeforces Round #736 (Div. 2) D. Integers Have Friends ST表gcd + 尺取

传送门 文章目录题意:思路: 题意: 给你一个序列aaa,求一个最长的子序列[l,r][l,r][l,r]满足ai mod m=ai+1 mod m=...=ar mod ma_i\bmod m=a_{i+1}\bmod m=...=a_r\bmod mai​modm=ai+1​modm=...=ar​modm,其中m≥2m\ge2m≥2。 n≤2e5,ai≤1e18n\le2e5,a_i\le1e18n≤2e5,ai​≤1e18 思路: 之前牛客做过一个类似的题,但是哪个题是要你找一个最小模数使得每个数模

m0_51068403的博客 324

牛客_华为_HJ24 合唱队

最长递增子序列 动态规划

JStana的博客 183
上一篇: 2022HDU#3 1 期望dp+分治NTT
下一篇: Codeforces 1690G 思维
stdforces
博客等级 码龄4年 9粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值