首页 > 其他分享 >PKUSC2018 最大前缀和

PKUSC2018 最大前缀和

时间:2023-07-20 18:35:38浏览次数:35  
标签:前缀 limits cup sum setminus PKUSC2018 最大

这个期望显然是诈骗,即统计每种排列最大前缀和之和。

对于某个排列 \(a\),令 \(s(l,r)=\sum\limits_{k=l}^ra_k\)。考虑前缀 \([1,i]\) 成为答案的充要条件

  • \(\forall 1<j\le i,s(j,i)\ge 0\),否则可以去掉这段。
  • \(\forall j>i,s(i+1,j)<0\),否则加上这段不劣(钦定取的是最大并且最靠后的前缀)。

那么可以考虑状压,设 \(f_S\) 为选择 \(S\) 这个集合作为 \([i+1,n]\) 并且满足第 \(2\) 个条件的方案数,设 \(g_S\) 为选择 \(S\) 这个集合作为 \([2,i]\) 并且满足第 \(1\) 个条件的方案数。转移的话就考虑哪个数塞到开头/结尾即可。

统计答案时枚举第 \(1\) 位填 \(a_i\),然后枚举集合 \(S\) 作为合法的前缀,计算方案数用 \(g_S\) 乘 \(f_{U\setminus (S\cup\{i\})}\) 即可,即:

\[\text{ans}=\sum\limits_{i=1}^n\sum\limits_{S\subseteq U\setminus\{i\}}\left(\sum\limits_{k\in S\cup\{i\}}a_k\right)g_Sf_{U\setminus(S\cup \{i\})} \]

复杂度 \(O(n2^n)\)。

标签:前缀,limits,cup,sum,setminus,PKUSC2018,最大
From: https://www.cnblogs.com/Ender32k/p/17569332.html

相关文章

  • 2023.7.20 环形子数组的最大和
    求子数组最大和可以用dp解决,所以环形子数组也可以用dp解决。最简单的就是破环成链,将原数组再复制一遍然后接到尾端,然后对每个起点做一次求子数组最大和dp。但是由于n的范围较大,这样做的时间复杂度是\(n^2\),会超时。所以必须想办法优化。根据这张图,我们可以把子数组分为二种情......
  • mysql 最大存储量
    MySQL最大存储量MySQL是一种常用的关系型数据库管理系统,被广泛用于各种应用场景中。在使用MySQL时,你可能会想知道MySQL的最大存储量是多少,以便合理地规划你的数据库存储需求。在本文中,我们将介绍MySQL的最大存储量以及如何计算和优化存储空间。MySQL的存储模型MySQL使用一种分......
  • 洛谷 P1122 最大子树和 题解
    一道入门的树形DP。首先我们对于数据进行有序化处理,这便于我们利用数据结构特点(可排序性)来发觉数据性质(有序、单调、子问题等等性质),以便于后续的转化、推理和处理。有序化可以“转化和创造”性质首先将视角从无根树切换为有根树,这样我们就可以得到一个带有最优子结构、无后效性......
  • 取字典中最大最小值对应的键
    取字典中最大最小值对应的键#取最大值对应的键tmp_dict={"a":1,"b":3,"c":9,"d":13}max_key=max(tmp_dict,key=lambdax:tmp_dict[x])print(f"maxkey:{max_key}")#取对小值对应的键tmp_di......
  • 代码随想录算法训练营第60天 | ● 84.柱状图中最大的矩形 - 第10章 动态规划part03
     第十章 单调栈part03有了之前单调栈的铺垫,这道题目就不难了。  ●  84.柱状图中最大的矩形   今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己 代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。  ......
  • vector最大流试预习
    最大流预习目录最大流预习前情提要:EK算法流程重要代码实现:1.vector怎么快速找反向边呢?2.已知u,v,两者我都不知道具体存储位置怎么办?3.去重怎么办?4.最后一定记住bfs及其小细节即可!前情提要:看看人家初中,早就学完最大流最小割,还在最小费用流了,我却从来没有正式接触过太丢脸了吧所......
  • java base64 去掉前缀
    JavaBase64去掉前缀的实现步骤在Java中,要去掉Base64编码的前缀,可以通过一系列的步骤来实现。下面是整个流程的步骤表格:步骤描述步骤1将Base64编码的字符串转换为字节数组步骤2使用Java提供的Base64解码类解码字节数组步骤3将解码后的字节数组转换为字符串......
  • 最大岛屿体积,图的用法
    publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);intnum1=scanner.nextInt();intnum2=scanner.nextInt();int[][]arr=newint[num1][num2];while(scanner.hasNext()){......
  • 6929.数组的最大美丽值-355
    数组的最大美丽值给你一个下标从0开始的整数数组nums和一个非负整数k。在一步操作中,你可以执行下述指令:在范围 [0,nums.length-1]中选择一个此前没有选过的下标i。将nums[i]替换为范围[nums[i]-k,nums[i]+k]内的任一整数。数组的美丽值定义为数......
  • 题解 HDU5726【GCD】/ LGT353762【Soso 的最大公约数】
    Problem给你一个长为\(N(1\leqN\leq1\times10^5)\)的整数序列:\(a_{1},\cdots,a_{n}(0<a_{i}\leq1\times10^9)\)。有\(Q(1\leqQ\leq1\times10^5)\)次提问。每次提问有个范围\(l,r\),你需要计算出\(\gcd(a_{l},,a_{l+1},...,a_{r})\),并且统计数对\((l’,r’......