刷题
文章平均质量分 66
HNU根根儿
就读于湖南大学信息科学与工程学院
展开
-
枚举+队列:[NOIP2016]海港
枚举+队列原创 2022-06-02 14:03:02 · 191 阅读 · 0 评论 -
二分+前缀和:[NOIP2011]聪明的质监员
题目聪明的质检员思路二分二分应用的条件为:满足单调性或可以舍去局部。对于此题来说单调性十分明显随着W的增大,Y不断减小。利用二分法,找到最接近S的两个值(一个位于S左侧,一个位于右侧),然后选取S-Y的绝对值最小的即可。前缀和对于某个W的值,如果使用暴力求解Y,复杂度为O(mn),那么总的复杂度为O(mnlog(Wmax))这样显然会TLE。观察题目中让求的式子,我们可以利用前缀和,求前缀和只需要O(n)的复杂度,对于[l,r]区间查询只需要prefsum[r]-prefsum[l-r]原创 2022-05-18 20:35:35 · 137 阅读 · 0 评论 -
二分+差分:[NOIP2012]借教室
题目借教室思路起初我想用树状数组来解,用树状数组维护某个区间的最小值,因为只要最小值满足租借的条件,那么该区间的其他值也一定满足。但是问题在于树状数组维护的区间结构不是任意的,比如某一天的订单将[l,r]的教室数都进行了修改,那么此时必须要更新所有包含[l,r]区间的任一值的树状树状数组,这样其实导致复杂度并没有降低。跟ACMer大佬叹宝讨论后才知道,其实线段树比树状数组的能力要强大很多,比如对于这道题线段树是可以解的,但是树状数组却不行。所以树状数组更容易求解的实际上是从头开始计算并维护的一些东原创 2022-05-18 19:52:37 · 195 阅读 · 0 评论 -
树状数组:P5057 [CQOI2006]简单题
题目题目描述有一个 n 个元素的数组,每个元素初始均为 0。有 m 条指令,要么让其中一段连续序列数字反转——0 变 1,1 变 0(操作 1),要么询问某个元素的值(操作 2)。 例如当 n = 20 时,10 条指令如下:输入格式第一行包含两个整数 n, m,表示数组的长度和指令的条数; 以下 m 行,每行的第一个数 t 表示操作的种类:若 t = 1,则接下来有两个数 L, R,表示区间 [L, R] 的每个数均反转; 若 t = 2,则接下来只有一个数 i,表示询问的下标。输出格式每原创 2022-05-12 16:51:43 · 168 阅读 · 0 评论 -
POJ9273:PKU2506Tiling_递推+高精度
总时间限制: 2000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB描述对于一个2行N列的走道。现在用12,22的砖去铺满。问有多少种不同的方式。下图是一个2行17列的走道的某种铺法。输入整个测试有多组数据,请做到文件底结束。每行给出一个数字N,0 <= n <= 250输出如题样例样例输入2812100200样例输出31712731845100400152152934331135470251107129202950599351原创 2022-02-24 19:51:13 · 492 阅读 · 0 评论