2024NOIP

news/2024/11/30 18:24:31/文章来源:https://www.cnblogs.com/whzboke/p/18578725

T1 编辑字符串

题意

给定两个字符串,某些位置固定不动,其余相邻位置可以互换,求最大匹配长度

方案

考虑将俩串分为多段,使得每段互相匹配长度最长
将相邻可换的部分划为一段,不可交换位置的单独一段。

由下图可知,若 A 串某位置字符与 B 串两个位置字符都可以匹配,则它与一个匹配之后会拆开另一个,由此推出只要能让A串的一个位置有B处一个位置匹配,即为最优(拆散一对,合成一对不亏,交换位置要么不亏要么答案赚一)
image

全当做字符串读入,两行之间getchar ()吞换行,再转换成数字(作为下标)
处理串:对于 A 段,若该位置固定,则自己作为一段;若位置可交换,记录可交换段的长度以及该段中 0 和 1 的个数,B 段亦是。2 * n 的时间复杂度即为 O(n)
再扫一遍 A 串,将每个位置对应段中 1 和 0 的个数分别作差取绝对值,累计扫完 A 串即为答案,时间复杂度 O(n),估分 80-100

考试结束前对拍样例

/
1
4
10000
00000
00101
01101
*/

时答案错误,紧急删了一段代码不确定是不是删错位置。


T3 树的遍历

题意

以边为基础对树遍历,并求生成多少种不同的新树。这里两棵树被认为是不同的,当且仅当至少存在某一对新的结点,它们仅在其中一棵树中连有新边。

方案

tarjan 求割边,若存在路径 u->v->w ,则删去点 v ,并建立 u->w 的新连边。时间复杂度 O(N2K),估分 20-30
乱搞树剖,每次算边时用随机数,连到哪边算哪边,极端情况下可以连接成链或者环,存在求出解的可能。赛后成功证明这样乱搞错的。

T4

题意

求区间[l, r] 内 LCA 的最大值

方案

先再各点之间连双向边,从 1 开始逐个下传等级 rank, 以形成树
a.倍增法求 LCA,采用 lg 优化
b.并查集连接点,比较每个节点 rank 大小以连接。
处理性质A:保证输入的树符合链的形态,且根结点的度数为1。预估拥有30左右理想分数,该情况下只需要正确连接成链然后求离根最近的几个点的公共LCA深度即可

赛后

博客记的

lg[i] = lg[i - 1] + (1 << lg[i - 1] == i);

考场写的

lg[i] = lg[i - 1] + (1 << lg[i - 1] == 1);

显然lca会跳错

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

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

相关文章

第十周学习总结

学期2024-2025-1 学号20241414 《计算机基础与程序设计》第十周学习总结 作业信息这个作业属于哪个课程 <班级的链接>2024-2025-1-计算机基础与程序设计这个作业要求在哪里 <作业要求的链接>2024-2025-1计算机基础与程序设计第一周作业这个作业的目标 信息系统 数据…

20222410 2024-2025-1 《网络与系统攻防技术》实验八实验报告

1.实验内容 1.1 本周学习内容回顾 1.2 实验要求 (1)Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 (2)Web前端javascipt 理解JavaScript的基本功能,理解DOM。 在(1)的基础上,编写JavaScript验证用户名、密码的规则…

黑马点评

黑马点评项目笔记代码仓库:https://gitcode.com/xu1feng/hm-dianpnig/overview 整体功能架构图短信登录 导入黑马点评项目 首先,导入数据库SQL文件hmdp.sql。 其中的表有:tb_user:用户表 tb_user_info:用户详情表 tb_shop:商户信息表 tb_shop_type:商户类型表 tb_blog:…

vxe-table 可编辑表格使用下拉树

vxe-table 可编辑表格使用下拉树<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div> </template><script> export default {data () {const regionEditRender = {name: VxeTreeSelect,options: [{label: 广…

Python蒙特卡罗MCMC:优化Metropolis-Hastings采样策略与Fisher矩阵计算参数推断应用—模拟与真实数据分析

全文链接:https://tecdat.cn/?p=38397 原文出处:拓端数据部落公众号 本文介绍了其在过去几年中的最新开发成果,特别阐述了两种有助于提升 Metropolis - Hastings 采样性能的新要素:跳跃因子的自适应算法以及逆 Fisher 矩阵的计算,该逆 Fisher 矩阵可用作提议密度。通过多…

数字技术助力电力行业低碳化发展路径及典型场景研究报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p=36371 在全球应对气候变化的大背景下,中国积极推进 “双碳” 战略,一场深刻的能源与经济变革正在展开。本报告合集汇总聚焦于能源领域多方面的关键议题,深入剖析其现状与发展趋势。能源作为中国碳排放的主导因素,火电占比过高致使排放问题…

关于Quartus的start按钮灰色无法下载的问题的解决

Quartus的start按钮灰色 可能一 首先记得连接实验板并且添加.sof文件 点击Hardware Setup选择USB-Blaster即可可能二 如果上面的找不到USB-Blaster,可进入电脑的设备管理器,找到其他设备中的USB-Blaster选项右击更新驱动,注意选择相应路径更新完成后再次回到Quartus应该就可…

easyexcel导出头部样式设置,多个tab导出,头部自定义RGB颜色

easyexcel导出头部样式设置,多个tab导出,头部自定义RGB颜色alibaba easyexcel版本 3.0.5, poi版本 4.1.2 ,导出头部样式设置,多个tab导出,头部自定义RGB颜色效果,头部三行,三个tab 下面贴出代码:package com.alpha.erp.dto.accounts;import com.alibaba.excel.metad…

管理模块源码

原文地址:https://bbs.huaweicloud.com/blogs/441056 本文翻译自:https://go.dev/doc/modules/managing-source当你在开发一个用于发布给其他人使用的模块时,可以通过遵循该主题中描述的仓库约定来确保您的模块更易于其他开发人员使用。 该模块描述了在管理模块仓库时可能采…

报错/core/library/think/File.php 第 153 行左右 mkdir():Permission denied

报错/core/library/think/File.php 第 153 行左右 mkdir():Permission denied这个提示是权限不足, 建议检查网站目录权限如果修改权限无效, 建议修改php版本测试。 扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3…

PbootCMS提示传递的模型编码参数有误,请核对后重试!

PbootCMS提示传递的模型编码参数有误,请核对后重试!解决办法: 程序这2个核心文件夹备份,apps 和 core 改名 apps1 和 core1 做为备份,下载默认程序把程序包里的apps 和 core上传上去即可。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通…

手把手教你华为鸿蒙开发之第五节

华为鸿蒙开发:条件语句和分支逻辑引言 在编程中,根据不同的条件执行不同的代码块是常见的需求。华为鸿蒙操作系统的开发同样涉及到这些基础的控制流语句。本文将通过 DevEco Studio 介绍鸿蒙开发中的条件语句和分支逻辑,包括 if 语句、switch 语句和三元条件表达式,以及如何…