自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 dp 货币系统

dp货币系统。

2022-07-31 10:42:17 220 1

原创 背包问题九讲(自用)+货币系统(方案数)

1. 01背包问题2. 完全背包问题3. 多重背包问题4. 混合背包问题5. 二维费用背包问题6. 分组背包问题7. 背包问题求方案数8. 求背包问题的方案9. 有依赖的背包问题01背包问题二维数组#include <bits/stdc++.h>using namespace std;int n,m;int dp[1005][1005]={0};int v,w;int main(){ cin >> n >> m

2022-04-25 21:48:56 321

原创 java常用类库和集合类

左闭右开TimerTask(线程类):同一个线程间隔着重复执行run()方法equals方法重写Stream 并行计算(MapReduce)

2021-10-20 18:52:32 451

原创 贪心(区间问题)

AcWing 905. 区间选点给定N个闭区间[ a i , b i ] ,请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数N,表示区间数。接下来N行,每行包含两个整数a i , b i,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1 ≤ N ≤ 10^5−10^9 ≤ a i ≤ b i ≤ 10^9输入3-1 12 43 5输出2#in

2021-02-28 16:24:23 402

原创 第11章 多线程

程序、进程、多任务、线程的概念与区别;线程的生命周期;创建线程的两种方法;多线程的同步控制;线程之间的通信。并发执行与并行执行不同,并行执行通常表示同一时刻有多个代码在处理 器上执行,这往往需要多个处理器,如CPU等硬件的支持。而并发执行通常表示,在单处 理器上,同一时刻只能执行一个代码,但在一个时间段内,这些代码交替执行,即所 谓“微观串行,宏观并行”。通常,一个Java程序中各个部分是按顺序依次执行的。由于某种原因,需要将 这些按顺序执行的“程序段”转成并发执行,每一个“程序段”是.

2021-02-09 20:57:39 368

原创 第15章 事件处理

委托事件模型;担任监听者的条件;JavaFX的事件类;用户动作、事件源、触发的事件类型和事件注册方法。事件源 :所谓事件源(event source)就是能够产生事件并触发它的控件,如一个按钮就是按 钮单击动作事件的事件源事件源通过调用相应的方法将某个对象设置为自己的监听者, 监听者有专门的方法来处理事件。事件监听者就是一个对事件源进行监视的对象,当事件源上发生事件时,事件监听者能够监听到,并调用相应的方法对发生的事件做出相应的处理。委托事件模型就是由产生事件的对象(事件源)、事.

2021-02-08 10:20:57 477

第16章 绘图与动画程序设计

形状类;过渡动画;关键帧、关键值、插值器;时间轴动画16.1.1 直线类Line【例16.1 】 绘制红、绿、蓝三条直线,红线设置为虚线。绿、蓝两条直线通过坐 标的属性绑定使它们成为交叉线。package application;import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.layout.Pane;import javafx.scene.paint.Colo.

2021-02-08 10:19:58 324

原创 加工生产调度

1425:【例题4】加工生产调度时间限制: 1000 ms 内存限制: 65536 KB提交数: 2662 通过数: 689【题目描述】某工厂收到了 n 个产品的订单,这 n 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。某个产品 i 在 A,B 两车间加工的时间分别为Ai,Bi。怎样安排这 n 个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在 A,B 两车间加工完毕的时

2021-01-31 23:42:17 1512

原创 线段

1429:线段时间限制: 1000 ms 内存限制: 65536 KB提交数: 2103 通过数: 806【题目描述】在一个数轴上有n条线段,现选取其中k条线段使得这k条线段两两没有重合部分,问最大的k为多少?【输入】第一行为一个正整数n,下面n行每行2个数字ai,bi,描述每条线段。【输出】输出文件仅包括1个整数,为k的最大值。【输入样例】30 22 41 3【输出样例】2【提示】【数据规模】对于20%的数据,n≤10。对于50%的数据,n≤1

2021-01-31 21:33:10 276 1

原创 家庭作业

1430:家庭作业时间限制: 1000 ms 内存限制: 65536 KB提交数: 3419 通过数: 816【题目描述】老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分。每个作业的截止日期和学分可能是不同的。例如如果一个作业学分为10,要求在6天内交,那么要想拿到这10学分,就必须在第6天结束前交。每个作业的完成时间都是只有一天。例如,假设有7次作业的学分和完成时间如下:作业号 1 2 3 4 5 6 7期限 1 1 3 3 2 2

2021-01-31 21:19:11 203

原创 钓鱼

