• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
XD-TEST
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 2 3 4 5 6 7 8 9 下一页
2016年4月13日
bzoj4401 块的计数
摘要: 首先确定一个根后dfs一遍,统计出每个子树的点数个数,然后枚举n的因子x,统计多少子树的点数个数是当前枚举因子x的倍数,如果有n/x个子树满足条件,则答案+1 代码 阅读全文
posted @ 2016-04-13 22:24 fzmh 阅读(214) 评论(0) 推荐(0)
bzoj4378 [POI2015]Logistyka
摘要: 对于询问(a,b),设X=(数列中小于等于b的数字和),Y=b*(数列中大于b的数字的个数),若X+Y>=a*b,则询问可行,否则不可行,实现的话用两个树状数组维护一下即可 代码 阅读全文
posted @ 2016-04-13 21:34 fzmh 阅读(256) 评论(0) 推荐(0)
BZOJ4337 BJOI2015 树的同构
摘要: 构造一个靠谱点的树哈希函数,每个树以每个点都为根算一次哈希值,然后归类一下有相同哈希值的树就行了。 代码 阅读全文
posted @ 2016-04-13 19:59 fzmh 阅读(384) 评论(0) 推荐(0)
bzoj 4358 permu
摘要: 比较容易想到莫队算法+线段树,但是这样时间复杂度是O(nsqrtnlogn)无法通过,考虑如果不进行删除操作,只有添加操作的话那么并查集就可以实现了,于是可以设定sqrtn块,每个块范围为(i-1)*sqrtn到i*sqrtn,那么对于一个左端点在该块之中的询问,若右端点超过块的范围,由于右端点递增 阅读全文
posted @ 2016-04-13 19:34 fzmh 阅读(284) 评论(0) 推荐(0)
bzoj 4320 ShangHai2006 Homework
摘要: 维护一个mod 1到mod 500的最小答案数组,对于每个A操作更新一下该数组,并把其置入一个set中,对于B操作,如果询问<=500直接输出,如果大于500则枚举倍数去set中查找第一个大于等于该倍数的数字,复杂度O(nsqrt(n)log(n)) 代码 阅读全文
posted @ 2016-04-13 13:35 fzmh 阅读(193) 评论(0) 推荐(0)
bzoj4326 NOIP2015 运输计划
摘要: 二分答案,如果一条航道的长度大于当前二分的答案,那么很明显这条航道上需要有一条边权值变为0,且条边权值应该>=(航道长度-二分的答案),那么若想使得所以不满足条件的航道都满足条件,这个虫洞就应该设置在这些航道的交集上,且权值应>=(max(航道长度)-二分的答案),航道的交集具体实现可以把这条航道上 阅读全文
posted @ 2016-04-13 11:55 fzmh 阅读(2322) 评论(0) 推荐(1)
2016年4月12日
bzoj4293 [PA2015]Siano
摘要: 首先需要意识到这一点:生长速度快的植物,无论进行多少次操作,其高度一定大于等于生长速度慢的植物。于是可以先把植物生长速度进行排序,建立线段树,有两种标记,一种标记表示经历了多少时间,另一种为覆盖标记,一开始先把时间标记打上两个询问的时间差,然后用二分查询找到第一个高度>=询问值的位置i,然后使用线段 阅读全文
posted @ 2016-04-12 22:05 fzmh 阅读(472) 评论(0) 推荐(0)
bzoj4238 电压
摘要: 首先先直接对图进行二染色,dfs染完色后,有的边为搜索树边,有的为非树边,当非树边连接的两头的点为异色的时候,那么很明显这条非树边和树边构成的环上的边必然不可能成为答案;如果非树边的两端的点同色,那么所有这种类型的非树边与树边构成的环的交集就是答案,对于一条这样的非树边,如果要使其变成二分图的合法边 阅读全文
posted @ 2016-04-12 18:20 fzmh 阅读(286) 评论(0) 推荐(0)
bzoj4216 Pig
摘要: 水题,题目难点大概就是空间限制上了,开longlong会爆,可以开个int数组求前缀和,然后一旦绝对值超过20亿,则将其取模,并记录下当前位置,这样询问时就可以二分这些超过的位置,将其乘以20亿后加上前缀和就是答案。 代码 阅读全文
posted @ 2016-04-12 15:12 fzmh 阅读(177) 评论(0) 推荐(0)
bzoj 4237稻草人
摘要: 按x轴进行分治,将[l,r]分成[l,mid]和[mid+1,r],左下角点x值在[l,mid]中,右上角点x值在[mid+1,r],然后将[l,r]中的所有点按y轴排序,按顺序扫描,若扫描到左下角点,用一个单调栈维护,若扫描到右上角点,用另一个单调栈维护的同时,去维护左下角的单调栈中二分出答案,复 阅读全文
posted @ 2016-04-12 14:40 fzmh 阅读(270) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3