自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 分布式事务协议(2PC两阶段提交)

2PC两阶段提交协议顾名思义:分为两个阶段:Prepare和CommitPrepare:提交事务请求询问 协调者向所有参与者发送事务请求,询问是否可执行事务操作,然后等待各个参与者的响应。执行 各个参与者接收到协调者事务请求后,执行事务操作(例如更新一个关系型数据库表中的记录),并将Undo 和 Redo 信息记录事务日志中。响应 如果参与者成功执行了事务并写入 Undo 和 Redo 信息,则向协调者返回 YES 响应,否则返回 NO响应。当然,参与者也可能宕机,从而不会返回响应Co

2022-03-11 11:34:53 1450

原创 JVM_02 垃圾回收(判断对象是否可以回收、四种引用)

JVM 垃圾回收1. 如何判断对象可以回收这里介绍判断对象是否可以回收的几种算法。1.1 引用计数算法在对象中添加一个引用计数器每当该对象被其他变量引用时,计数器值就+1当某个变量不再引用该对象时,计数器值就-1任何时刻当该对象的引用计数=0时,该对象就不可能再被使用了。该对象就可作为垃圾进行回收。引用计数算法的弊端:引用计数很难解决对象之间相互循环引用的问题A和B对象互相引用,导致各自的引用计数都为1,无法为0.导致无法进行垃圾回收。造成内存泄漏。1.2 可达性分析算法可

2021-12-19 20:53:59 804

原创 关于MybatisPlus中@TableField(exist = false)作用

MyBatis Plus中使用@TableField(exist = false)表示当前属性不是数据库的字段,但在项目中必须使用,在新增的时候,mybatis-plus就会忽略这个,不会报错。例如: @ApiModelProperty(value = "角色列表") @TableField(exist = false) private List<Role> roles;...

2021-12-13 00:01:33 1674

原创 JAVA设计模式之单例模式(饿汉式、懒汉式、枚举)

一、常见的三大设计模式分类1.创建型模式创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为:常用:单例模式工厂方法模式抽象工程模式建造者模式不常用:原型模式2.结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用

2021-12-06 18:35:19 2095

原创 什么是HTTP协议、与HTTPS的区别?

一.http协议的定义:http(Hypertext transfer protocol)超文本传输协议,通过浏览器和服务器进行数据交互,进行超文本(文本、图片、视频等)传输的规定。也就是说,http协议规定了超文本传输所要遵守的规则。二.HTTP协议的特点:1.HTTP协议是无状态的就是说每次HTTP请求都是独立的,任何两个请求之间没有什么必然的联系。但是在实际应用当中并不是完全这样的,引入了Cookie和Session机制来关联请求。2.多次HTTP请求在客户端请求网页时多数情况下并不是一次

2021-11-30 11:38:18 5938 2

原创 五、Nginx动静分离实例

一、Nginx动静分离Nginx动静分离简单来说就是把动态和静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。可以理解成使用Nginx处理静态页面,Tomcat处理动态页面。动静分离从目前实现角度来讲大致分为两种:纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案动态跟静态文件混合在一起发布,通过 nginx 来分开效果图原理通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使浏览器缓存过期时间,减少与

2021-11-01 17:49:48 1139

原创 四、Nginx负载均衡实例

一、负载均衡概念单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡1、实现效果(1)浏览器地址栏输入http://192.168.1.173/edu/a.html,让请求平均分发到8080和8081端口中。2、准备工作(1)准备两台tomcat服务器,一台8080,一台8081(2)在两台tomcat里面webapps目录中,创建名称为edu的文件夹,文件夹中

2021-10-22 18:22:52 2034 1

原创 三、Nginx反向代理实例

一、反向代理准备工作1.在linux系统中安装Tomcat将tomcat解压到/usr/src下。启动需要jdk环境。没有jdk环境的装一下,我centos7自带jdk1.8。2.启动tomcat进入tomcat的bin目录中,有个startup.sh文件。./startup.sh启动tomcat服务器3.对外开放访问的端口firewall-cmd --add-port=80/tcp --permanent...

2021-10-15 16:56:47 1897

原创 一、Terraform安装

安装首先我们先安装Terraform。对于Ubuntu用户:curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -sudo apt-add-repository -y "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"sudo apt-get update && sudo apt-get inst

2021-10-11 14:27:38 827

原创 二、Nginx常用命令和配置文件

