wing是什么_可分开四叶草项链

wing是什么_可分开四叶草项链在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链,在项链上有 N 颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是 Mars 人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为 m,尾标记为 r,后一颗能量珠的头标记为 r,尾标记为 n,则聚合后释放的能量为 m×r×n(Mars 单位),新产

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链,在项链上有 N 颗能量珠。

能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。

并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。

因为只有这样,通过吸盘(吸盘是 Mars 人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。

如果前一颗能量珠的头标记为 m,尾标记为 r,后一颗能量珠的头标记为 r,尾标记为 n,则聚合后释放的能量为 m×r×n(Mars 单位),新产生的珠子的头标记为 m,尾标记为 n。

需要时,Mars 人就用吸盘夹住相邻的两颗珠子,通过聚合得到能量,直到项链上只剩下一颗珠子为止。

显然,不同的聚合顺序得到的总能量是不同的,请你设计一个聚合顺序,使一串项链释放出的总能量最大。

例如:设 N=4,4 颗珠子的头标记与尾标记依次为 (2,3)(3,5)(5,10)(10,2)。

我们用记号 ⊕ 表示两颗珠子的聚合操作,(j⊕k) 表示第 j,k 两颗珠子聚合后所释放的能量。则

第 4、1 两颗珠子聚合后释放的能量为:(4⊕1)=10×2×3=60。

这一串项链可以得到最优值的一个聚合顺序所释放的总能量为 ((4⊕1)⊕2)⊕3)=10×2×3+10×3×5+10×5×10=710。

输入格式
输入的第一行是一个正整数 N,表示项链上珠子的个数。

第二行是 N 个用空格隔开的正整数,所有的数均不超过 1000,第 i 个数为第 i 颗珠子的头标记,当 i<N 时,第 i 颗珠子的尾标记应该等于第 i+1 颗珠子的头标记,第 N 颗珠子的尾标记应该等于第 1 颗珠子的头标记。

至于珠子的顺序,你可以这样确定:将项链放到桌面上,不要出现交叉,随意指定第一颗珠子,然后按顺时针方向确定其他珠子的顺序。

输出格式
输出只有一行,是一个正整数 E,为一个最优聚合顺序所释放的总能量。

数据范围
4≤N≤100,
1≤E≤2.1×109

输入样例:
4
2 3 5 10
输出样例:
710

题解
区间dp

#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
int a[N],f[N][N];
int main(){ 
   
    int n;
    cin>>n;
    for(int i = 0;i < n;i ++)cin>>a[i],a[i + n] = a[i];
    int res = 0;
    for(int len = 3;len <= n + 1;len ++){ 
   
        for(int l = 0;l <= 2 * n - len;l ++){ 
   
            int r = l + len - 1;
            for(int k = l + 1;k < r;k ++){ 
   
                f[l][r] = max(f[l][r],f[l][k] + f[k][r] + a[l] * a[k] * a[r]);
            }
        }
    }
    for(int i = 0;i < n;i ++)res = max(res,f[i][i + n]);
    cout<<res<<endl;
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169145.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 下午9:46
下一篇 2022年8月9日 下午9:46


相关推荐

  • 数据外连接 LEFT OUT JOIN 的用法

    数据外连接 LEFT OUT JOIN 的用法table1 与 table2 的等值连接如下 Select nbsp A id A name A housenumber B housenumber B housenamefro table2Bwhere housenumber B housenumber nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp

    2026年3月17日
    2
  • RabbitMQ原理及实现

    RabbitMQ原理及实现一 RabbitMQ 核心概念以及工作原理我们来看看流行的 RabbitMQ 消息系统以及它是如何让你的系统之间进行解耦的 英文原文二 RabbitMQ 特点及应用 RabbitMQ 除了像兔子一样跑的很快以外 还有这些特点 开源 性能优秀 稳定性保障 提供可靠性消息投递模式 返回模式 与 SpringAMQP 完美整合 API 丰富 集群模式丰富 表达式配置 HA 模式 镜像队列模型 保证数据不丢失的前提做到高可靠性 可用性 MQ 典型应用场景 异步处理 把消息放入消息中间件中

    2026年3月18日
    1
  • 庆祝kkkbo出道!

    庆祝kkkbo出道!希望学编程有始有终,不做弱者,不做断者-常思华联兴之日子,多念华联兴之饭菜,忆图思苦,勉励自身。

    2022年7月3日
    45
  • UML建模之状态图(Statechart Diagram)

    UML建模之状态图(Statechart Diagram)一 活动图的组成元素 ActivityDiag 活动状态图 Activity 2 动作状态 Actions 3 动作状态约束 ActionConstr 4 动作流 ControlFlow 5 开始节点 InitialNode 6 终止节点 FinalNode 7 对象 Objects 8 数据存储对象 DataStore

    2026年3月18日
    2
  • 2020 CSP-S第二轮认证一等奖获奖名单

    2020 CSP-S第二轮认证一等奖获奖名单CCFCSP J S2020 第二轮提高级一等名单证书编号 省份 准考证号 姓名 性别 总分 学校 年级 CCF CSP JS2020 00001 安徽 AH 00120 洪朝阳 男 365 合肥市第一中学 高二 CCF CSP JS2020 00002 安徽 AH 00451 杨珖 男 355 安徽师范大学附属中学 高二 CCF CSP JS2020 00003 安徽 AH 00098 葛子越 男 340 安徽师范大学附属中学 高一 CCF CSP JS2020 00004 安徽 AH 00549 朱剑

    2026年3月17日
    2
  • 算法复杂度比较「建议收藏」

    算法复杂度比较「建议收藏」常见函数算法时间复杂度由小到大依次为:Ο(1)<Ο(loga^n)<Ο(n)<Ο(nlogn)<Ο(n2)<Ο(n3)<Ο(n!)<Ο(N^n)常见算法复杂度对比快速排序nlogn堆排序nlogn冒泡排序在改良的冒泡下最优时间复杂度为n插入排序最优下n选择排序n*n归并nlogn对N个数进行排序,在各自最优条件下以下算法复杂度最…

    2025年7月22日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号