1431:钓鱼时间限制: 1000 ms 内存限制: 65536 KB提交数: 1279 通过数: 585【题目描述】在一条水平路边,有 n 个钓鱼湖,从左到右编号为 1,2,…,n。佳佳有 H 个小时的空余时间,他希望利用这个时间钓到更多的鱼。他从 1 出发,向右走,有选择的在一些湖边停留一定的时间(是 5 分钟的倍数)钓鱼。最后在某一个湖边结束钓鱼。佳佳从第 i 个湖到第 i+1 个湖需要走 5×Ti分钟路,还测出在第 i 个湖停留,第一个 5 分钟可以钓到 Fi​​ 条

2021-01-30 17:35:38 150

原创 糖果传递

1432:糖果传递时间限制: 1000 ms 内存限制: 65536 KB提交数: 1362 通过数: 625【题目描述】有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。【输入】第一行一个正整数n≤1000000,表示小朋友的个数.接下来n行,每行一个整数ai,表示第i个小朋友得到的糖果的颗数.【输出】求使所有人获得均等糖果的最小代价。【输入样例】41254【输出样例】4参考:https://loj

2021-01-30 16:45:30 164

原创 HDU1542 Atlantis ( 线段树求矩形面积并)

AtlantisTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 26563 Accepted Submission(s): 10479Problem DescriptionThere are several ancient Greek texts that contain descriptions of the fabled islan

2020-11-07 23:16:19 117

原创 P3379 【模板】最近公共祖先(LCA)

题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入格式第一行包含三个正整数 N,M,SN,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来 N-1N−1 行每行包含两个正整数 x, yx,y,表示 xx 结点和 yy 结点之间有一条直接连接的边(数据保证可以构成树)。接下来 MM 行每行包含两个正整数 a, ba,b,表示询问 aa 结点和 bb 结点的最近公共祖先。输出格式输出包含 MM 行,每行包含一个正整数,依次为每一个询问的结果。输入输出样例

2020-10-29 21:00:45 121

原创 Pots POJ - 3414

You are given two pots, having the volume of A and B liters respectively. The following operations can be performed:FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap;DROP(i) empty the pot i to the drain;POUR(i,j) pour from pot i to pot j; a

2020-10-18 22:33:56 106

原创 Shuffle‘m Up POJ - 3087

A common pastime for poker players at a poker table is to shuffle stacks of chips. Shuffling chips is performed by starting with two stacks of poker chips, S1 and S2, each stack containing C chips. Each stack may contain chips of several different colors.

2020-10-18 21:18:59 119

原创 Fire! UVA - 11624

Joe works in a maze. Unfortunately, portions of the maze havecaught on fire, and the owner of the maze neglected to create a fireescape plan. Help Joe escape the maze.Given Joe’s location in the maze and which squares of the mazeare on fire, you must d

2020-10-18 20:36:41 79

原创 Find a way HDU - 2612

Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifenfei’s home is at the countryside, but Merceki’s home is in the center of city. S

2020-10-17 01:52:18 136

原创 Prime Path POJ - 3126

The ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers on their offices.— It is a matter of security to change such things every now and then, to keep

2020-10-17 01:13:13 94

原创 Find The Multiple POJ - 1426

Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decima

2020-10-17 00:27:32 63

原创 Fliptile POJ - 3279

Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He has arranged a brainy activity for cows in which they manipulate an M × N grid (1 ≤ M ≤ 15; 1 ≤ N ≤ 15) of square tiles, each of which is colored black on one

2020-10-14 13:13:14 72

原创 Dungeon Master POJ - 2251

You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move one unit north, south, east, west, up or down. You cannot move diagonally and

2020-10-13 13:15:28 64

转载 棋盘问题 POJ - 1321

在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区

2020-10-13 12:23:12 191

原创 129. 求根到叶子节点数字之和

求根到叶子节点数字之和给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3]1/ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13.因此,数字总和 = 12 + 13 = 25.

2020-10-11 10:56:34 117

原创 面试题 04.04. 检查平衡性

面试题 04.04. 检查平衡性实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7]3/ 9 20/ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]1/ 2 2/ 3 3/ 4 4返回 false 。class Solution{public: int flag

2020-10-11 10:39:51 73

原创 971. 翻转二叉树以匹配先序遍历

翻转二叉树以匹配先序遍历给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, …, N} 中的值。通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点。考虑从根节点开始的先序遍历报告的 N 值序列。将这一 N 值序列称为树的行程。(回想一下,节点的先序遍历意味着我们报告当前节点的值,然后先序遍历左子节点,再先序遍历右子节点。)我们的目标是翻转最少的树中节点,以便树的行程与给定的行程 voyage 相匹配。如果可以,则返回翻转的所有节点的值的列表。你可以按任何顺序.

2020-10-10 17:07:10 82

