【3.31】

智乃想考一道完全背包(Easy version)

思路:虚拟物品的思路。可以把 l ∈ [ 1 , k ] , r ∈ [ k , n ] l\in[1, k], r\in[k, n] l[1,k],r[k,n] 的区间 ( l , r ) (l, r) (l,r) 看作一个虚拟物品,体积和价值为区间的体积和与价值和。这样做完全背包就是 O ( m 3 ) O(m^3) O(m3) 的。用贪心去一下重的话是 O ( n 2 ) O(n^2) O(n2) 的。

AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68493724

智乃想考一道完全背包(Hard version)

思路:还是 DP 。

  1. 考虑枚举分界点进行如上题的 DP,时间复杂度 O ( n × m 3 ) O(n\times m^3) O(n×m3)
  2. 考虑枚举虚拟物品,共有 n 2 n^2 n2 个,每个物品 ( l , r ) (l, r) (l,r) 都对该区间内的所有分界点作为物品。如果我们从小到大枚举 l l l ,从大到小枚举 r r r ,可以将 ( l , r ∈ l ∼ n ) (l, r \in l\sim n) (l,rln) 内的所有物品一次统计到 ( l , r ) (l, r) (l,r) 中。 r r r 枚举完之后, k = l k=l k=l DP 完成。

智乃想考一道平衡树

三个知识点:支持 O1 反转的双端队列,整体打lazy标记,时间戳在lazy上的应用。

一、

自己写了个

struct ReversedDeque {int h, t, isrev, data[N];int _next(int i) { return i + 1 == N ? 0 : i + 1; }int _prev(int i) { return i == 0 ? N - 1 : i - 1; }int size() { return h <= t ? t - h : t - h + N; }void pop_back() { t = _prev(t); }void pop_front() { h = _next(h); }void push_back(int x) { data[t] = x; t = _next(t); }void push_front(int x) { h = _prev(h); data[h] = x; }int& front() { return data[h]; }int& back() { return data[_prev(t)]; }int& at(int i) { i = h + i; if(i >= N) i -= N; return data[i]; }void reverse() { isrev ^= 1; }void r_pop_back() { isrev ? pop_front() : pop_back(); }void r_pop_front() { isrev ? pop_back() : pop_front(); }void r_push_back(int x) { isrev ? push_front(x) : push_back(x); }void r_push_front(int x) { isrev ? push_back(x) : push_front(x); }int& r_front() { return isrev ? back() : front(); }int& r_back() { return isrev ? front() : back(); }int& r_at(int i) { return isrev ? at(size() - 1 - i) : at(i); }
};

二、

该题涉及到的lazy标记是 1. 整体乘 2. 整体加

当塞入一个数字时,队列中其他数字都有lazy A × i t e m + B A\times item + B A×item+B ,而新数字没有。此时可以逆向打lazy,即 i t e m − B A \frac {item - B} A AitemB ,这样新数字的lazy就与整体的一致了。

三、不会,省略。

S 老师的签到

知识点:分层 BFS,开两个队列。

AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68515129

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

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

相关文章

【项目技术介绍篇】若依开源项目RuoYi-Cloud前端技术介绍

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

鸿蒙ARKTS--简易的购物网站

目录 一、media 二、string.json文件 三、pages 3.1 登录页面&#xff1a;gouwuPage.ets 3.2 PageResource.ets 3.3 商品页面&#xff1a;shangpinPage.ets 3.4 我的页面&#xff1a;wodePage.ets 3.5 注册页面&#xff1a;zhucePage.ets 3. 购物网站主页面&#xff…

STM32学习笔记(10_2)- I2C通信协议MPU6050简介

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 本期开…

[Linux_IMX6ULL驱动开发]-基础驱动

驱动的含义 如何理解嵌入式的驱动呢&#xff0c;我个人认为&#xff0c;驱动就是嵌入式上层应用操控底层硬件的桥梁。因为上层应用是在用户态&#xff0c;是无法直接操控底层的硬件的。我们需要利用系统调用&#xff08;open、read、write等&#xff09;&#xff0c;进入内核态…

synchronized的使用方式

1、修饰实例方法 public synchronized void A(){} 这个时候锁的是当前的实例对象。多线程操作同一个实例的实例方法时&#xff0c;才会阻塞。 2、修饰静态方法 public synchronized static void A(){}这个时候锁的是整个类下所有的实例对象&#xff0c;静态方法是存在于方法…

自然语言处理:大模型LLM论文整理

LLMs 九层妖塔 地址&#xff1a;https://github.com/km1994/LLMsNineStoryDemonTower LLMs 千面郎君 地址&#xff1a;https://github.com/km1994/LLMs_interview_notes LLMs 论文学习笔记&#xff1a;https://gitee.com/km601/llms_paper NLP 百面百搭 地址&#xff1a;htt…

