2024736DP专项练习赛

news/2024/10/18 16:35:26/文章来源:https://www.cnblogs.com/Lydic/p/18326760

前言

比赛链接

image
image

榜上那个冒着蓝光的就是我……

提交记录跟答辩一样……

吐槽一下,虽然挂着 DP 专题赛的名字,但除了 T1 T3 以外,全是记搜题(虽然好像只有四道题来着)。

T1

签到题,\(n\) 范围很小,先用区间 dp 求出任意区间达到最终状态所需的最小代价,然后再用一个 dp 计算答案。

最开始没加 freopen,一直 RE,我是废物。

放一下核心的转移方程:

if(s[l-1]==s[r-1])dp[l][r]=min(dp[l][r],dp[l+1][r-1]);
else dp[l][r]=min(dp[l][r],dp[l+1][r-1]+min(w[l],w[r]));ans[i]=min(ans[i],ans[j]+dp[j+1][i]);

T2

看一眼上面的提交记录就知道多测不清空的危害了。

记忆化搜索, dfs 函数里面放三个参数,代表当前剩下的区间和对手拿走的青色石头的数量,知道区间以后,当前是谁该拿石头已经确定,所以不用新增参数。

然后用一个前缀和维护(最开始用了缺省源里面的树状数,后来又 WA 又 T 才发现自己是傻子)计算当前自己拿的青色石头的数量,进行递归时,自己与对手身份互换,所以应该用自己的数量配上当前选择去传参。

然后用一个三维数组记忆化,两个数字判断当前输赢状况,边界的话 \(\gt k\) 即可。

然后我记忆化数组没有清空,收获满屏 RE(IOI赛制没有罚时,lalala)。

写完以后发现只有 50pts,然后不知道改了什么就 \(\color{green}AC\) 了,后来才知道是老邱改了时限。。。

代码是一坨,不放了,太丢人。

T3

不会写,BFS 拿了 50pts。

对于正解,因为字符串里面只有三种字符,所以用一个四维状态代表三种字符选择的数量和当前操作次数。

先预处理出来三种字符的前缀和和出现的所有位置。

四重循环分别枚举四种状态,然后每次分别对三种字符操作,计算出当前状态下另外两种字符在当前状态下还可以选择的次数。

如果选择当前字符,那么能够产生的贡献就是另外两种还可以选择的字符分别与当前这个字符进行交换产生的方案数,具体的,就是两种字符在当前区间内出现次数的和。计算好状态以后让新状态累加当前状态数量即可。

三种都枚举完以后,判断是否满足最终条件并累加到最终答案上面即可。

放一下核心代码(为了减少博客空间复杂度,压行压的很丑):

dp[0][0][0][0]=1;
for(int i=0;i<=cnt[1];i++)for(int j=0;j<=cnt[2];j++)
for(int k=0;k<=cnt[3];k++)for(int c =0;c <=500;c ++)
{d[1]=i;d[2]=j;d[3]=k;for(int num=1;num<=3;num++){if(d[num]>=cnt[num])continue;int now=pos[num][d[num]],cost=0;for(int l=1;l<=3;l++)if(l!=num)cost+=max(0,sum[l][now]-d[l]);if(c+cost<=500)dp[i+(num==1)][j+(num==2)][k+(num==3)][c+cost]+=dp[i][j][k][c];}if(i==cnt[1]&&j==cnt[2]&&k==cnt[3]&&c<=kk)ans+=dp[i][j][k][c];
}

T4

ABC 原题+ ICPC热身赛原题,无话可说……

输出 -1 有 18pts,脑残特殊性质写了再加 20pts,然后我脑残 max 写了个 min,没调出来,导致 rk2 -> rk5,呜。

正解是爆搜+记忆化,复杂度证明得很LC,没毛病。

先离散化,dfs 里面传三个参,代表当前已经可以到达的区间和当前在区间左端点还是右端点。

用一个数组表示当前是否已经拿到对应的锤子,大力分讨即可。

代码实在压不下来,所以不放了。

结语

军训不用去天天玩电脑————牢邱

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sqlserver 处理两条完全一样的记录

