【2024.10.4 闲话】0/99+

news/2024/10/4 23:28:15

今日推歌:没有。明天可能有。
今日 set:也没有。话说应该没人知道 set 是什么吧,总之不是 std::set。

[ARC176E] Max Vector

给你两个长度为 \(N\) 的正整数序列: \(X=(X_1,X_2,\dots,X_N)\)\(Y=(Y_1,Y_2,\dots,Y_N)\)
此外,你还得到 \(M\) 个长度为 \(N\) 的正整数序列。第 \(i\) 个序列是 \(A_i = (A_{i,1},A_{i,2},\dots,A_{i,N})\)
对于每个 \(i = 1,2,\dots,M\),您必须对每个 \(i\) 执行下列操作中的一种。

  • 对于所有 \(1 \le j \le N\), \(X_j\) 替换为 \(\max(X_j,A_{i,j})\)
  • 对于所有 \(1 \le j \le N\)\(Y_j\) 替换为 \(\max(Y_j,A_{i,j})\)

求所有操作后 \(\sum_{j=1}^{N} (X_j + Y_j)\) 的能达到的最大值。
\(1\leq n\leq 10,1\leq m,A_i,X_i,Y_i\leq 500\)

?

可以将 \(\max\) 转化为选择对 \(X_j/Y_j\) 是否赋值,且每个位置只能被赋值一次,每个序列只能对 \(X,Y\) 中的一个赋值。
不难写出 \(O(2^{2N}NM)\) 的 dp。过不了。怎么会事呢?
点开题解,发现自己看错题目了😅😅😅。

求所有操作后 \(\sum_{j=1}^{N} (X_j + Y_j)\) 的能达到的最值。

如果求最小值的话,那不就变成经典最小割模型了吗。那不就做完了吗。

但我仍然在想,如果是求最大值的话,肯定有很多个值用不上,是不是可以找到一种方法把这个 \(M\) 优化掉呢?
可惜,这是我最不擅长的。但是 ??? 说:

  • 显然,对于每个 \(i\),\(A_{*,i}\) 中前 \(N\) 大的数才是有用的,因为一个序列最多被赋值 \(N\) 次;在最优方案中,\(X_i/Y_i\) 的最终值一定大于等于 \(A_{*,i}\) 中前 \(N+1\) 大的数。
  • 这样,有用的位置只有 \(O(N^2)\) 个,只要对于这些位置进行转移就行了,时间复杂度 \(O(2^{N}N^2)\)

明明积累了那么多道题,在考场上为什么却想不出来呢?就像在 spellcard practice 中总是能收卡,在实战中却 0/99+ 一样。
我尝试去追赶他。我什么时候能做到像他一样快,一样强。或许到了某一天,即便没有追上,我也会成为 master 呢(见摘要)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

2024 ciscn WP

一、MISC1.火锅链观光打卡打开后连接自己的钱包,然后点击开始游戏,答题八次后点击获取NFT,得到有flag的图片没什么多说的,知识问答题兑换 NFTFlag{y0u_ar3_hotpot_K1ng}2.Power Trajectory Diagram方法1:使用py中的numpy和pandas库读取npz文件并保存为csv文件,代码如下:…

30. 协程

1.协程的概念 1.1 定义 进程是操作系统内部运行的程序 线程是进程内部运行的程序 协程是线程内部运行的程序 协程是单线程下的并发,又成微线程,英文名coroutine 1.2 协程的优点协程切换的开销更小 GIL锁导致同一时刻只能运行一个线程,一个线程内不会限制协程数,单线程就可以…

.net core 安装服务

https://www.jianshu.com/p/e1b3b61f876a使用NSSM 后面的代码演示以Asp.net Core 2.1作为演示,其他.Net Core方式一致。 1、确保.Net Core程序可以正常运行 先把Asp.net Core发布,然后直接运行dotnet命令,确保程序可以运行并访问 2、使用NSSM安装dotnet 下载NSSM,使用命…

vs2015安装包丢失或损坏解决工具 或者不能启动

打开“本地组策略编辑器”(gpedit.msc)。展开“计算机配置”>“管理模板”>“系统”>“Internet 通信管理”,然后选择“Internet 通信设置”。选择“关闭自动根证书更新”>,“禁用”,然后选择“确定”或“应用”。  下载最新的组件版本(备份的) https://lea…

uboot 启动自编写程序的方式

uboot 启动自编写程序的方式 uboot 存在 boot 命令。 自己最初在尝试撰写串口程序时,选择了使用汇编来完成。 在这段时间,自己使用 go 命令来尝试载入程序 先是在 Ubuntu 上搭建 tftp 目录 # /etc/default/tftpd-hpaTFTP_USERNAME="tftp" TFTP_DIRECTORY="/ho…

20240924

[牛半仙的妹子 Tree(tree)](http://ac.robo-maker.cn/d/contest/p/ZY1044?tid=66f28cd11bca2159e88c8fb0) 我们会发现其实牛半仙发癫时就等于将以前的标记清空,从头开始,所以我们可以考虑根号分治,如果两个牛半仙发癫的时间间隔小于 \(\sqrt n\) ,那么我们可以直接暴力枚举两…

『模拟赛』冲刺CSP联训模拟2

『模拟赛记录』冲刺CSP联训模拟2Rank 不重要了A. 挤压 你说的对,期望怎么能算签呢? 一个重要的性质:一个数的平方可以在二进制下表示为 \(\sum_{i,j}\ s_i\ s_j\ 2^{i+j}\),所以就可以分别求每一位对答案的贡献了。 设 \(f_{i,1/0,1/0}\) 表示到第 \(i\) 个数我们枚举的两位…