【能量项链】

news2024/9/23 15:28:53

题目

错误代码(10过7)

#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int a[N];
int n;
int f[N][N];
int cal(int i, int k, int j)
{
    if(i <= k && k <= j)
    {
        return a[i] * a[(k+1)%n] * a[(j+1)%n];
    }
    else if(k < j && j <= i)
    {
        return a[i] * a[(k+1)%n] * a[(j+1)%n];
    }
    else if(j <= i && i <= k)
    {
        return a[i] * a[(k+1)%n] * a[(j+1)%n];
    }
    
    return 0;
}
int main()
{
    memset(f, -0x3f, sizeof f);
    cin >> n;
    for(int i = 0; i < n; i++)
    {
        cin >> a[i];
        f[i][i] = 0;
    }
    
    for(int len = 2; len <= n; len++)
    {
        for(int i = 0; i < n; i++)
        { 
            int j = (i + len - 1) % n;
            bool cir = false;
            for(int t = i; ; t++)
            {
                int k = t % n;
                if(k == i)
                {
                    if(cir) break;
                    else cir = true;
                }
                if(cal(i, k, j)) 
                {
                    f[i][j] = max(f[i][j], f[i][k] + f[(k+1)%n][j] + cal(i, k, j));
                }
                
            }
        }
    }

    int res = -0x3f3f3f3f;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
        {
            if(abs(i-j) == 1) res = max(res, f[i][j]);
        }
    cout << res;
    
    return 0;
}

思路

定义状态

f[i][j]   为 i \rightarrow j (i <= j) 或者 j \rightarrow n-1 \rightarrow i  (j < i) 的方法集合。

例如 i \rightarrow j 指的是第i个珠子作为聚合珠串的头,第j个珠子为尾的情况,珠串包含序列中所有珠子。

f[i][j] 的值为方法集合中最大的释放能量值。

状态转移

 f[i][j] = f[i][k] + f[k+1][j] + cal(i, k, j)

其中 cal(i,k,j) 为将两个珠串头尾聚合成 f[i][j] 所释放的能量值。

目标状态

将所有珠子纳入考虑的状态: f[0][n-1] 、f[i][j] (i > j) \wedge (abs(i-j) = 1)

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

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

相关文章

显示“ ‘cmd‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。”的解决方法

问题呈现 当我们在执行cmd命令时&#xff0c;若出现不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件的提示。 解决方法 在导航搜索框输入编辑系统环境变量&#xff08;或者右键此电脑&#xff0c;左键属性&#xff0c;左键高级系统设置&#xff0c;左键环境…

常见——算法