想要删除重复记录(所有字段值相同),怎么处理? with cte AS (select row_number() over (partition by wo_woid, wo_lx order by(select null)) as rn,*from jserp.Wo_Modified_Record_Backupwhere wo_woid like MO24% and wo_woid>=MO240601 and len(wo_woid)=14 and wo…

apifox日常使用

一、前后置操作 1.1 提取变量 登录接口提取返回数据里的token,保存为全局变量1.2 接口间相互传递数据 详情接口使用登录接口返回提取的token[Haima的博客] http://www.cnblogs.com/haima/

Prompt Engneering

Prompt-Engineerning Prompt-Engineerning(提示词工程) 目录Prompt-Engineerning零、文档中参数说明1、OpenAI API接口参数一、什么是提示词工程1、学习AI在提示词工程上有哪些优势2、Prompt调优二、Prompt典型构成1、定义角色为什有效?案例:推荐流量包的智能客服1.对话系统…

“智能体风”吹进体育圈 粉丝手搓上百个智能体为中国健儿应援 太有AI了!粉丝手搓上百个智能体为中国健儿打CALL

智能体的风吹进了体育竞技圈。近日,在百度文心智能体平台,出现了上百个充满“AI”的运动明星粉丝应援智能体,比如支持中国女子乒乓球运动员孙颖莎的“孙颖莎的小迷妹”、支持中国女子跳水队员全红婵的“婵婵的小书包”,应援中国女子乒乓球运动员王曼昱的“曼昱的小芋圆”等…

centos7 最小化安装yum不能安装软件解决方案

慕课网神思者老师课常资料带的布署工具中,自带的liunx 系统centos7 yum发现不能安装软件,比如docker 解决方案 首先我们安装好虚拟机启动系统centos7 尝试安装任何软件都会报仓库错误 第一反应就是更新yum yum update 由于仓库不对更新肯定不行了 第二反是 更新仓库…

节约时间与金钱:顶级简单项目管理软件推荐

国内外主流的10款项目进度管理软件对比:PingCode、Worktile、蓝凌OA、用友、泛微OA、飞书、Asana、Trello、Smartsheet、Jira。在快节奏的商业环境中,有效地管理项目进度常常是团队成功与否的关键。许多团队面临着项目管理过于复杂,难以迅速适应变化的挑战。一个直观且功能全…

使用Excel画出各类统计图(2)

承接上一章,本章继续介绍如何用Excel画图 目录一、折线图1.画折线图常见的错误2.双坐标轴折线图(1)设置主次坐标轴(2)设置坐标轴的最大最小值(3)设置折线的颜色3.柱形图顶端的折线图(1)绘制折线图(2)添加数据(3)绘制面积图(4)更改坐标轴(5)数据处理 一、折线图…

本田裂行 传动保养、换普利珠

9颗螺丝,8mm套筒,最好接延长管。 我买了气动扳手,后来还是放弃了,汽修师傅10分钟搞定的事情,你可能要搞很久,而且是蹲着,算了,千万别买工具自己搞,直接花钱请人搞好了。 普利珠还是不要换, 我原厂14g 的,换了18g 以后,啃盘严重, 2、3千公里以后里面全是啃下来的粉…

QT mainwindow UI界面添加工具栏

1.在mainwindow UI设计器界面右上角 右键mainwindow 弹出如下菜单图1 可以看到 添加工具栏,移除状态栏 等相关操作都在菜单中 2.新建action相关菜单项图2 在红框中的Action Edit 中,第一行菜单栏按钮(分别是新建,复制,粘贴,删除,修改)点击以进行创建 鼠标右键Action E…

在Pandas中 SQL操作:SQLAlchemy和PyMySQL的区别

SQLAlchemy和PyMySQL的区别 1. SQLAlchemy和PyMySQL简介SQLAlchemy 是Python编程语言下的一款开源软件。它提供了SQL工具包和对象关系映射器(ORM)来进行数据库操作。SQLAlchemy可以与多种数据库系统进行交互,包括MySQL、PostgreSQL、SQLite等。PyMySQL 是Python编程语言下的…

正新轮胎真的挺好

sc12 龙王胎, 雨天根本不滑7月份买的,2424 ,新的很,就一百多,换好160左右。还是很值的,别用什么顾满德,人家推这个产品是因为利润,不是因为他觉得轮胎好, 之前老板前后轮卖给我400块钱,包安装,含泪赚了至少200 。。太坑了,轮胎本身也没什么问题,就是硬,耐磨,有点…

perf抓取火焰图

目录一、Perf工具安装(压缩包在帖子下方的附件中)二、热点信息生成火焰图1、容器外抓取热点信息生成火焰图2、容器内抓取热点信息生成火焰图3、生成火焰图效果三、在容器中查看实时热点信息 一、Perf工具安装(压缩包在帖子下方的附件中) *****************************ARM*****…