2018.12.24-2018.12.30 做题记录

周一和周二

bzoj1706月赛

  1. 回文数对:数位dp,枚举前导0个数,同时从高位到低位,低位到高位dp
  2. 博饼切割:圆与多边形面积交
  3. 互质序列:利用gcd变化次数是log,直接枚举前后缀的变化点统计答案
  4. Karp-de-Chant Number:贪心确定顺序后dp,注意背包的空间是n^2级别的
  5. 原谅字符串:用bitset维护匹配,一个新思路!
  6. 城市规划:看清题!是每个人行道只要在建筑物前就有贡献直接合并区间,枚举,统计贡献的时候差分一下

bzoj1705月赛

  1. 线段游戏:把序列分成两个不含逆序对的序列,问方案数。
    ob1: 看成二分图,答案是2^联通块个数
    ob2: 判奇环等价于最长下降子序列长度<=2
    ob3: 可以用并查集+贪心维护连通性,也可以直接在线段树上找边,每个点只被访问一次

总结1:

这些月赛题都比较套路,思路不难想到,但是仍然没有快速敏锐的发现题目的性质。
想题的时候要把细节也想清楚,深入全面的思考。不能模糊、不清晰

四边形不等式和决策单调性

学习收获:

  1. 如果满足决策单调性,可以用挨个加入决策点+二分分治解决O(nlogn)
  2. 如果满足斜率优化的形式(到决策点的最优性是凸函数,单峰)O(n)
  3. 四边形不等式要大胆猜结论,然后再证明:交叉代价<包含代价,最后可以推出dp也满足四边形不等式和决策单调性
    f[i][j] = min(f[i][k]+f[k][j]+w[i][j])
    直接引用大佬博客,不再赘述
    这里有一些题
  4. 例题
    1. bzoj 1563 小G的诗人
    2. bzoj 2739: 最远点
    3. bzoj 4367: [IOI2014]holiday假期
    4. bzoj 3675: [Apio2014]序列分割
    5. BZOJ2216 [Poi2011]Lightning Conductor

总结2:

学习以前不太熟悉的算法,或者新的知识
要踏实。全面。尽量一次性解决疑惑,全面的掌握各种方面的特性:证明,实现算法,各类例题
学习一种算法的时间不能太长,各种类型的题见几道即可,做很多相同的题完全浪费时间
要自己实现代码

总结3:

博客应该记录最重的,有价值的东西
不是所有琐碎的信息都记录,提高效率,不要浪费时间!!

猜你喜欢

转载自blog.csdn.net/weixin_42484877/article/details/85254352