首页 > 其他分享 >COCI 17/18 Contest 6 Vrtić

COCI 17/18 Contest 6 Vrtić

时间:2024-11-01 09:57:48浏览次数:1  
标签:Vrti 59 17 Contest 18 然后 016 最优

傻逼题。

首先经典的结论是有很多个环,让每个环最小。

显然将数组从小到大排序,然后每个环都是取连续一段一定最优,交换法容易证明。

然后对于每个环内如何最优呢?假设我们有从小到大排序的数组 \(a_{\{1,n\}}\) ,最优一定是这样的:

\[a_1,a_3,a_5,a_7... a_8,a_6,a_4,a_2 \]

就是左右填数。为什么呢?考场是打表得出。因为构造出这个方法后使用交换证明发现是最优的。

这不是这道题最傻逼的地方,前面是平凡的思维。然后不知道傻逼出题人是怎么把这个环和这个结论复合在一起的。如果往二分答案想就失败了,因为现在问题等价于把一个长度为 \(n\) 的序列分为若干段,每段价值已经处理好(\(O(n^3)\) 预处理),段的长度已经固定(环长),这个东西贪心做不了,只能使用指数级别的算法。

如果长度为 \(i\) 的环有 \(x_i\) 个,我们得到以下式子:

\[(\sum_{i=1}^n x_i\times i)=n \]

然后,状态数就是:

\[\prod_{i=1}^n(x_i+1) \]

这个东西最大值是 \(4230144\),打表发现,取 \(x=\{16,8,5,3,3,2,2,1,1,1,1,1\}\) 得到。

由于转移还有常数,所以一个 \(\log\) 都不能带,所以你要建出一个 DAG,然后跑 dp,依托细节,快速处理出每个状态代表的值,乘上转移 \(12\) 的常熟就是 \(59,222,016‬\),也就是常数需要优秀,最后还有记录前驱输出方案处理简直就是一坨屎,dfs 记忆化多好,一个 \(\log\) 下来只有 80pts

出题人脑子开光出的复合题恶心人。

时间复杂度?记 \(w=59,222,016\),时间复杂度是 \(O(w+n^3)\) 的。

标签:Vrti,59,17,Contest,18,然后,016,最优
From: https://www.cnblogs.com/g1ove/p/18519450

相关文章

  • [HCTF 2018]WarmUp
    题目链接:https://buuoj.cn/challenges#[HCTF2018]WarmUp打开环境后如下。查看页面源代码,发现存在提示"source.php"。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"conte......
  • 20222318 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容1.1问题回答(1)杀软是如何检测出恶意代码的?①基于特征码的检测:杀毒软件会维护一个包含各种已知恶意软件特征码的数据库。当扫描文件时,杀毒软件会将文件与数据库中的特征码进行比对,如果匹配,就会标记为恶意软件。②启发式检测:启发式检测技术通过分析程序的行为模式来检......
  • VMwareWorkstation pro 17安装Win11(亲测好用)
    1、安装包   我用夸克网盘分享了「Win11_23H2_China_GGK_Chinese_Simplified_x64v2.iso」,点击链接即可保存。打开「夸克APP」:链接:https://pan.quark.cn/s/817ccfc90f29提取码:pPn12、安装教程(基于WMwareworkstationpro17)1)       打开WMwareWorkstation,点击......
  • VMwareWorkstation pro 17安装Win10(亲测好用)
    1、安装包 夸克网盘分享「cn_windows_10_consumer_editions_version_1909_x64_dvd_76365bf8.iso」链接:https://pan.quark.cn/s/175d19630109提取码:fSMs2、安装教程(基于WMwareworkstationpro17)1)       打开WMwareWorkstation,点击创建新的虚拟机  2)  ......
  • P1779 魔鬼杀手 题解&&思路
    P1779魔鬼杀手题解&&思路题目链接。分析题目性质我们发现假如有状态表示\(M\)个方案选或不选,那么这个状态有唯一确定的结果,即结果不会随着施法的顺序而改变。考虑\(dp.\)我们从题目出发,发现每个方案有单个攻击或者集体攻击,想一想从这个方面考虑。又由于每一个方案是可......
  • arc186a 二分图 建模
    先直接给出思路,把这个矩阵建成一个完全二分图,如果\(a_{i,j}=1\)的话从左边的i连向右边的j,否则从右边的j连向左边的i,此时左边\(i\)的出度表示第\(i\)行的\(1\)的个数,右边\(j\)的出度表示第\(j\)列1的个数。我们发现,如果图中存在一个环,那么将环上的边全部翻转所有点的度数依然不变,但......
  • 如何在 Ubuntu 18.04 上使用 Gunicorn 和 Nginx 提供 Flask 应用程序
    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。简介在本指南中,您将在Ubuntu18.04上使用Flask微框架构建一个Python应用程序。本文的大部分内容将介绍如何设置Gunicorn应用服务器,以及如何启动应用程序并配置Ngi......
  • 如何在 Ubuntu 18.04 上使用 Gunicorn 和 Nginx 提供 Flask 应用程序
    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。简介在本指南中,您将在Ubuntu18.04上使用Flask微框架构建一个Python应用程序。本文的大部分内容将介绍如何设置Gunicorn应用服务器,以及如何启动应用程序并配置Ngi......
  • 0基础学java之Day18
    包装类理解:基本数据类型对应的类出现原因:Java为纯面向对象语言,8种基本数据类型不能new对象,破坏了Java为纯面向对象语言的特征,所以Java有为8种基本数据类型分别匹配了对应的类,这种类叫做包装类/封装类基本数据类型引用数据类型继承关系byteByteObject.Number.Bytesh......
  • DAY48|| 300.最长递增子序列 | 674. 最长连续递增序列 | 718. 最长重复子数组
     300.最长递增子序列300.最长递增子序列-力扣(LeetCode)给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例......