- 2024-11-20(新手向)动态规划从入门到精通 ——打家劫舍
1.问题描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的
- 2024-11-18最大子数组和
最大子数组和题目给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=
- 2024-11-16最大加权矩形
最大加权矩形题目描述为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的
- 2024-11-16最大加权矩形
最大加权矩形题目描述为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的
- 2024-11-15最大子段和问题
最大子段和问题——————以洛谷P1115为例最大子段和,顾名思义就是在一段数组中选取元素和最大的子段(或最小)这里总结了动态更新的写法:intmain(){ intn,a,maxm,temp; scanf("%d",&n); for(inti=0;i<n;i++){ scanf("%d",&a); if(i==0)maxm=temp
- 2024-11-15LeetCode654.最大二叉树
LeetCode刷题记录文章目录
- 2024-11-15PKUSC2018 最大前缀和
题意给一个长度为\(n\)的整数序列,求其\(n!\)种排列方式的最大前缀和(不能为空)的总和。\(n\leq20\)解法设全集为\(U\),考虑枚举作为最大前缀和的子集\(S\)。那么要求的就是\(S\)排列后严格最大前缀和在最后一个元素取到和方案数和\(U\backslashS\)排列后每个前缀
- 2024-11-15最大岛屿面积
DFS解法classSolution:dir=[(-1,0),(1,0),(0,-1),(0,1)]defdfs(self,grid,x,y):ifx<0orx>=len(grid)ory<0ory>=len(grid[0])orgrid[x][y]!=1:return0grid[x][y]=0ans=1fo
- 2024-11-14最大子树和
题目链接:最大子树和题目描述:小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题:一株奇怪的花卉,上面共连有\(
- 2024-11-11flow
\(\bf\sf0x01\)网络最大流算法Dinic算法过程:建出原图\(G\)的层次图dfs找出阻塞流\(f\),并加入原最大流中当前弧优化,对于已经增广到极限的边\((u,v)\),可以直接修改\(h\)数组不遍历,注意每次递归完都要重新赋值一遍。若当前前面流到\(u\)的流已经流完,直接返回。
- 2024-11-1185. 最大矩形
题目链接解题思路暴力怎么做?我们可以枚举,矩阵的底,必须是第0行,求一个最大值,矩阵的底,必须是第1行,求一个最大值,把所有的都得到,然后最大的那个,就是结果。依次类推,所有结果的最大值,就是全局最优解举个例子,假设矩阵[ [1,0,1,0,0], [1,0,1,1,1], [1,1,1,1,
- 2024-11-1053. 最大子数组和
题目链接解题思路最大子数组问题,有两个基本的想法,以i开头的子数组结果是怎样的,求出所有的结果,最优的那个,就是答案;以i结尾的子数组结果是怎样的,求出所有的结果,最优的那个,就是答案。本题我们可以考虑,「以i结尾的结果是怎样的」,为啥?因为我们要求的是最大的累加和,我们求出了re
- 2024-11-03luoguP1122 最大子树和
有一棵N个节点的树,节点i的权值为w[i],可以剪掉其中一些枝,使得剩下的树上节点权值之和最大,求最大值。1<=N<=16000;-1E6<=w[i]<=1E6分析:题目要求至少要选1个节点,设dp[i]表示以i为根的子树,并且选择i的最大权值和。对于i的每个子节点,可以选或不选。#include<bits/stdc++.h>using
- 2024-11-02岛屿的最大面积(深搜
卡码网 100.岛屿的最大面积题目描述给定一个由 1(陆地)和0(水)组成的矩阵,计算岛屿的最大面积。岛屿面积的计算方式为组成岛屿的陆地的总数。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述第一行包含两个整数N,M
- 2024-11-01最大子矩阵和
最大子矩阵和题目Leetcode:面试题17.24.最大子矩阵给定一个正整数、负整数和0组成的N×M矩阵,编写代码找出元素总和最大的子矩阵。返回一个数组[r1,c1,r2,c2],其中r1,c1分别代表子矩阵左上角的行号和列号,r2,c2分别代表右下角的行号和列号。若有多个满足条件的
- 2024-10-30网络流最大流
EK#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definelllonglongconstintmaxn=5000+10,inf=0x3f3f3f3f3f3f3f3f;inttot=1,head[maxn],n,m,s,t,dis[maxn*4],pre[maxn*4],ans=0,flg[maxn][maxn];boolvis[maxn*4];structno
- 2024-10-30最大团问题-分支限界法求解
此为课题组所指导本科生和低年级硕士生学习组合优化问题汇报所用教材:北京大学屈婉玲教授《算法设计与分析》课程资料:https://www.icourse163.org/course/PKU-1002525003承诺不用于任何商业用途,仅用于学术交流和分享更多内容请关注许志伟课题组官方中文主页:https://JaywayXu.g
- 2024-10-29网络流&费用流&二分图
NOIP也许考不到,但是可以拿来骗分也说不定(算法原理就算了,反正也不需要知道,只需要知道它在干什么并且会建图就行了。二分图就是左右两部点,同一部内的点无连边,可以考虑建二分图后网络流。持续放些题。一些基本理论和建模方式最小割=最大流最大权闭合子图切糕模型二
- 2024-10-25Java 和 C# 最大的不同是什么
Java与C#均为高级编程语言,轮廓上有共性,但细节处昭然分歧。Java的跨平台性比C#更强,通过JVM实现在多种操作系统上运行。C#则深度整合于Microsoft平台,尽管.NETCore的推进扩展了它在非Windows环境的运作能力。接轴详述Java的跨平台特性,该特性来源于”一次编写,到处运行”的理念。Java
- 2024-10-24暑假集训随笔
1.关于二分图的判断:除了黑白染色法,还可以用扩展域并查集。所谓扩展域并查集就是假设每个点可能在集合1中也可能在集合2中,就把点i拆成i和i+n,分别代表在1和在2中的i。如果i和j不在同一集合中,就把i与j+n,以及j与i+n放在同一集合中。这样的好处是无论通过i还是j都可以拿到与它们在同一
- 2024-10-23二分图
二分图速通定义若一个无向图\(G=(V,E)\)的点集\(V\)可以分解成两个互不相交的子集\(A,B\),且对于所有边\((i,j)\)的端点\(i,j\)都分别属于子集\(A,B\)中的元素,则称\(G\)是一个二分图。判定一张无向图是二分图,当且仅当图中不存在奇环。故我们有染色算法判定二分图
- 2024-10-21最小费用最大流
终于把自己搞蒙了简而言之,最小费用最大流就是这样:图论中的一种理论与方法,研究网络上的一类最优化问题。很多系统中涉及流量问题,例如公路系统中车流量,网络中的数据信息流,供油管道的油流量等。我们可以将有向图进一步理解为“流网络”(flownetwork),并利用这样的抽象模型求解有关
- 2024-10-21Dilworth 定理与二分图部分理论
给定一个DAG,定义链:一条链内任意两点之间都存在一条路径反链:任意两点都不存在路径Dilworth定理:最长反链\(=\)最小链覆盖。最小链覆盖内一个点只能归属于一条链,但链不一定是连续的。事实上这个还能转化为“选出若干条(一般定义下的)链,但一个点可以在多条链内”,本质相同。
- 2024-10-19图的m着色问题与图的最大团问题的关系,以及利用这个关系改进最大团问题的上界
图的m着色问题与图的最大团问题的关系一、图的m着色问题1.定义:给定无向连通图G=(V,E),其中V是顶点集合,E是边集合。用m种颜色对图中的每个顶点进行着色,使得任意两个相邻的顶点具有不同的颜色。目标是确定是否存在这样的着色方案,以及如果存在,找出一种具体的着色方式。2.目