- 博客(5)
- 收藏
- 关注
原创 乱七八糟的都先放这里了5
网络流学习笔记匹配问题带容量的匹配:P3386,P2055,P2763,P3254,P1231,CF628F在费用最小限制下用二分+匹配:P2402,CF852D,P3153,P3425,P3324,P5038转化为二分图:常见方法:普通图中每个点拆成出入点:CF546E棋盘二分图染色:P6517每行每列只能放一枚棋子转化为行向列连边的二分图:P4251,P2825最小割问题显式最小割常见割法:朴素割法:P2774,P5039,P5934,四连通将公共边视
2023-08-24 14:31:14
4261
原创 乱七八糟的都先放这里了4
当枚举与DP结合时,可以在枚举dfs过程,改变i之后,只更新i之后的DP数组,复杂度从Opnn变为O∑i1npin−i)),估计一下会少个n。一种每个东西状态只会改一次(特指从x变为同一数)的题,可以考虑暴力,常见手段为摊还分析和并查集。考虑一类数列上建图的贪心问题中,图中环、链是否有编号连续的性质。如果每次询问区间的某个值,又是离线的,建议想想分治。(loj6490)线段树有多个值多个复杂操作难以讨论维护,考虑运用(max,+)等矩阵。(uoj164)
2023-08-24 14:30:47
332
原创 乱七八糟的都先放这里了3
DP优化这里主要引入蒙日矩阵的优化,wqs二分,slope trick等技巧。蒙日矩阵首先引入一些定义相关。我们有f[i]=minj(g[j]+A[i][j])f[i]=min_j(g[j]+A[i][j])f[i]=minj(g[j]+A[i][j])。形式化的,就是f=A*g。我们称一个矩阵为单调矩阵的话,那么就对于每一行,最小值的位置b[i],有随着i的增加b[i]单调不降。如果有多个最小值,那么可以以每行最左或最右为定义,每行定义相同即可(虽然好像不同定义引出不同结果,但是大概(猜的)满
2023-08-24 14:29:37
622
原创 乱七八糟的都先放这里了2
NOI模拟赛17-49泛做NOI模拟赛49T3深深感觉到自己的弱。。。(看了>3h?从头讲起,先是我自己的解法,首先显然可以转换成一个有向图判环问题。首先想到的是如何判断两个矩阵相交,因为有初始矩阵互不相交的条件,所以可以发现实际上A与B相交,A必有B四个顶点中的几个,B同理。所以就进行一个KDT上bfs判环,时间O(nsqrtn),空间O(nsqrtn)然后讲题解做法一。就是转化判交条件,先考虑一维,若[l1,r1]与[l2,r2]相交,那么f[l1,r1]与g[l2,r2]相交,或f[l
2023-08-24 14:28:13
328
原创 乱七八糟的都先放这里了1
IOI2020国家集训队作业不是很想写nfls的题所以作死开了这个东西,希望能有始有终。CF504E就是使用hash,我们考虑两条路径的x-lca部分分别为a和b,设a<b,那么可以分为1-a,a+1-b-1,b-n三部分,首先考虑lcp的节点在哪一段,然后在段上二分即可。这里讲一下hash的处理方法,就是我们求出每个节点到根的字符串以及其反串的hash,然后就可以O(1)获得路径hash了。使用双hash,O(nlogn)。CF505E比大部分题解少一只log。首先考虑二分答案x。由于正
2023-08-24 11:18:25
1229
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人