Nginx常用命令先进入sbin目录。cd /usr/local/nginx/sbin启动命令:./nginx快速关闭命令:./nginx -s stop等待工作进程处理完成后关闭:./nginx -s quit重新加载命令: ./nginx -s reload重启Nginx:nginx -s reopennginx.conf 配置文件nginx 安装目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件nginx.conf 也在其中,后续对 nginx 的使用基本上

2021-09-29 15:25:22 224

原创 SpringBoot整合Swagger2

背景spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。假如你已经对传统的wiki文档共享方式所带来的弊端深恶痛绝,那么尝试一下Swagger2 方式,一定会让你有不一样的开发体验。使用 Swagger 集成文档具有以下几个优势

2021-09-22 14:04:52 106

原创 MacBook使用brew安装mysql5.7

使用brew安装mysql5.7# 先搜索可安装版本brew search mysql# 安装mysqlbrew install mysql@5.7# 安装 brew 服务brew tap homebrew/services# 加载和启动mysql服务brew services start mysql@5.7# 检查mysql服务是否已加载brew services list # 强制链接5.7版本brew link mysql@5.7 --force# 验证安装mysql 是否成

2021-09-10 16:27:49 187

原创 折纸问题(二叉树实现)

折纸问题面试题:请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时 折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2 次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。给定一 个输入参数N,代表纸条都从下边向上方连续对折N次,请从上到下打印所有折痕的方向。例如:N=1时,打印:downN=2时,打印:downdownup思路:可以自己手动拿一个字条模拟这个过程。第一次对折,发现折痕是向下的,用笔在

2021-08-10 02:42:19 203

原创 JVM_01 内存结构(深入理解+图解)

本文笔记参考创智播客JVM课程传智播客JVM一、JVM 入门介绍JVM 定义Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境)。java程序从源代码到运行一般有下面3步:JVM 好处:一次编译,到处运行(JVM屏蔽了字节码跟底层操作系统的差异,对外提供一致的运行环境。达到平台无关性)自动内存管理,垃圾回收功能数组下标越界越界检查(C++没有)多态比较 JVM JRE JDKJVM 是运行 Java 字节码的虚拟机。JV.

2021-07-29 02:28:46 840

原创 IO与NIO区别

一、概念NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。二、NIO和IO的主要区别下表总结了Java IO和NIO之间的主要区别:1.面向流与面向缓冲Java IO和NIO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。Java IO面向流意味着每次从流中读一个或多个字节,直至

2021-07-29 01:20:35 12823 1

原创 正则表达式

正则表达式定义正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、reg

2021-07-26 16:07:13 105

转载 SpringMVC原理

SpringMVC概述SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。SpringMVC 已经成为目前最主流的MVC框架之一,并且随着Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持 RESTful 编程风格的请求。Spri

2021-06-20 22:45:59 84

原创 MVC的基本概念

MVC的基本概念Model View Controller简称MVC,中文译名即模型层、视图层、控制层。它是一种用于开发Web应用程序的软件设计模式。模型层:最底层的模式,用于保存企业的数据和处理与其对应的业务逻辑(后台)。视图层:即是前端界面,用户发出请求,使它从控制层得到相关的数据后,再展示出来呈现给用户。控制层:控制层将用户的请求进行过滤等处理后,再传送到模型层对应的业务逻辑处理程序进行处理,等模型层的数据处理完后送来,再将处理结果发送到视图层。如图所示描述了三者之间的交互关

2021-06-19 14:44:20 3351 2

原创 阶乘约数(唯一分解定理+约数定理)

阶乘约数题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。定义阶乘 n! = 1 × 2 × 3 × · · · × n!请问 100! (100 的阶乘)有多少个正约数。思路:分析:根据唯一分解定理:对一个大于1 的整数n,n可以分解质因数为:其中pi表示n的第i个质因子,ai表示pi的幂次 如18 = 2 ^ 1 * 2 ^ 3(此时p1=2,a1=1,p2 = 3,a2=2)再根据约数定理一个正整数 n 的正约数的个数:所以我们只要求得 100! 的

2021-06-02 21:46:25 3283

转载 JdbcTemplate的基本使用

JdbcTemplate基本使用​ JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。​ JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而

2021-05-25 20:11:23 5326

原创 瓷砖样式

题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小明家的一面装饰墙原来是 3×10 的小方格。 现在手头有一批刚好能盖住 2 个小方格的长方形瓷砖。 瓷砖只有两种颜色:黄色和橙色。小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来。 小明有个小小的强迫症:忍受不了任何 2×2 的小格子是同一种颜色。 (瓷砖不能切割,不能重叠,也不能只铺一部分。另外,只考虑组合图案,请忽略瓷砖的拼缝) 显然,对于 2×3 个小格子来说,口算都可以知道:一共 10种贴法,如下图所示

