弱逼发福利——BZOJ简易题解

  本弱逼长期做题都是膜题解膜题解,感觉提供一些关键点在进行思考的话能够更快的加强算法能力,所以我就稍微的写一写。

  【BZOJ1001】  最小割转平面图。

  【BZOJ1002】  状态压缩dp。

  【BZOJ1003】  最短路+dp。

  【BZOJ1004】  每一种洗牌对应一种置换,用一下burnside。

  【BZOJ1005】  prufer。

  【BZOJ1006】  弦图最大势。

  【BZOJ1007】  维护凸壳。

  【BZOJ1008】  补集转化。

  【BZOJ1009】  kmp+矩阵优化。

  【BZOJ1010】  斜率优化。

  【BZOJ1012】  线段树。

  【BZOJ1013】  高斯消元。

  【BZOJ1014】  splay维护hash值。

  【BZOJ1015】  离线转成插入操作并查集维护。

  【BZOJ1016】  从小到大插边维护每个连通分量的最小生成树个数。

  【BZOJ1019】  令f(i,j)表示从i柱子移动到另一个柱子盘子为j的操作次数,g(i,j)表示从i移动到另一个柱子盘子为j的移动位置。

  【BZOJ1022】  SJ定理。

  【BZOJ1024】  dfs。

  【BZOJ1025】  考虑这个由多少个环且每个环大小和为n,对于每种状态的贡献就是lcm(各个环大小),那么就是求lcm值的种类。

  【BZOJ1027】  其中有一维是没用的,这样就是一个经典问题:给定平面n个点,求最小凸包包围查询点。这个用最小环就能解决。

  【BZOJ1028】  贪心。

  【BZOJ1029】  贪心。

  【BZOJ1030】  ACM上面dp。

  【BZOJ1031】  SAM。

  【BZOJ1034】  花式贪心。

  【BZOJ1036】  树链维护值。

  【BZOJ1037】  设f(i,j,k)前i个人有j个男的从i开始向前的连续段里最多有k个男与女的差,再设个g(i,j,k)同样地不同的是最多有k个女与男的差。

  【BZOJ1040】  基环树。

  【BZOJ1041】  很容易知道\(2r=d(a^{2}+b^{2})\),其中\(d=gcd(r+x, r-x)\), \(r+x=da^{2}\), \(r-x=db^{2}\),我们枚举d,然后再枚举a就可以了,注意到如果对于合法的a, b如果交换他们的值对应的x, y是不变的,那么就将a枚举的值缩一半就可以了,最后乘4加4就可以了。

  【BZOJ1042】  容斥原理。

  【BZOJ1044】  第一问二分。第二问dp。

  【BZOJ1045】  经典问题,转化成每个点向正方向扔多少点,转化下就是求一个中位数。

  【BZOJ1046】  dp。

  【BZOJ1047】  单调队列或用ST表。

  【BZOJ1048】  dp。

  【BZOJ1049】  dp依照前一个dp值可以写一个O(n^3)的dp但是跑的飞快。

  【BZOJ1050】  枚举最小边跑一下。

  【BZOJ1051】  tarjan。

  【BZOJ1052】  二分+贪心覆盖下。

  【BZOJ1053】  爆搜。

  【BZOJ1054】  状态压缩爆搜下。

  【BZOJ1055】  dp。

  【BZOJ1056】  平衡树。

  【BZOJ1057】  维护上左右的值单调队列维护下。

  【BZOJ1058】  set维护。

  【BZOJ1059】  就是求是否存在n个互不同行或同列的点。

  【BZOJ1060】  dp。

  【BZOJ1061】  线性规划转化网络流。

  【BZOJ1066】  网络流。

  【BZOJ1067】  分类讨论下就好了。

  【BZOJ1068】  dp。

  【BZOJ1069】  旋转卡壳。

  【BZOJ1070】  每个员工拆成n个点,网络流。

  【BZOJ1071】  我们考虑(min_s, min_h)对应的一个集合S,那么(min_s, min_h+1)对应的集合不过是S上加一些值再减掉min_h的点,那么考虑直接枚举min_s, min_h然后单调维护就可以了。

  【BZOJ1072】  维护下模的值。

  【BZOJ1076】  期望dp。

  【BZOJ1079】  f(i1,i2,..,i5,last)表示能涂j次的是i_j,last颜色为last。

  【BZOJ1083】  最小生成树。

  【BZOJ1084】  m很小可以dp小。

  【BZOJ1085】  枚举上限步数然后搜索。

  【BZOJ1086】  树分块。

  【BZOJ1087】  状态压缩。

  【BZOJ1088】  暴力。

  【BZOJ1098】  递推。

  【BZOJ1090】  dp。

  【BZOJ1095】  维护一堆树重心。

你可能感兴趣的:(弱逼发福利——BZOJ简易题解)