摘要:
bzoj3522[Poi2014]Hotel 题意: 在一个树上求三个点两两距离相等的方案数。n≤5000。 题解: 枚举每个点作为中心点,求出每个子树的深度为i的节点大小,则目标是求某个深度的答案和。 设第i个子树在某个深度的节点数为dep[i],令a1[i]=sigma(dep[j],j<=i) 阅读全文
摘要:
bzoj1717[Usaco2006 Dec]Milk Patterns 产奶的模式 题意: John记录了n天的牛奶质量值。他想知道最长的出现了至少k次的模式(即一个连续子串)的长度。n≤20000。 题解: 求一个总哈希值,二分模式长度,枚举每个模式开始端点,获得它的哈希值,然后排序比较有没有至 阅读全文
摘要:
bzoj1124[POI2008]枪战Maf 题意: 有n个人,每个人手里有一把手枪。一开始所有人都选定一个人瞄准(有可能瞄准自己)。然后他们按某个顺序开枪,且任意时刻只有一个人开枪。因此,对于不同的开枪顺序,最后死的人也不同。求最小死人数和最大死人数。n≤1000000。 题解: 最小死人数:先找 阅读全文
摘要:
bzoj1109[POI2007]堆积木Klo 题意: n个数,第i个数为ai,现在要移走一些数,使得移走后有最多的数位于它对应的位置上。求移走的数。n≤100000。 题解: dp方程:f[i]=f[j]+1(i>j,a[i]>a[j],a[i]-a[j]>=i-j即a[i]-i>=a[j]-j) 阅读全文