然而我又更新博客了。

Week 3 Friday && Week4 Monday

  • HDU 1011
    树形DP
  • ACdream 1417
    求小于等于n的,能被k整除的数字p,要求p的字典序最小。
    对于相同长度的数字p,肯定是10000****这样的形式字典序最小。
    所以对于每个长度,只要求出100...00+100...00%p就可以了。
    稍微注意一下边界。
  • ACdream 1242
    bfs输出路径
  • HDU 1007
    平面上n个点,求最近点对。
    最近点对是一个经典算法。
    暴力\(O(n^2)\)承受不了的话,考虑分治。把所有点按照x坐标分成大小大概相等的两部分,分治解决左右部分。最近点对只有三种情况:两个点都出现在左侧部分、右侧部分或者一个在左一个在右。所以我们分别得到左侧部分的最近点对答案\(ans1\),右侧部分的答案\(ans2\),并取\(ans=min(ans1,ans2)\)。那么对于以分界线为中心,左右长度分别为\(ans\)的一段区域内,考虑这个区域内部所有点,一个在左一个在右的情况只有可能出现在这个区域里。把这个区域里的所有点按照y排序,那么按顺序检查两两之间的距离即可,如果距离已经超过当前的最小距离,就break掉。
    这里可以用抽屉原理证明对于每一个点,最多检查这个点相邻的六个点就可以了。
  • ZOJ 3343
    代码题。待做。
  • ZOJ 3346
    这种题其实我不会。证明结论就好了。
  • ZOJ 3348
    给定一堆操作,逆序模拟要求的点就可以了。
  • ZOJ 3349
    和sgu326一样。网络流可以用来判断方案是否能够合理安排。
  • ZOJ 3351
    逗你玩。
posted @ 2015-03-25 20:24  wsc500  阅读(200)  评论(0编辑  收藏  举报