随笔分类 -  线段树&BIT

摘要:1007_Climb Stairs_线段树 题目大意: 有0到n的n+1层楼,除了0层其他每层都有一只血量为ai的怪兽。初始攻击力为a0,攻击力大于等于怪兽血量就可以打败怪兽,打败之后就可以将其血量累加到自身攻击力上。每次都可以选择向下走一层或者在i+1到i+k层中选择一层直接跳过去。问是否可以杀死 阅读全文
posted @ 2022-08-01 19:23 tyrii 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Problem - B - Codeforces 题目大意 求出所有长度x的子段中最小值的最大值 思路和代码 考虑O(n3)暴力的做法,枚举所有长度的子区间找最小值的最大。 这种做法即便是将最小值的查询通过线段树或**散列表(ST)**降低到log级别也还是有O(n2logn)的复杂度。 考虑另外的 阅读全文
posted @ 2022-06-02 20:36 tyrii 阅读(24) 评论(0) 推荐(0) 编辑
摘要:F2. Promising String (hard version)_BIT正序对+离散化+同余分组 题目大意: 给一串由+-构成的序列,两个-可以合并成一个+。一个串+-数量相等就称其为好串,若一个串可以通过若干次合并变成好串那么我们称其为P串。现在给定一个串,问其中有多少的子串是P串。 思路和 阅读全文
posted @ 2022-05-18 11:47 tyrii 阅读(43) 评论(0) 推荐(0) 编辑
摘要:C. Rooks Defenders_BIT 题目大意 有n*n的棋盘,每次可以在任意位置放下或者拿走一个车。每个车可以攻击到他所在的一整行和一整列。每次查询给一个矩形区间,问区间内的每一个格子是否都能被攻击到。 思路和代码 首先x轴y轴分开考虑是好想的。 对两个轴维护BIT即可 要注意的是,BIT 阅读全文
posted @ 2022-05-17 10:25 tyrii 阅读(88) 评论(0) 推荐(0) 编辑
摘要:H2. Maximum Crossings (Hard Version) 题目大意: 有两条平行的线段,点line1[i]和line2[ai]相连。问最多有几个交点。 思路和代码: 今天吃午饭的时候队里的神犇杰锅来跟我炫耀,吹水间跟我说了这个题目。我来补一下。 首先把题目转化成,[1,i-1]中有多 阅读全文
posted @ 2022-05-11 16:47 tyrii 阅读(181) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示