• 2024-12-31网络流简记
    更新日志2024/12/31:开工。添加网络流概念以及EK算法概念官方定义OI-wiki网络一种特殊有向图,有一个源点\(s\)与汇点\(t\)。图中每一条边都具有容量\(c\),也就是流经流量上限。不存在的边\(c=0\)。可以视作流水,从源点开始进水(无限或有限),通过一条条边流开,每条边的尺
  • 2024-12-26「省选联考 2023」人员调度
    离独立想出正解只差一步了。我的做法是使用网络流武器,抛弃了贪心的思考。虽然没有锻炼到贪心能力,但是加深了对网络流的理解吧。考虑撤销可以用线段树分治,故只考虑加入的情况。我们发现这个模型很像费用流,于是考虑建模。源点向所有员工连边,容量为\(1\),费用为其能力值。所
  • 2024-12-23差分约束系统
    差分约束用于求有\(n\)个变量,\(m\)条限制,每条限制只与两个变量的差有关的问题的一组解。一般可以转化为最短路或者最长路解决。最短路:用三角形不等式\(dis_v\ledis_u+w\)来保证解合法,这样一条不等式等价于\(x_v\lex_u+w\)。最长路:类似最短路,用\(dis_v\gedis_u+w\)来保证解
  • 2024-12-18P7531 [USACO21OPEN] Routing Schemes P 题解
    best定理居然还有运用范围。思路考虑如何来判断是否有解。由于每一条边都需要用到。但是它是使用很多条路径进行覆盖。我们考虑一个很巧妙的转化。建立一个超级源点,源点向每一条路径的开头连一条边。每一条路径的结尾向源点连一条边,这样一条路径就变成了一个回路。把所有
  • 2024-11-27P10974 换根 dp 解题报告
    题目传送门题目大意:给定一颗无根树,有一个节点是源点,度数为\(1\)的点是汇点,树上的边有最大流量。除源点和汇点外,其它点不储存水,即流入该点的水量之和等于从该点流出的水量之和。整个水系的流量定义为原点单位时间内能发出的水量。现在需要求出:在流量不超过最大流量的前提下,选
  • 2024-11-26代码随想录算法训练营day58| 117.软件构建 47.参加科学大会
    学习资料:https://www.programmercarl.com/kamacoder/0117.软件构建.html#拓扑排序的背景图论拓扑排序:收集入度为0的节点,删掉该节点后其他节点的入度可能变化,记得更新,然后继续删除入度为0的点,直到没有。整个过程的顺序就对应了有向图dijkstra算法:类似prim,也是贪心,找距离源点最近
  • 2024-12-11Java类加载
    类加载是指将.class文件中的二进制数据读入到内存中,将其转换为方法区中的数据结构,然后在堆中创建一个代表这个类的java.lang.Class对象,供程序使用。类加载可以分为以下几个步骤:加载:将类的二进制数据读入到内存中。验证:确认类的二进制数据是否符合JVM规范,包括文件格式验证
  • 2024-12-07强大的三个工具类、CountDownLatch 闭锁 、CyclicBarrier 、Semaphore
    文章目录①、CountDownLatch(闭锁)做减法②、CyclicBarrier做加法③、Semaphore信号量一、CountDownLatch(闭锁)做减法1、CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞2、其它线程调用countDown方法会将计数器减1(调用countDown方法的线
  • 2024-12-06NWERC2024 AEJLDFKHM
    传送门:2024-2025ICPCNorthwesternEuropeanRegionalProgrammingContest(NWERC2024)欧洲区域赛,希望以后有机会能打现场。A-AlphabeticalAristocrats签到题,根据题意模拟#include<bits/stdc++.h>usingnamespacestd;structnode{stringact;stringcom;
  • 2024-11-26如何使用 Node.js 和 MySQL 快速搭建简单的增删查改 API
    摘要通过本文,你将学会如何使用Node.js和MySQL搭建一个简单的RESTfulAPI,包括创建数据库、创建表、插入数据、查询数据、更新数据以及删除数据的完整操作示例。正文在现代Web开发中,Node.js与MySQL的组合非常流行,它们的高性能和易用性让开发者可以快速搭建数据驱动的
  • 2024-09-24CSP-S 2024 第十四次
    A调整法可证只需要考虑左端点或右端点在\(a_i\)上的区间,考虑对于一个区间\([l,r]\)计算答案。注意到对于每对相邻的数,挤压后较大者仍然大于等于较小者,所以可以分别求较大者与较小者压缩后的和再相减。以求较大者压缩后的和为例,小于\(l\)的数变成\(l\),大于\(r\)的数变
  • 2024-09-032024.9 做题记录
    9.1arc108e当已经选了\(a_l,a_r\)时,\((l,r)\)与外面无关。区间dp,\(dp_{l,r}=\frac{\sum_{k=l,a_l<a_k<a_r}^rdp_{l,k}+dp_{k,r}}{num_{l,r}}+1\)。维护\(num_{l,r},\sumdp_{l,k},\sumdp_{k,r}\)转移。9.2P5188模拟赛T2。容斥强行不选\(s\)这些材料,矩阵快速幂。
  • 2024-09-01算法设计与分析:实验六 图论——最大流应用问题
    实验内容:1996年9月10日,《旧金山纪事报》的体育版上登载了《巨人队正式告别NL西区比赛》一文,宣布了旧金山巨人队输掉比赛的消息。当时,圣地亚哥教士队凭借80场胜利暂列西区比赛第一,旧金山巨人队只赢得了59场比赛,要想追上圣地亚哥教士队,至少还得再赢21场比赛才行。
  • 2024-08-20《数据结构》最短路径Dijkstra算法
                                    最短路径Dijkstra算法分析生长点ABCDEFP(A)=FAD(A)=130P(B)=FBD(B)=24P(C)=FCD(C)=10P(D)=——D(D)=无穷P(E)=——D(E)=无穷CP(A)=FAD(A
  • 2024-08-20模拟费用流
    模拟费用流是什么考虑一般的单路增广费用流流程,就是一直去寻找最小/最大费用增广路的过程。但是寻找一条增广路往往需要最短路算法,这造成了很大的时间开销。找到增广路的方式不唯一,可以通过别的手段去寻找增广路。在一些特殊网络中可以获得更加优秀的时间复杂度。QOJ7185题目
  • 2024-08-18最短路算法
    1.Dijkstra算法算法思想:\(dijkstra\)算法采用的是贪心的思想。(1)定义一个\(dis\)数组,\(dis[i]\)表示i点到源点的最短路径,设源点的\(dis\)值为0,其他\(dis\)值为\(∞\)。(2)选出其中的最小\(dis\)值,进行标记并更新它相邻的\(dis\)值。(3)不断循环操作(2)。优点:dijkstra算
  • 2024-08-11网络流部分题目及杂题选做
    网络流网络流初探A.【例题1】求最大流P3376模板。B.卖猪问题SP4063&&P4638Solution[trick]:网络流有时间顺序要求的考虑分层图,优化建图的思路很妙。D.危桥通行P3163Solution正常按照题意建边,危桥建边权为\(1\)的双向边,普通的桥建边权为\(inf\)的双向边,源点向