2021-05-21 23:32:26 332

原创 凑平方数

题目描述题目出处:https://www.lanqiao.cn/problems/653/learning/本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。把 0 ~ 9 这 10 个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的。比如:0, 36, 5948721copy再比如:10985247361, 25, 63907840, 4, 289, 15376…注意,0 可以作为独立的数字,但不能作为多位数字的开始。 分组时,必须用完所有的数字,不能

2021-05-19 19:43:17 117

原创 机器人塔(dfs+位运算)

题目描述题目出处:https://www.lanqiao.cn/problems/118/learning/X 星球的机器人表演拉拉队有两种服装,A 和 B。他们这次表演的是搭机器人塔。类似:AB BA B AA A B BB B B A BA B A B B A队内的组塔规则是:A 只能站在 AA 或 BB 的肩上。B 只能站在 AB 或 BA 的肩上。你的任务是帮助拉拉队计算一下,在给定 A 与 B 的人数时,可以组成多少种花样的塔。输入描述输入一行两个整数 M,N(0&

2021-05-19 19:18:58 174

原创 java注解

注解概念:说明程序的。给计算机看的。注释:用文字描述程序的。给程序员看的。定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。概念描述:JDK1.5之后的新特性说明程序的使用注解:@注解名称作用分类:1.编写文档:通过代码里标识的注解生成doc文档2.代码分析:通过代码里标识的注解对代码进行分析【使用

2021-05-15 15:51:47 67

原创 P3371 【模板】单源最短路径(弱化版)(链式前向星+dijkstra)

题源:P3371 【模板】单源最短路径(弱化版)堆优化解法—>请移步此P4779 【模板】单源最短路径(标准版题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。输入格式第一行包含三个整数 n,m,s,分别表示点的个数、有向边的个数、出发点的编号。接下来 m 行每行包含三个整数 u,v,w,表示一条u→v 的,长度为 w 的边。输出格式输出一行 n个整数,第 ii个表示 s到第 i个点的最短路径,若不能到达则输出 2^31 - 1输入输出样例输入 #14 6

2021-05-13 21:34:38 147

原创 单源最短路径(dijkstra链式前向星+堆优化)

P4779 【模板】单源最短路径(标准版)题目描述给定一个 n 个点,m 条有向边的带非负权图,请你计算从 s出发,到每个点的距离。数据保证你能从s出发到任意点。输入格式第一行为三个正整数n,m,s。第二行起m行,每行三个非负整数ui,vi,wi.表示从ui到vi有一条权值为wi的有向边。输出格式输出一行n个空格分隔的非负整数,表示s到每个点的距离。输入#14 6 11 2 22 3 22 4 11 3 53 4 31 4 4输出#10 2 4 3说明/提示思

2021-05-13 21:20:27 207

转载 线程安全问题

线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写 操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步, 否则的话就可能影响线程安全。Java中提供了同步机制 (synchronized)来解决。有三种方式完成同步操作:同步代码块。同步方法。锁机制。一、同步代码块使用synchronized 关键字修饰代码块synchronized(同步锁){需要同步操作的代码}同步锁:对象的同步锁只是

2021-04-21 00:13:05 81

原创 01迷宫(输出路线)

链接:01迷宫来源:牛客网题目描述给出一个01迷宫,'0’代表空地,'1’代表墙 。输出起点到终点的最短路的长度及路径。规定:为了保证答案唯一,总会按照下(D),上(U),左(L),右®的优先级行走。假设当前点为(x, y),规定方向如下:D:(x, y) -> (x, y+1)U:(x, y) ->(x, y-1)L:(x, y) ->(x-1, y)R:(x, y) ->(x+1, y)输入描述:第一行两个整数n,m,代表迷宫的长和宽。接下来n行,每行

2021-04-16 15:25:05 797

转载 友谊纽带(bfs+并查集)

友谊纽带题目描述小航是计算机系的学生,但他并不喜欢自己的专业。在课余时间,小航喜欢研究社会学的内容,在他经过了多年的研究后,他发现了一个伟大的定理:世界上任意两个人之间最少需要k个友谊纽带就可以全部连接。他需要向世界公布这个研究成果,但是他还没有对这个定理进行验证,由于他急着陪女朋友,所以将验证这个定理的任务交给了他的朋友小杰和小坤。由于人数太多,而导致任务量非常大,所以小杰和小坤找到了你,请你帮助他们验证这个结论。输入描述:第一行包含两个整数n和m,n为总共的人数,m为关系的对数。 接下来m行

2021-04-14 23:37:38 82

转载 Collection集合

Collection集合集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.MapCollection:单列集合类的根接口,用于存储一系列符合

2021-04-13 14:59:55 51

原创 L1-006 连续因子

题目描述一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<2​31​​ )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:> 630

