牛客练习赛122

news2024/9/23 19:24:27

D:圆

正着求删除的最小代价不好做,采用逆向思维,求选择一些不相交的线段使得构成一个圆的代价尽量大,最后答案就是所有线段权值之和减去最大代价。

那么如何求这个最大代价呢?显然区间DP

老套路:破环成链,枚举区间长度 len ,枚举区间左端点 i 和右端点 j

很明显没有线段长度为1,故len从2开始

具体的

线段的操作和点的相似但又不完全相同具体看代码即可。

1:不选择以左端点的线段,f[i][j]=f[i+1][j];

2、选择以为左端点的线段。枚举左端点 所能到达的右端点 v,权值为 w,那么当前的答案

由 区间  [i+1,k-1]  的答案加上 区间  [k +1[j]  的答案加上线段  [ i, v ] 的权值构成,即

 f[i][j]=f[i+1][v-1]+f[v+1][j]+val(i,v);

int n, m;
int f[M][M]; // f[i][j]  区间i到j不相交边的最大价值
vector<PII> g[N];
void solve()
{
    cin >> n >> m;
    int s = 0;
    for (int i = 1; i <= m; i++)
    {
        int x, y, w;
        cin >> x >> y >> w;
        if (x > y)
            swap(x, y);
        g[x].pb({y, w});
        g[y].pb({x + n, w});
        s += w;
    }
    for (int len = 2; len <= 2 * n; len++)
    {
        for (int i = 1; i + len - 1 <= 2 * n; i++)
        {
            int j = i + len - 1;
            f[i][j] = f[i + 1][j]; // 不选择以i为左端点的线段
            for (auto ed : g[i])   // 选择以i为左端点的线段
            {
                int v = ed.xx, w = ed.yy;
                if (v > j) // 已经越过右端点了
                    continue;
                if (v - 1 > i + 1) //
                    w += f[i + 1][v - 1];
                if (j > v + 1)
                    w += f[v + 1][j];
                f[i][j] = max(f[i][j], w);
            }
        }
    }
    int tmp = 0;
    for (int i = 1; i <= n; i++)
        tmp = max(tmp, f[i][i + n - 1]);
    s = s - tmp;
    cout << s << endl;
}

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

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

相关文章

一文读懂DDoS,分享防御DDoS攻击的几大有效方法

DDoS攻击是目前最常见的网络攻击方式之一。其见效快、成本低的特点&#xff0c;使它深受不法分子的喜爱。每39秒就会发生一次新的网络攻击&#xff0c;全球每天大约发生23000次DDoS攻击。对于未受保护的企业来说&#xff0c;每次DDoS攻击的平均成本为20万美元。可见部署DDoS防御…

LabVIEW齿轮传动健康状态静电在线监测

LabVIEW齿轮传动健康状态静电在线监测 随着工业自动化的不断发展&#xff0c;齿轮传动作为最常见的机械传动方式之一&#xff0c;在各种机械设备中发挥着至关重要的作用。然而&#xff0c;齿轮在长期运行过程中易受到磨损、变形等因素影响&#xff0c;进而影响整个机械系统的稳…

二维码门楼牌管理系统技术服务:门牌编设规则详解

文章目录 前言一、门牌编设规则解读二、区间编号与分段编号策略三、多出入口建筑物的门牌编设 前言 随着城市化的快速推进&#xff0c;门楼牌管理成为城市管理中不可或缺的一环。二维码门楼牌管理系统的引入&#xff0c;不仅提升了管理的效率&#xff0c;也为市民提供了更为便…

poi-tl表格行循环(自定义复杂表头)

输入模板 注:集合使用{{xx}}进行标识(在其需要循环的上一行进行标识),[xx]中的内容表示集合中对象属性 public static void main(String[] args) throws IOException {Map<String, Object> map new HashMap<>();LoopRowTableRenderPolicy policy new LoopRowTab…

FPGA高端项目:FPGA基于GS2971的SDI视频接收+图像缩放,提供3套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收HLS动态字符叠加输出应用本方案的SDI接收HLS多路视频…

【Web - 框架 - Vue】随笔 - 通过CDN的方式使用VUE 2.0和Element UI

通过CDN的方式使用VUE 2.0和Element UI - 快速上手 VUE 网址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源码 https://download.csdn.net/download/HIGK_365/88815507测试 代码 <!DOCTYPE html> <html lang"en"> <head><meta …

【论文阅读-PRIVGUARD】Day4:3节

3 PRIVANALYZER&#xff1a;强制执行隐私政策的静态分析 本节介绍PRIVANALYZER&#xff0c;这是一个用于强制执行由PRIVGUARD追踪的隐私政策的静态分析器**。我们首先回顾LEGALEASE政策语言&#xff0c;我们使用它来正式编码政策&#xff0c;然后描述如何静态地强制执行它们**…

【24最新版PythonPycharm安装教程】小白保姆级别安装教程

今天&#xff0c;我就来教大家一下&#xff0c;如何去安装Python&#xff01; 需要博主打包好的一键激活版Pycharm&&Python也可扫下方直接获取 ​ 1 了解Python Python是一种面向对象的解释型计算机程序设计语言&#xff0c;由荷兰人Guido van Rossum于1989年发明&…

调试工具vue,react,redux

React Developer Tools Redux DevTools Vue devtools 使用浏览器官方组件扩展搜索安装

阿克曼转向车型导航末段位姿调整控制

1目标 分析RPP算法时控制器算法学习1-RPP受控纯追踪算法发现,在终点时如果角度还有较大偏差,该算法无法进行很好的调整,故开始尝试在末端接近目标点时,用自己的控制算法去调整位姿,姑且命名为TEA算法(Target-End-Adjust Algorithm for Ackermann) 2控制思路 step1. 将…

nginx使用详解--缓存

Nginx 是一个功能强大的 Web 服务器和反向代理服务器&#xff0c;它可以用于实现静态内容的缓存&#xff0c;缓存可以分为客户端缓存和服务端缓存。 客户端缓存 客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个协商缓存的请…

C++入门07 数组、指针与字符串

图源&#xff1a;文心一言 听课笔记简单整理&#xff0c;供小伙伴们参考~&#x1f95d;&#x1f95d; 第1版&#xff1a;听课的记录代码~&#x1f9e9;&#x1f9e9; 编辑&#xff1a;梅头脑&#x1f338; 审核&#xff1a;文心一言 目录 &#x1f433;课程来源 &#x1…

力扣hot5---双指针

题目&#xff1a; 解决方案&#xff1a;双指针 指针 i 指向最左侧&#xff0c;指针 j 指向最右侧。此时在宽度上达到了最大值&#xff0c;那么哪个柱子更矮&#xff0c;哪个柱子向内部移动&#xff0c;知道 i 与 j 相遇。为什么呢&#xff1f; 如果哪个哪个柱子更矮&#xff0c…

蓝凌EIS智慧协同平台 rpt_listreport_definefield.aspx SQL注入漏洞复现

0x01 产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能,旨在提升企业内部沟通、协作和信息共享的效率。 0x02 漏洞概述 由于蓝凌EIS智慧协同平台 rpt_listreport_definefield.aspx接口处未对用户输入的SQL语句…

NOC2023软件创意编程(学而思赛道)python小高组决赛真题

目录 下载原文档打印做题: 软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认…

Python自动化机器学习库之mindsdb使用详解

概要 在机器学习领域,构建和训练模型是一项复杂且耗时的任务。为了简化这个过程,提高效率,MindsDB库应运而生。MindsDB是一个开源的自动化机器学习框架,它旨在使机器学习变得更加易于使用,即使是对于非专业的数据科学家和开发人员也是如此。本文将深入探讨MindsDB库的基本…

为什么要通过知识产权实缴企业注册资本?

2024年7月1日起开始实施新《公司法》&#xff0c;规定公司注册资本需自公司成立之日起5年内缴足。因此&#xff0c;有很多企业选择在2024年7月1日前把注册资本缴足。为了减缓资金压力&#xff0c;很多企业选择通过知识产权实缴注册资本。下面&#xff0c;我们将深入探讨用知识产…

壹陆锋芒,韧性成长 | 博睿数据16周年庆典圆满落幕!

十六年栉风沐雨&#xff0c;收获累累硕果&#xff1b;十六年砥砺追梦&#xff0c;书写辉煌华章。 2月29日&#xff0c;博睿数据成立16周年庆典活动在珠海圆满落幕&#xff0c;全体员工齐聚一堂&#xff0c;共同见证博睿数据历经十六载&#xff0c;再启新征程的荣耀时刻&#x…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的的机械器件识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发先进的机械器件识别系统对于提高工业自动化水平和生产效率具有至关重要的意义&#xff0c;本篇博客详细介绍了如何利用深度学习构建一个机械器件识别系统&#xff0c;并且提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并结合了YOLOv7、YO…

Linux文本处理三剑客:awk(常用匹配模式)

在Linux操作系统中&#xff0c;grep、sed、awk被称为文本操作“三剑客”&#xff0c;上三期中&#xff0c;我们将详细介绍grep、sed、awk的基本使用方法&#xff0c;希望能够帮助到有需要的朋友。 1、前言 awk作为一门编程语言还有很多内容&#xff0c;我们继续学习awk。 网…