一.排序算法 1.冒泡排序 public class Test {public static void main(String[] args) {int []arr{12,34,1,56,44,4,5,55};for (int i 0; i < arr.length-1; i) {for (int j 0; j < arr.length-i-1; j) {int temparr[j1];if(arr[j]>arr[j1]){arr[j1]arr[j];arr[j]t…

langchain入门系列之三 数据连接器的使用

数据连接处理流程 数据加载器结构 数据加载器示例 - CSV LangChain 实现了一个 CSV 加载器&#xff0c;可以将 CSV 文件加载为一系列 Document 对象。CSV 文件的每一行都会被翻译为一个文档。 这里需要自己准备一个csv文件 from langchain_community.document_loaders.csv_l…

【Java】—— Java面向对象基础:在Java中创建和管理员工及其生日信息

目录 定义MyDate类 定义Employee类 创建测试类并测试员工对象 运行结果 总结 在Java中&#xff0c;面向对象编程&#xff08;OOP&#xff09;的核心在于定义类&#xff08;Class&#xff09;和对象&#xff08;Object&#xff09;。本篇文章将通过一个简单的示例来展示如何…

Scrapy 项目部署Scrapyd

什么是Scrapyd Scrapyd 是一个用来管理和运行 Scrapy 爬虫的服务。它允许用户将 Scrapy 项目部署到服务器上&#xff0c;然后通过一个简单的 API 来启动、停止和监控爬虫的运行。Scrapyd 可以帮助简化爬虫的部署过程&#xff0c;使得用户不必手动在服务器上运行爬虫&#xff0c…

单片机原理及技术(八)—— 串行口的工作原理及应用

目录 一、串行通信基础 1.1 并行通信与串行通信 1.1.1 并行通信 1.1.2 串行通信 1.2 同步通信与异步通信 1.3 串行通信的传输模式 二、串行口的结构 2.1 串行口控制寄存器SCON 2.1.1 SM0、SM1 2.1.2 SM2 2.1.3 REN 2.1.4 TB8 2.1.5 RB8 2.1.6 TI 2.1.7 RI 2.2 …

云服务器在媒体处理中的应用有哪些

云服务器在媒体处理中扮演着至关重要的角色&#xff0c;无论是视频流服务、音频转码处理&#xff0c;还是图片优化服务&#xff0c;云服务器都提供了高效、灵活且可扩展的解决方案。以下将详细探讨云服务器在媒体处理中的应用。 首先&#xff0c;云服务器在视频流服务方面发挥着…

python怎么判断大小写

Python提供了isupper()&#xff0c;islower()&#xff0c;istitle()方法用来判断字符串的大小写&#xff0c;具体实例如下&#xff1a; >>> str_1 "HELLO PYTHON" # 全大写 >>> str_2 "Hello PYTHON" # 大小写混合 >>> str_3…

Spring Boot 有哪些优点?

Spring Boot 有哪些优点&#xff1f; &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; Spring Boot以其简洁和高效的特点&#xff0c;革新了Java应用的开发和部署方式。以下是其几大核心优势&#xff0c;让你一目了然&#xff1a; 减少时间成…

5000套精美PPT免费分享

目录 部分展示目录 几乎包含各种应用场景的PPT模板 这里只展示部分目录 部分展示目录 ##PPT下载 链接&#xff1a;https://pan.baidu.com/s/1ckvN9xeMR82hL30lHXfJ0g 提取码&#xff1a;ZYNB 点击下载&#xff0c;记得点个赞哦

MAML算法详解

引言&#xff1a;MAML是元学习的经典论文&#xff0c;也是基于optimization based meta-learning方法的开山之作&#xff0c;后序很多工作都是follow这篇工作。目前已经有13140的引用&#xff0c;其算法思想很巧妙&#xff0c;值得反复品读。论文链接&#xff1a;http://procee…

APP备案FAQ--荣耀应用上架(可获得相关资料)

1.常见的接入商有哪些&#xff1f; 目前常见的接入商有&#xff1a;华为云、阿里云、腾讯云。关于如何选择接入商&#xff0c;具体还需要根据您所选择的服务器提供商而定。 2.已完成网站ICP备案还需要进行APP备案吗&#xff1f; 需要。即使您已完成网站ICP备案&#xff0c;仍需…

基于game-based算法的动态频谱访问matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 展示了负载因子P和次级传输功率不同的HPE。 从图中可以看出&#xff0c;随着|hP E|扩大,用户P更好的为二级用户分配更多的…

AI在医学领域:谷歌的HeAR生物声学模型

声学非语义属性的语音可以使机器学习模型执行诸如情绪识别、说话者识别和痴呆检测等副语言任务。脑卒中、帕金森病、阿尔茨海默病、脑瘫和肌萎缩侧索硬化症&#xff08;ALS&#xff09;等脑血管和神经退行性疾病也可以使用非语义语音模式&#xff0c;如发音、共鸣和发声等来检测…

es 7.17.23安装ik插件启动失败,access denied,Permission

情况简述 windows平台&#xff0c;下载了7.17.23的es以及7.17.23的ik分词器的zip包之后&#xff08; 下载地址&#xff08;官方推荐的&#xff09;&#xff1a;Index of: analysis-ik/stable/ &#xff09;&#xff0c;解压该ik的包到es的plugins下&#xff0c;目录结构&…

基于layui实现简单的计分板页面

使用Layui、HTML、CSS练手做了个简单的计分板页面&#xff08;虽然HTML和CSS学的很烂&#xff0c;而且页面尺寸变化时对齐还有问题&#xff09;。布局采用的Layui的栅格系统&#xff0c;同时使用Layui的按钮、弹出层模块设置样式及获取用户输入&#xff0c;同时调用jQuery相关功…

comfyUI使用flux模型报错got promptUsing pytorch attention in VAE,

使用的flux模型如下&#xff0c;应该下载的模型都已经下载好放在正确位置 但是执行之后报错如下 got prompt Using pytorch attention in VAE Using pytorch attention in VAE 然后comfyUI的命令行就强制退出了。 解决方法&#xff1a; 改虚拟内存为系统管理的大小即可

8月25日cs61c

小语 天主这样磨难你&#xff0c;试探你&#xff0c;终究是为了使你获得幸福。 1.啃黑书10页 14.23 1.本书着重展示硬件和软件的关系 2.学习时&#xff0c;除了掌握基本原理&#xff0c;还应了解该领域最新进展 3.为了使程序运行更快&#xff0c;必须将其并行化 4.量化&…

指针之旅(1)—— 指针基础概念知识(详细解析)

前言&#xff1a;该篇我将详细讲解指针当中的一些基本概念&#xff0c;有内存和地址的部分硬件知识&#xff0c;有专门服务于指针的操作符&和*&#xff0c;有指针大小固定不变的原因&#xff0c;还有专属于指针的运算规则。 目录 1. 内存和地址 1.1 内存地址的概念&…

力扣网页端无法进入(问题已解决)

力扣网页端无法进入&#xff08;问题已解决&#xff09; 这两天在刷leetcode的时候突然发现无法进入力扣主页&#xff0c;换了浏览器也不行&#xff0c;但其他网站都能正常进去&#xff0c;其它主机也可以。 可能是DNS解析错误 在实际应用过程中可能会遇到DNS解析错误的问题&am…