2020-11-26 17:25:25 146

原创 第十一届蓝桥杯省赛 C/C++ 大学B组试题 C: 合并检测

试题 C: 合并检测【问题描述】新冠疫情由新冠病毒引起,最近在 A 国蔓延,为了尽快控制疫情,A 国准备给大量民众进病毒核酸检测。然而,用于检测的试剂盒紧缺。为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人(k个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 k个人都是阴性,用一个试剂盒完成了 k 个人的检测。如果结果为阳性,则说明至少有一个人为阳性,需要将这 k 个人的样本全部重新独立检测(从理论上看,如果检测前 k 1 个人都是阴性可以推断出第 k 个人是

2020-10-16 17:04:44 339

原创 [蓝桥杯][2017年第八届真题]分巧克力(二分答案)

题目来自->[蓝桥杯][2017年第八届真题]分巧克力题目描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么?输入第

2020-10-15 16:19:49 273

原创 P1100 高低位交换(位运算 Bitset运用)

题目描述给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。例如,数1314520用二进制表示为00000000000101000000111011011000(添加了11个前导0补足为32位),其中前16位为高位,即0000 0000 0001 01000000000000010100;后16位为低位,即0000 1110 1

2020-10-13 20:52:58 346

原创 P1049 装箱问题(背包问题)

题目描述有一个箱子容量为VV(正整数,0≤V≤20000),同时有n个物品(0<n≤30,每个物品有一个体积(正整数)。要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式1个整数,表示箱子容量1个整数,表示有nn个物品接下来nn行,分别表示这nn个物品的各自体积输出格式1个整数,表示箱子剩余空间。输入输出样例输入 #12468312797输出0思路这题可以用背包做,用滚动数组dp[i],表示背包空间为i时最大可装的物品体积。状态

2020-10-13 20:08:14 154

原创 最长公共子序列(dp经典题)

描述我们称序列Z = < z1, z2, …, zk >是序列X = < x1, x2, …, xm >的子序列当且仅当存在 严格上升 的序列< i1, i2, …, ik >,使得对j = 1, 2, … ,k, 有xij = zj。比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子

2020-10-12 19:21:16 302

原创 最长上升子序列(dp+二分)

题目描述一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8).你的任务

2020-10-12 17:51:54 192

原创 P2660 zzc 种田(贪心)

题目背景可能以后 zzc就去种田了。题目描述田地是一个巨大的矩形,然而zzc 每次只能种一个正方形,而每种一个正方形时zzc所花的体力值是正方形的周长,种过的田不可以再种,zzc很懒还要节约体力去泡妹子,想花最少的体力值去种完这块田地,问最小体力值输入格式两个正整数x,y,表示田地的长和宽输出格式输出最小体力值输入输出样例输入 #11 10输出#140输入#22 2输出#28说明/提示1<=x,y<=10^16思路每次都选择最大的正方形,即

2020-10-11 21:01:19 384

原创 P1802 5倍经验日(背包问题)

题目背景现在乐斗有活动了!每打一个人可以获得5倍经验!absi2011却无奈的看着那一些比他等级高的好友,想着能否把他们干掉。干掉能拿不少经验的。题目描述现在absi2011拿出了x个迷你装药物(嗑药打人可耻….),准备开始与那些人打了由于迷你装一个只能管一次,所以absi2011要谨慎的使用这些药,悲剧的是,没到达最少打败该人所用的属性药了他打人必输>.<所以他用2个药去打别人,别人却表明3个药才能打过,那么相当于你输了并且这两个属性药浪费了。现在有n个好友,有输掉拿的经验、赢了拿的

2020-10-10 20:38:13 168

原创 P1757 通天之分组背包(分组背包问题)

题目来自洛谷->P1757 通天之分组背包题目背景直达通天路·小 A 历险记第二篇题目描述自 01 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。输入格式两个数 m,n,表示一共有 n 件物品,总重量为 m。接下来 n行,每行 3个数 a i,b i,c i​ ,表示物品的重量,利用价值,所属组数。输出格式一个数,最大的利用价值。输入输出样例输入

2020-10-10 16:52:13 620

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除