• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
AC_Artist.zig_zag
然而我依然在补题、
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 ··· 5 6 7 8 9
2013年3月17日
bz1007&bz1038维护半平面
摘要: 做了两个几何题,思路比较相近。bz1007水平可见直线:如果从无线高处往下看,只有没被遮挡直线可以被看见(废话..),那么怎么算不被遮挡呢?因为直线是无限延伸的,所以斜率最大和最小的一定不会被挡住。那么我们可以吧直线按照斜率排一下看上图,k,j,i是按斜率排好的3条线,注意如果红点在蓝线一边的时候,j会被i挡住,在另一边时就不会被挡住。那么我们只要按那个顺序依次进栈,判断后进的是否挡住之前的,挡住了就把前面的踢掉,最后我们就得到了一堆直线组成的队列。它们一定能被看见。bz1038瞭望塔这个题和上面那个很像,也就是说,我们如果把山坡延长一下,就可以得到若干条直线,我们如上题一样操作,便可得到一堆 阅读全文
posted @ 2013-03-17 08:15 Zig_zag 阅读(225) 评论(0) 推荐(0)
2013年3月15日
bz1798: [Ahoi2009]Seq
摘要: 线段树维护区间,比较好像,思路清晰一点的话可以很快地写出来。维护4个域:add,加标记mul,乘标记size,范围大小key,区间和考虑4种情况:++,**,*+,+*前3种显然直接搞一下就行了,在区间上打标记(这里我们设置是打了标记的同时计算区间和)。先加在乘需要想想,对于一个X+C的式子,如果在外面乘了一个D的话成了D(X+C),去括号变成DX+DC,于是第4种情况既要修改乘标记,又要修改加标记。注意,乘和加标记代表的都是给区间的每一个数乘或加一个数,所以mul对key的影响是key*mul,而add的影响是key+add,注意永远是先乘再加。最后就是注意一下数组下标不要越界,数不要撑爆( 阅读全文
posted @ 2013-03-15 23:16 Zig_zag 阅读(312) 评论(0) 推荐(0)
莫队算法初步
摘要: 莫队算法,搞定!思路很简单:对于每个询问,我们把它看成(l[i],r[i])这样一个平面上的点,那么询问之间的转移可以看成点之间的曼哈顿距离。那么我们要找到最小的距离怎么做呢?1.曼哈顿路径,这个不好搞。2.曼哈顿最小生成树,据说这个的权和是1的2倍,总之可以搞。那么我们先要搞定manhattan最小生成树。如有n个点,那么复杂度是n^2的。这样肯定不行。根据定理,每个点出发向8个方向的范围内最多只与一个点相连,那么我们只要想这8个点连边建图,这样只会有8n条边(去重了还剩4n),把这个图建出来,最小生成树就很好搞了。给个链接:http://wenku.baidu.com/view/1e487 阅读全文
posted @ 2013-03-15 18:33 Zig_zag 阅读(2850) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3