一句话题解

  有些题目以为价值不是特别大,不值得想单独写一篇随笔,但不至于一句话都不提。(实际上是想偷点懒)网络

  • UVa Live 4327 单调队列优化动态规划。
  • UVa Live 4015 $f_{i,j}$表示从$i$开始走,在$i$的子树内走到$j$最少要走的距离。$g_{i, j}$只是增长一个要走回$i$的限制。转移是显然的。
  • UVa Live 4490 一种书被拿出来再放回去会不会增长贡献取决于这种书有没有彻底被取走。而后随便状态压缩一下就过了
  • UVa 11600 转移只与连通块的大小有关。状压全部连通块的大小。(这题竟然没有极限数据卡$2^{29}$????)
  • UVa Live 3029 最大子矩形必定是极大子矩形。极大子矩形只用考虑当前枚举的下界以上如下界为底的子矩形。显然用一个单调栈就能维护。
  • UVa 10382 由于喷水装置在中线上,因此只用考虑边界是否被彻底覆盖。而后问题等价于选出若干个区间,覆盖大区间。每次选择左端点在当前覆盖的区间的且右端点坐标最大的区间。
  • UVa Live 4254 显然二分答案,每次选择$d$最小的任务执行,贪心地选择靠左的空闲时间段,用并查集维护已经被彻底占用的时间段。按秩合并后能够作到$O((n + D)\log D)$.。
  • UVa Live 3516  每次考虑第一次访问的子树对应的一段。若是它是第$l + r$个字符到第$k - 1$个字符,那么知足$a_l = a_k = a_r$.
  • uoj 182 在某次操做后,每一个位置上的数能够表示为$\frac{k_1 x + b_{1}}{k_2 x + b_2}$的形式,分离系数,对于分数部分,将它化为$c\times \frac{1}{x + d}$的形式,这一部分单独求和,分别维护分子和分母的多项式,多点求值,剩下的直接算。
  • UVa Live 4123 考虑能够直接计算出这个多边形的内拐点和外拐点的数量。考虑一下可以看到每一个点的范围就可以证实多边形内存在一个点可以看到全部点的充要条件是不存在连续的两个$270^{o} $拐点。考虑一首一尾的状况,剩下的直接组合数计算。
  • UVa 4119 在$x = 1, \cdots, n + 1$判断是不是$D$的倍数。用逐差法很容易证实。
  • UVa Live 3704 循环矩阵作乘法时只用记录第一行。
  • UVa 11529 补集转化一下,变成求每一个点在多少个三角形外部。若是画一条通过这一个点的直线,那么三个点都在同侧的三角形一定不包含它。把这条线转一圈就能够不重不漏地把每一个三角形算一次。
  • UVa 10253 考虑按照串并联交替的顺序分解网络,将它转化成树的计数问题。因为叶节点个数不一样的树必定不一样构,能够分开考虑。每次考虑加入叶节点个数为$j$的子树,方案数能够乘上一个某个方程的非负整数解的个数。
  • bzoj 4514 设$f(x)$表示$x$写成$p_1p_2\cdots p_k$的形式中的$k$,把商为质数的条件能够换成$|f(x) - f(y)| = 1$,而后就能够建二分图。二分答案跑费用流。
  • bzoj 1070 把第$i$个修车师傅拆成$n$个点,第$j$个点表示倒数第$j$个修的车。而后随便建建图就能费用流了。
  • bzoj 2597 等价于最小化不合法三元环的个数(“三元环”中存在一个点在这三个点的导出子图内入度为2就不合法),把每一个人拆成两个点,中间连边,容量为1,费用依次为$in_i, in_i + 1, \cdots, n - 1$,对于每一个还不肯定的赛局建一个点,向与它有关的两我的连边。
  • 洛古 P5108 建后缀树,dfs一遍,求每一个点的子树内的后缀的最小左端点。而后扫一遍,获得答案,作完了。
  • Codeforces 1107F 对于把$k_i$用完和不用完分开处理。而后随便dp一下就好了。
  • Codeforces 1043F 显然答案低于$\log_2 V$,而后简单容斥数方案数,判断一下$gcd$刚好为1的方案数模若干个质数是不是0.
  • bzoj 4596 限制能够转化成没有公司没有建边,而后能够直接容斥加矩阵树定理。对于不连通的状况能够减一下枝。
  • Codeforces 976F 把割意义转化成删掉这条边,这样对于每一个点的度限制变成上界,直接跑网络流。
  • Codeforces 1009G 对于每一个字母建一个点,而后每一对中有字符c建一个点,建边留做练习。
  • Codeforces 884F 直接贪心,判断能不能填这个字符用Hall定理。
  • uoj 269 用一次NTT把点值转成牛顿级数。
  • Codeforces 1141G 答案是第$k + 1$大的度数,dfs一遍就能构造了。
  • uoj 206 Subtask1每次询问边界,Subtask2,1次询问出最大值和最小值,而后答案大于等于$\lfloor (mx - mi) / (n - 1) \rfloor$,每这么多分一段,每段问一次,作完了。
  • bzoj 2154 $[i, j] = \frac{ij}{(i, j)}$,枚举$(i, j)$,而后莫比乌斯反演,而后拿线性筛作一下就能$O(n)$。
  • Codeforces 757E,考虑每一个素数以及素数的次幂的函数值。对于$f_{r + 1}(p^{\alpha}) = \sum_{k = 0}^{\alpha} f_{r}(p^k)$。因为$f(p) = 2$,因此只和质数的指数有关。预处理一下就作完了。
  • loj 2126 打表发现$\lfloor n/x \rfloor$相同的$x$的$SG$函数值相等。