上一页 1 2 3 4 5 6 ··· 26 下一页
摘要: 题意:询问区间唯一元素个数,单点修改。分析:借助Unique snowflakes,Can you answer these queries II的思想,唯一性可以借助元素上一次出现的位置来判断。对于询问(x,y),只要回答[x,y)区间内,上一次出现位置prv[i] #include#includ... 阅读全文
posted @ 2015-12-06 14:24 陈瑞宇 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 题意:求矩形覆盖k次以上的区域总面积。因为k≤10,可以在线段树上维护覆盖次数为0,...,k, ≥k的长度数量。然后就是一个离散化以后扫描线的问题了。离散化用的是半开半闭区间,以方便表示没有被覆盖的区间。/**********************************************... 阅读全文
posted @ 2015-12-05 18:41 陈瑞宇 阅读(258) 评论(0) 推荐(0) 编辑
摘要: brute force ? 其实是平方分解。很容易想到的是每一个颜色建一个图,然后并查集维护一下连通性。问题在于颜色有O(m)种,每种颜色的图点数都是O(n)的,因此并查集的空间只能重复利用。但是可以把以O(m)的空间把有用的连通块信息保留下来。之后的处理可以借鉴分块的思想。记点v属于的连通块数量为... 阅读全文
posted @ 2015-12-04 17:08 陈瑞宇 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 很好的一道题,想了很久。首先突破的是,可以找到枚举其中一边,假设是尾部y,然后快速找出满足条件的最大的头部x,连续区间的和很容易想到借助部分和的思想,如果是从y开始往前面累加,那么就是一个关于y的后缀和。如果答案的一边在y,那么就转化成了对后缀和的RMQ。y的后缀和y-1或者y+1的后缀是差不多的,... 阅读全文
posted @ 2015-12-03 19:44 陈瑞宇 阅读(276) 评论(0) 推荐(0) 编辑
摘要: cdq分治,dp(i)表示以i为结尾的最长LIS,那么dp的递推是依赖于左边的。因此在分治的时候需要利用左边的子问题来递推右边。(345ms? 区间树TLE/********************************************************** -... 阅读全文
posted @ 2015-12-02 08:43 陈瑞宇 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 纠结了好久的一道题,以前是用线段树套平衡树二分做的,感觉时间复杂度和分块差不多了。。。终于用BIT套函数式线段树了过了,120ms就是快,此题主要是卡内存。假设离散后有ns个不同的值,递归层数是log2(ns)左右,nlog(ns),主席树是前缀区间,BIT保存修改的值是mlog2(ns)log2(... 阅读全文
posted @ 2015-12-01 12:17 陈瑞宇 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 相交区间选尽量少的点是可以贪心的,右端点排序以后,尽量往右边放可以得到可以使得点在区间尽可能多。但是我只想到了O(n)的维护方法。(数据比较水,能过...或者是前缀和可以写sum(bi) - sum(ai-1)≥ ci再加上前缀和的单调性 sum(i) - sum(i-1)≥ 0以及一个点只能选一次... 阅读全文
posted @ 2015-11-30 10:30 陈瑞宇 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 被卡的一道题,其他情况都想出来了,主要是没想好A[i] == B[j]时候的处理,取最后面最大的可能不是最优解,相等的时候我暴力比较后缀的(为此还要维护一个链),这个操作是O(len) 所以T了。(也可能是写挂了,全是O(len)的数据是很难造的,看过的名单似乎暴力可行)实际上取后面最大的只是一种可... 阅读全文
posted @ 2015-11-29 13:01 陈瑞宇 阅读(213) 评论(0) 推荐(0) 编辑
摘要: dp,答案容易想到是 凑出价格总和≤m-5 + 没被使用的最大价格。dp[i = 前i种价格][j = 价格总和] = 最大没使用的价格下标idx_m。dp[i-1][j]存在的话,则只要更新idx_m。如果dp[i-1][j-c[i]]存在但是dp[i-1][j]不存在,那么c[i]必须使用,id... 阅读全文
posted @ 2015-11-29 12:58 陈瑞宇 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 虽然是水题,但是还是很interesting的。(大概就是我最晚出这个题了。。。博弈感觉就是靠yy能力啊。这题是对称性。最后的必败态是白色格子对称的,一旦对称形成,对手怎么选,跟随就好,对手无法摆脱。当n是奇m是奇,取最中间的一个,当一奇一偶,去掉一个奇数列或行。只有一开始就是对称的才会输。#inc... 阅读全文
posted @ 2015-11-29 12:57 陈瑞宇 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 用归纳法分析可以知道死循环只有4。分析一下复杂度,如果n很大并且不是素数,根据基本不等式可以知道 sum factor(n)≥2+n/2≈ n/2。复杂度是O(T*logN*sqrt(N)),这个上界比较松。如果是用Pollard_rho再开个平方估计常数也差不多了。#includeusing na... 阅读全文
posted @ 2015-11-29 12:57 陈瑞宇 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 小鸟往四个方向飞都枚举一下,数据范围没给,离散以后按在其中一个轴线排序,在线段树上更新墙的id,然后就是点查询在在哪个墙上了。这题有个trick,因为数据范围没给我老以为是inf设置小了,WA了很多发。(距离可能比0x3f3f3f3f大实现上,我是把鸟和墙的坐标放一起的,用下标来区别两者。/****... 阅读全文
posted @ 2015-11-29 12:56 陈瑞宇 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 不存在-1的情况,而且最多一轮就结束了。如果新增加的黑点v0会产生新的黑点v1,那么v0和v1肯定是在一条轴上的,而原来这条轴上已经有黑点了。离散以后扫描线统计,往线段上插点,然后查询区间上点数。不妨以x为主轴,用一条条平行于y轴的线去扫。按照x为主y为副排序以后,记录下标,将下标按y为主排序,为的... 阅读全文
posted @ 2015-11-29 12:32 陈瑞宇 阅读(530) 评论(0) 推荐(0) 编辑
摘要: BIT更新一个区间的前缀和是很容易的,modify操作修改的是[x,N]的所有前缀和(也就是修改的是一个后缀)。二维的也是容斥一下就好了。对于查询的(x,y),回答前缀和(x,y)就好了。/*******************************************************... 阅读全文
posted @ 2015-11-29 11:19 陈瑞宇 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 分相离,内含,想交三种情况讨论一下。主要是精度和数据范围的问题,首先数据用long double,能用整型判断就不要用浮点型。题目中所给的坐标,半径是整型的,出现卡浮点判断的情况还是比较少的。最后算三角型面积的时候不要用海伦公式,有四个连乘很容易爆数据范围损失精度,即使拆开两两乘也要考虑符号(取对数... 阅读全文
posted @ 2015-11-29 00:07 陈瑞宇 阅读(478) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 26 下一页