leetcode (重排数组使得)连续子数组的权值和最小 tEAo7htR

泛亚电竞

泛亚电竞
  • 题目描述:请重新排列某个仅包含2和3的重排值和最数组,使得数组的所有连续子数组权值之和最小
  • 数组的权值定义为,数组中所有元素之积的因子个数,例如:rank([2,3])=4

x = p 1 c 1 × p 2 c 2 × p 3 c 3 ⋅ ⋅ ⋅ × p k c k r a n k = ( c 1 + 1 ) × ( c 2 + 1 ) × ( c 3 + 1 ) ⋅ ⋅ ⋅ × ( c 2 + 1 ) x = p_1^{c_1} \times p_2^{c_2}\times p_3^{c_3} \cdot\cdot\cdot \times p_k^{c_k}\\ rank = (c_1+1)\times (c_2+1) \times (c_3+1) \cdot\cdot\cdot \times (c_2+1) x=p1c1​​×p2c2​​×p3c3​​⋅⋅⋅×pkck​​rank=(c1​+1)×(c2​+1)×(c3​+1)⋅⋅⋅×(c2​+1)

  • 本题 P1=2 ,P2 =3,2和3互质,所以子数组的权值为(2的个数+1)*(3的个数+1)

2 n + 1 个数字, n + 1 个 2 , n 个 3 ,长度为 2 n 的连续子数组的权值 顺序的情况 : ( n + 1 + 1 ) ∗ ( n − 1 + 1 ) + ( n + 1 + 1 ) ∗ ( n − 1 + 1 ) = ( n + 2 ) ∗ ( n ) + ( n + 2 ) ∗ ( n ) 乱序为 : ( n + 1 ) ∗ ( n + 1 ) + ( n + 1 ) ∗ ( n + 1 ) 2n+1个数字,n+1个2,n个3,长度为2n的连续子数组的权值\\ 顺序的情况 : \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ (n+1+1)*(n-1+1)+ (n+1+1)*(n-1+1)\\ = (n+2)*(n)+ (n+2)*(n)\\ 乱序为: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ (n+1)*(n+1)+(n+1)*(n+1) 2n+1个数字,n+1个2,n个3,长度为2n的连续子数组的权值顺序的情况:                                                                         (n+1+1)∗(n−1+1)+(n+1+1)∗(n−1+1)=(n+2)∗(n)+(n+2)∗(n)乱序为:                                                                         (n+1)∗(n+1)+(n+1)∗(n+1)
例如:[2,2,2,3,3]和[2,2,3,3,2]的长度为4的连续子数组

leetcode (重排数组使得)连续子数组的权值和最小 tEAo7htR

  • 所以在和的个数相同的情况下,越分散乘积就越大,越集中乘积就越小,排列应为顺序的情况

对于某个权值为 K 的数组,将 2 换成 3 的权值为 K ∗ ( N 2 − 1 ) + 1 N 2 + 1 ∗ ( N 3 + 1 ) + 1 N 3 + 1 对于某个权值为K的数组,将2换成3的权值为\\ K*\frac{(N_2-1) +1}{ N_2+1}*\frac{(N_3+1)+1}{N_3+1} 对于某个权值为K的数组,将2换成3的权值为K∗N2​+1(N2​−1)+1​∗N3​+1(N3​+1)+1​

例如:[2,2,2],K=(3+1) * (0+1)=4,
           [2,2,3]K= (2+1) * (1+1)=6 = 4* 3 4 \frac{3}{4} 43​* 2 1 \frac{2}{1} 12​

CG

  • 参考: 权值不超过K的连续子数组的数量
  • 本题的解答,右边界从0到n,对于每个右边界,左边界从0开始,如果窗口中的因子数量满足条件(大于或等于K),则收缩左边界直到不满足条件,这样可以得出有几个满足条件的连续子数组。
  • 注:在每次重新计算时,作者并没有将j,即左窗口放回到0,因为有边界扩大,之前的数组使得数组j个窗口满足条件,再窗口中加入数值只能增加权值
  • 注:作者使用了匿名函数来计算当前窗口的权值: lambda 表达式——匿名函数 auto i= [ ] () { };, 填入 & 时,代表通过引用传递捕捉父作用域的变量 https://blog.csdn.net/lievech/article/details/121393346
#include #include#include#include#define ll long longusing namespace std;int main() {addv(a[j], -1);j++;}res += j;}cout<<"----->";cout << res << "\n";}
N长度的vector有多少连续子数组的权值不小于K3462 0cnt<-->1cnt<-->2cnt-->22 1cnt<-->2cnt<-->2cnt-->1
N长度的vector有多少连续子数组的权值不小于K3493 0cnt<-->1cnt<-->23 1cnt<-->1cnt<-->362 0cnt<-->3cnt<-->6cnt-->23 3cnt<-->2cnt<-->63 2cnt<-->2cnt<-->42 1cnt<-->2cnt<-->2cnt-->12 cnt-->1----->4
chatgpt免费软件,chatgpt api 免费接口,chatgpt 聊天机器人教程,chatgpt 指令大全,chatgpt app

leetcode (重排数组使得)连续子数组的权值和最小

CHATGPT在教育领域的贡献:百度的使命担当

百度CHATGPT不仅在商业领域有所作为 ,还在教育领域担当重任 。连续通过个性化的重排值和最学习支持和智能辅导,CHATGPT为学生提供了更有针对性的数组使得数组学习体验,助力教育事业的连续发展 。

重排值和最


 

相关信息

(内容如有侵权,请联系我们删除) Copyright © 1990-2023 泛亚电竞 版权所有 粤ICP备2021165231号