学高斯消元之前,我觉得这东西真难。学完之后,我发现高斯消元其实也挺简单的。 ...
分类:
其他好文 时间:
2018-10-29 16:02:54
阅读次数:
118
You are given an array A of strings. Two strings S and T are special equivalent if after any number of moves, S == T. A move consists of choosing two ...
分类:
其他好文 时间:
2018-10-29 14:13:28
阅读次数:
183
转自 "hwzzyr的博客" kruskal重构树 由于重构树中把原树的点权转换成为了新建节点的边权,这一过程是这样实现的。 首先对边排序 然后使用并查集辅助加边,每新建一条边时: 新建节点indexindex(编号从n+1n+1开始) 将原有两节点所在集合改为indexindex 将原有节点与in ...
分类:
其他好文 时间:
2018-10-28 16:15:41
阅读次数:
235
发现从顶点入手不太方便,我们从这个“公共部分最长”开始考虑问题,因为要求这一条公共部分的链最长,可以联想到树的直径,那么本题就是要求一条类似于直径的东西使两个端点除了直径这一条链之外还有不少于两个的儿子,我们只要把这两个儿子交叉输出一下就得到了本题的答案。只要两次$dfs$就可以分别求出这一条链的两 ...
分类:
其他好文 时间:
2018-10-28 11:12:43
阅读次数:
102
A - Candy Game 水。 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define N 1010 5 int t, n; 6 int a[N], b[N]; 7 8 int main() 9 { 10 scanf("%d", ...
分类:
其他好文 时间:
2018-10-27 21:16:36
阅读次数:
149
P2873 [USACO07DEC]泥水坑Mud Puddles bfs入门。 对于坐标为负的情况,我们可以给数组下标加上$abs(min(minx,miny))$转正(根据题意判断) 1 #include<iostream> 2 #include<cstdio> 3 #include<cstrin ...
分类:
其他好文 时间:
2018-10-27 18:47:56
阅读次数:
150
P2872 [USACO07DEC]道路建设Building Roads kruskal求最小生成树。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<queue> 6 ...
分类:
其他好文 时间:
2018-10-27 18:42:20
阅读次数:
214
P2903 [USACO08MAR]麻烦的干草打包机The Loathesome Hay Baler 细节题。$O(n^{2})$的$bfs$可过。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cstr ...
分类:
其他好文 时间:
2018-10-27 14:42:24
阅读次数:
179
P1353 [USACO08JAN]跑步Running 显然的dp 设$f[i][j]$表示进行到第$i$分钟时,$j$疲劳度下的最远距离,$d[i]$为第$i$分钟下能跑的距离 分类讨论 1.运动:显然$f[i][j]=max(f[i][j],f[i-1][j-1]+d[i])$ 2.休息:我们枚 ...
分类:
其他好文 时间:
2018-10-27 13:32:37
阅读次数:
124
悬线法是一种更优秀的枚举方式,保证了枚举悬线的集合包含了极大子矩形所在的集合,而且由最大子矩形一定是极大子矩形的定理可知,这种枚举方式可以求出最大子矩形。 具体做法是维护矩形中每个元素对应最近的左边和右边的障碍点,再维护一个高度数组记录下每个点向上可以延伸多高,还有对应的矩形向左向右可以到达的最大宽 ...
分类:
其他好文 时间:
2018-10-25 14:21:29
阅读次数:
141