原创 1307:【例1.3】高精度乘法(一本通)

1307:【例1.3】高精度乘法时间限制: 1000 ms 内存限制: 65536 KB提交数: 24445 通过数: 8560【题目描述】输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。【输入】输入两个高精度正整数M和N。【输出】求这两个高精度数的积。【输入样例】363【输出样例】108#include <bits/stdc++.h>#define ll long longusing namespace std

2020-10-09 21:10:44 448

原创 1169:大整数减法(一本通)

1169:大整数减法时间限制: 1000 ms 内存限制: 65536 KB提交数: 16054 通过数: 9211【题目描述】求两个大的正整数相减的差。【输入】共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。【输出】一行,即所求的差。【输入样例】99999999999999999999999999999999999999999999999999【输出样例】999999999999999999999

2020-10-09 20:48:09 522

原创 1168:大整数加法(一本通)

1168:大整数加法时间限制: 1000 ms 内存限制: 65536 KB提交数: 35844 通过数: 11080【题目描述】求两个不超过200位的非负整数的和。【输入】有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。【输出】一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。【输入样例】2222222222222222222233333333333333333333【输出样例】555555555

2020-10-09 20:01:28 291

原创 790. 数的三次方根

数的三次方根题目提交记录讨论题解视频讲解给定一个浮点数n,求它的三次方根。输入格式共一行,包含一个浮点数n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留6位小数。数据范围−10000≤n≤10000输入样例:1000.00输出样例:10.000000难度:简单时/空限制:1s / 64MB总通过数:9361总尝试数:17159来源:模板题,AcWing算法标签}#include <bits/stdc++.h>#define .

2020-10-09 19:35:36 326

原创 1237:求排列的逆序数(一本通)归并排序

1237:求排列的逆序数时间限制: 1000 ms 内存限制: 65536 KB提交数: 5534 通过数: 2273【题目描述】在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足j<k,且ij>ik,那么就称(ij,ik)是这个排列的一个逆序。

2020-10-09 19:25:10 403

原创 789. 数的范围(二分)

数的范围题目提交记录讨论题解视频讲解给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回“.

2020-10-09 19:11:41 212

原创 787. 归并排序

归并排序题目提交记录讨论题解视频讲解给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include <bits/stdc++.h>usin.

2020-10-09 18:40:51 171

原创 785. 快速排序(快排优化)

快速排序题目提交记录讨论题解视频讲解给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include <bits/stdc++.h>usin.

2020-10-09 18:28:55 214

原创 452. 用最少数量的箭引爆气球(leetcode)贪心

用最少数量的箭引爆气球在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前.

2020-10-03 11:02:21 93

原创 402. 移掉K位数字(leetcode)单调栈

移掉K位数字给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = “10200”, k = 1输出: “200”解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何.

2020-10-03 10:32:37 94

原创 167. 木棒

木棒乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。输入格式输入包含多组数据,每组数据包括两行。第一行是一个不超过64的整数,表示砍断之后共有多少节木棍。第二行是截断以后,所得到的各节木棍的长度。在最后一组数据之后,是一个零。输出格式为每组数据,分别输出原始木棒的可能最小长.

2020-09-01 16:03:34 217

原创 165. 小猫爬山

小猫爬山翰翰和达达饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。翰翰和达达只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的重量分别是C1、C2……CN。当然,每辆缆车上的小猫的重量之和不能超过W。每租用一辆缆车,翰翰和达达就要付1美元,所以他们想知道,最少需要付多少美元才能把这N只小猫都运送下山?输入格式第1行:包含两个用空格隔开的整数,N和W。第2…N+1行:每行一个整数,其.

2020-09-01 13:52:41 196

原创 164. 可达性统计

可达性统计给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。输入格式第一行两个整数N,M,接下来M行每行两个整数x,y,表示从x到y的一条有向边。输出格式输出共N行,表示每个点能够到达的点的数量。数据范围1≤N,M≤30000输入样例:10 103 82 32 55 95 92 33 94 82 104 9输出样例:1633211111#include <bits/stdc++.h>using name.

2020-09-01 12:33:13 186

原创 116. 飞行员兄弟 (位运算+暴力)

飞行员兄弟题目提交记录讨论题解视频讲解“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有16个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个4х4的矩阵,您可以改变任何一个位置[i,j]上把手的状态。但是,这也会使得第i行和第j列上的所有把手的状态也随着改变。请你求出打开冰箱所需的切换把手的次数最小值是多少。输入格式输入一共包含四行,每行包含四个把手的初始状态。符号“+”表示把手处于闭合状态,而符号“-”.

2020-08-19 12:42:05 237

空空如也

空空如也

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

TA关注的人

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