os模块篇(三)

文章目录 os.putenv(key, value, /)os.setegid(egid, /)os.seteuid(euid, /)os.setgid(gid, /)os.setgroups(groups, /)os.setns(fd, nstype0)os.setpgrp()os.setpgid(pid, pgrp, /)os.setpriority(which, who, priority) os.putenv(key, value, /) os.putenv(key, value) 是 …

看懂Spring和Spring Boot的区别与联系

一、概述 Spring和Spring Boot是Java应用程序开发中最受欢迎的框架之一。Spring提供了一个全功能的、开放式源代码的Java应用程序框架&#xff0c;可以帮助开发人员在基于Java的代码中快速编写而不必关心底层技术实现。而Spring Boot则是基于Spring框架之上的快速开发框架&…

Java编程实战:疫情物资分配系统的设计与实现

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

小程序运营秘籍,5步打造爆款!

在数字化的浪潮中&#xff0c;小程序以其轻便、快捷的特性迅速走红&#xff0c;成为连接用户与服务的重要桥梁。然而&#xff0c;一个成功的小程序离不开精细化的运营策略。如何做运营&#xff0c;才能让小程序在激烈的市场竞争中脱颖而出&#xff1f;以下是几个关键步骤的解析…

RocketMQ笔记(三)SpringBoot整合RocketMQ发送单向消息

目录 一、简介1.1、特点1.2、场景 二、Maven依赖三、application配置四、生产者4.1、测试类4.2、运行结果 一、简介 RocketMQ 提供了一种单向发送消息的方法&#xff0c;在这种模式下&#xff0c;生产者只负责尽快地发送消息&#xff0c;而不需要关心消息是否被Broker接收&…

Opencv相机的读取、拍摄、保存

Opencv相机的读取、拍摄、保存 以下是OpenCV相机的读取、拍摄和保存的基本步骤&#xff1a; 1、读取相机数据 要从相机中读取数据&#xff0c;可以使用cv2.VideoCapture()函数。该函数接受两个参数&#xff0c;即相机的索引和视频捕获模式。例如&#xff0c;要从名为“camera…

Qt 富文本处理 (字体颜色大小加粗等)

Qt中支持HTML的控件有textEdit 、label 、textBrowser 。 接口&#xff1a;setHtml("Qt"); toHtml(). 文本样式设置 : 可分字设置 &#xff0c;主要使用QTextCharFormat类进行文本样式设置。 示例&#xff1a; QTextCharFormat fmt; //粗体 fmt.setFontWeight…

在 IntelliJ IDEA 中部署 Java 项目的详细步骤

在进行 Java 项目的部署前&#xff0c;确保你已经完成了以下准备工作&#xff1a; 项目开发完成&#xff1a;确保 Java 项目已经经过完整的开发&#xff0c;并且通过了相关的测试。依赖管理&#xff1a;确认项目中所有的依赖项都已经正确配置&#xff0c;并且可以被正常引入。…

蓝桥杯备考随手记: 求最大公约数

1. 最大公约数的定义 最大公约数指的是两个或多个整数中能同时整除它们的最大正整数。最大公约数也可以被称为最大公因数、最大公因子或者简称为GCD&#xff08;Greatest Common Divisor&#xff09;。例如&#xff0c;对于整数12和18来说&#xff0c;它们的最大公约数是6。 …

查找算法及查找常用数据结构总结

1.顺序表查找 基本方法&#xff1a; 设查找表以一维数组来存储&#xff0c;要求在此表中查找出关键字的值为x的元素的位置&#xff0c;若查找成功&#xff0c;则返回其位置&#xff08;即下标&#xff09;&#xff0c;否则&#xff0c;返回一个表示元素不存在的下标&#xff0…

VMware虚拟机共享主机v2rayN

目录 &#x1f33c;前言 &#x1f33c;解释 &#x1f6a9;操作 1&#xff09;VMware -- 虚拟网络编辑器 2&#xff09;VMware -- 网络适配器 3&#xff09;主机 IP 地址 4&#xff09;v2rayN 代理端口 5&#xff09;VMware -- 网络代理(Network proxy) &#x1f382;结…

红黑树介绍及插入操作的实现

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

轻松集成所有大模型——一站式大模型应用开发框架Promptulate

&#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;大模型创业、LangChain Top Contributor、算法工程师、Promptulate founder、Python开发者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 我的博客&#xff1a;Zeeland…

windows平台虚拟机安装

windows平台虚拟机安装 1. 安装VMwareWorkstationPro 1.1 软件下载 官网下载 官网 百度网盘下载 版本 VMwareWorkstationPro16 链接&#xff1a;https://pan.baidu.com/s/1LidMxoM9e4a4CANixyRoyg?pwd1157 提取码&#xff1a;1157 1.2 软件安装 软件安装注意事项 软件…