CodeForces *2300 基准意识流做题记录

注:*2300 基准意为记录大于等于 *2300 的题目而并不仅限于等于

- CF1070J Streets and Avenues in Berhattan *2300

鉴于这题题解真的什么都没讲明白,于是我来理解一下题解在说什么。

为了简化问题,我们先假设 \(n+m=k\)。比如我们给横线和竖线随机赋值,那么怎样比较优呢?根据题面,我们显然认为交叉点少优,那么就导出了我们想让同一种名字同时出现在横和竖的情况尽量的少。

我们可以猜想怎样可以满足我们这种要求,比如我们猜测让横竖都出现的名字种类数尽量少可不可行。

我们尝试证明,先考虑两项,剩下的归纳即可:

假设我们有 \(i\) 个横行 A\(j\) 个横行 B\(i2\) 个竖行 A\(j2\) 个竖行 B。我们不妨设 \(i2<j\)。那么我们把 A 全放横行,其余的插空放 B。那么你稍微计算或者你瞪一下就很容易发现这个东西一定是更优的。

于是我们归纳得到强结论:只会有一个名字,使得它同时出现在横行和竖行上。

我们把这样的名字称为被标记的名字。

理解这个了之后,我们其他就好说了。我们观察这是一个什么形式,因为我们钦定了 \(n+m=k\),所以我们竖行必定是一些整块(即这个名字全部选)拼上一些我们标记的名字,横行同理。

于是我们可以枚举横行上选了多少个我们标记的名字,其他的我们做布尔背包判定能不能拼好就行了。那么你的贡献就是 \((cnt_{flag}-j)\times j\)

接下来我们考虑 \(n+m>k\)。基本思路是一样的。那么你考虑 \(n+m>k\) 之后,是怎样让答案减小的。其实就是你扔掉了一些被标记的名字对吧。那么我们大多数情况下还是一样,只不过可以扔掉 \(k-n-m\) 个被标记的名字。那么我们可以枚举横行的 \(j\),然后在竖行扔掉这些点即可,反正是对称的。

所以你的贡献改为 \((cnt_{flag}-j-(k-n-m))\times j\)。注意一种特殊情况,即 \((cnt_{flag}-j-(k-n-m))<0\),其实代表着根本不需要被标记点了(\(k\) 太大了)。这时候其实也不用管是不是整块了,答案直接是 \(0\) 就好了。

于是我们做完了。

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

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

相关文章

14 Java的Stream流详解

Stream是[Java 8](https://so.csdn.net/so/search?q=Java 8&spm=1001.2101.3001.7020) API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合(侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式)Stream流是从支持数据处理操作的源生成的元素…

作业1:自我介绍+软工五问

项目 内容这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023/homework/13325这个作业的目标 熟练掌握github、git、markdown和博客园的使用1.…

基于电压电流双闭环控制的三相整流器系统simulink建模与仿真

1.课题概述 基于电压电流双闭环控制的三相整流器系统simulink建模与仿真。2.系统仿真结果 (完整程序运行后无水印)3.核心程序与模型 版本:MATLAB2022a4.系统原理简介三相整流器作为电力电子变换的核心部件,广泛应用于各种工业及能源系统中,其性能直接影响到整个系统的效率…

[BUUCTF]刷题记录PWN——ez_pz_hackover_2016

静态分析比较重要的函数,一个strlen可以利用\x00来绕过,然后对输入的字符串进行检查,最后进入vulnmemcoy: C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。也就是说,vuln里的memcpy函数会把,我们输入的内容取…

基于信息论的高动态范围图像评价算法matlab仿真

1.程序功能描述 基于信息论的高动态范围图像评价算法matlab仿真,利用一种自然图像的概率模型对图像的熵与成像动态范围之间的关系进行了数值模拟,得到了具有普遍意义上的理想成像动态范围的计算公式,公式指出了对自然景物完善成像所需的最大动态范围;给出了图像熵与动态…

BloomFilter详解

目录BloomFilter 原理:问题引入:黑名单管理程序哈希、哈希函数BloomFilter :3.4 BloomFilter 的缺陷、改进:代码实现黑名单blacklist.py:普通的实现方法set.py:哈希函数hash.py:4.4 BloomFilter 实现方法bloomfilter.py: BloomFilter 原理: ​ 我们将从哈希函数开始…

【ABP】项目示例(4)——领域服务

领域服务 在上一章节中,已经完成了仓储的设计,在这一章节中,实现领域服务,即业务的核心逻辑 领域服务主要处理特定领域的业务逻辑,对内协调和整合聚合根与各个实体的业务关系,对外作为业务的边界,供应用服务组合来提供完整复杂的功能 规约 在名称为General.Backend.Doma…

YOLOv10 解析与地平线 征程 6模型量化

一,YOLOv10 解析 1.简介 近些年来,研究人员对 YOLO 的架构设计、优化目标、数据增强策略等进行了探索,取得了显著进展。然而,后处理对非极大值抑制(NMS)的依赖阻碍了 YOLO 的端到端部署,并对推理延迟产生不利影响。此外,YOLO 中各个组件的设计缺乏全面彻底的检查,导致…

SemanticKernel之Chat

去年写过几过几篇关于SemanticKernel的文章,由于正式发布的版本与之前的版本变化较大,加上前的东京《生成式AI应用开发》活动,想把演示的Demo逐一分享出来,的以再次开启SemanticKernel系统。下面是一个Chat的例子,用户提问,如果本地有固定数据能对应,直接返回,如果没有…

7、添加特效

去除画面logo 复制一份 拖动模糊特效到复制的片段中 右键分离音频或者快捷键【ctrl+shift+s】 删除音频 添加原创特效,特效随机 有音乐的去除音乐 适当拖动放大 调整透明度 开幕特效 三秒 调整参数后,复制双份 画面特效和人物特效二选一 画面特效需要修改参数

Prompt升级

前两篇关于Prompt的文章分别从提示词规则建议和具体框架角度说明了一下Prompt的使用技巧,接下来可以说是对框架式提示词的的进一步升级——结构化提示词。 结构化定义: 对信息进行组织,使其遵循特定的模式和规则,从而方便有效理解信息。 结构化提示词语法:这个结构支持 Mark…

Spring复习-事务

事务概述 Spring事务编程概述 事务是开发中必不可少的东西,使用JDBC开发时,我们使用connnection对事务进行控制,使用MvBatis时,我们使用SqlSession对事务进行控制,缺点显而易见,当我们切换数据库访问技术时,事务控制的方式总会变化,Spring 就将这些技术基础上,提供了统…