摘要:
type node=^link;
link=record
des:longint;
next:node;
end;
type seg=record
z,y,lc,rc,toadd,sum:longint;
end;
var
n,tot 阅读全文
摘要:
procedure euler;
var
i,j:longint;
begin
phi[1]:=1;
for i:=2 to n do
begin
if not mark[i] then
begin
inc(tot);
p[tot]:=i;
phi[i]:=i-1;
end;
for j:=1 to n do
begin
if i*p[j]>n then break;
mark[i*p[j]]:=true;
if i mod p[j]=0 then
begin
phi[i*p[j]]:=phi[i]*p[j];
break; 阅读全文
摘要:
昨天写了一个后缀数组,发现空间复杂度是nlogn的。 改正后的 c++ 阅读全文
摘要:
其中height[i]表示suffix(i)与suffix(sa[rank[i]-1])的最长公共前缀 ____________________________________________________ c++ 其中height[i]表示rank[i]+1与rank[i]的最长公共前缀 阅读全文
摘要:
先上我原来的错误的代码 type node=^link; link=record num:int64; next:node; end; var fa:array[0..300000,0..100] of int64; dep:array[0..300000] of int64; nd:array[0 阅读全文
摘要:
最小费用最大流 最大费用最大流 边表模板 BZOJ4276 用线段树优化费用流 阅读全文
摘要:
最大流=最小割=正点权和-最大闭合权图 其中求最大闭合权图时,源点向所有点权为正的点连容量为点权的边,所有点权为负的点向汇点连容量为点权绝对值的边 表示约束关系的边容量为无穷大,i前必须做j,i连向j 阅读全文
摘要:
c++ BZOJ1059 另外, 最小点覆盖数=最大匹配数 最大独立集=顶点数-最大匹配数最小路径覆盖数 = 顶点数 - 最大匹配数 _____________________________________________ BZOJ1443 确定一个点是否为匹配的必选点,后手走匹配边 (确定必选边 阅读全文
摘要:
type jd=record z,y,lc,rc,sum,toadd:int64; end; var tree:array[0..800000] of jd; qzh:array[0..200000] of int64; x:array[1..200000] of int64; n,m,a,b,k, 阅读全文
摘要:
求最小值所有边取相反数后KM,输出有答案的相反数 求最小乘积先求对数再KM 阅读全文