08 2017 档案

摘要:和POJ 3130,POJ 3335一样。求多边形的核 阅读全文
posted @ 2017-08-31 17:17 Pacify 阅读(186) 评论(0) 推荐(0)
摘要:和POJ3335一样,只不过这题是逆时针 阅读全文
posted @ 2017-08-31 17:11 Pacify 阅读(169) 评论(0) 推荐(0)
摘要:求多边形的核 阅读全文
posted @ 2017-08-31 14:46 Pacify 阅读(122) 评论(0) 推荐(0)
摘要:题意: 三个操作符 D x:摧毁第x个隧道 R x:修复上一个被摧毁的隧道,将摧毁的隧道入栈,修复就出栈 Q x:查询x所在的最长未摧毁隧道的区间长度。 1.如果当前区间全是未摧毁隧道,返回长度 2.如果在坐儿子的右区间或右儿子的左区间,返回这两个区间长度和 3.继续递归 阅读全文
posted @ 2017-08-30 20:52 Pacify 阅读(133) 评论(0) 推荐(0)
摘要:题意: 5种操作,所有数字都为0或1 0 a b:将[a,b]置0 1 a b:将[a,b]置1 2 a b:[a,b]中的0和1互换 3 a b:查询[a,b]中的1的数量 4 a b:查询[a,b]中的最长连续1串的长度 这题看题目就很裸,综合了区间更新,区间合并 我一开始把更新操作全放一个变量 阅读全文
posted @ 2017-08-30 11:38 Pacify 阅读(159) 评论(0) 推荐(0)
摘要:题意: Q a b 查询[a, b]区间的最长连续递增子序列的长度 U a b 将下表为a的元素更新为b 区间合并一般都有3个数组:区间最值,左区间最值和右区间最值 具体详见代码 阅读全文
posted @ 2017-08-29 16:33 Pacify 阅读(176) 评论(0) 推荐(0)
摘要:题意: 1 输入a:询问是不是有连续长度为a的空房间,有的话住进最左边 2 输入a b:将[a,a+b-1]的房间清空 思路:记录区间中最长的空房间 线段树操作: update:区间替换 query:询问满足条件的最左端点 阅读全文
posted @ 2017-08-29 10:39 Pacify 阅读(123) 评论(0) 推荐(0)
摘要:注意离散化!!!线段树的叶子结点代表的是一段!!! 给出下面两个简单的例子应该能体现普通离散化的缺陷: 1-10 1-4 5-10 1-10 1-4 6-10 普通离散化算出来的结果都会是2,但是第二组样例结果是3 如果相邻数字间距大于1的话,在其中加上任意一个数字,比如加成[1,2,3,6,7,1 阅读全文
posted @ 2017-08-28 10:08 Pacify 阅读(256) 评论(0) 推荐(0)
摘要:我用的线段树写的。 num数组表示已插入的数值的个数。 由于a[i]数值很大,但是n不是很大,所以要离散化处理 9 1 0 5 4 离散化后 4 1 0 3 2 这样保证最大值不会超过n 阅读全文
posted @ 2017-08-23 17:42 Pacify 阅读(156) 评论(0) 推荐(0)
摘要:线段树功能 update:成段更新 query:区间求和 阅读全文
posted @ 2017-08-23 16:10 Pacify 阅读(137) 评论(0) 推荐(0)
摘要:线段树功能:update:成段替换 成段更新去要用到延迟标记,具体调试代码就容易懂些 阅读全文
posted @ 2017-08-23 16:08 Pacify 阅读(119) 评论(0) 推荐(0)
摘要:先看看反素数 反素数的定义:对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 从反素数的定义中可以看出两个性质: (1)一个反素数的所有质因子必然是从2开始的连续若干个质数,因为反素数是保证约数个数为的这个数尽量小 (2)同样的道理,如果,那么必有 阅读全文
posted @ 2017-08-23 10:11 Pacify 阅读(213) 评论(0) 推荐(0)
摘要:这道题要从后往前插入元素,最后一个元素的位置可以直接确定,倒数第i个的位置可以根据倒数i-1个的位置推测出来 线段树存储的是区间剩余的空位置。 阅读全文
posted @ 2017-08-18 11:13 Pacify 阅读(147) 评论(0) 推荐(0)
摘要:题意: 给出公告板的高和宽h,w,现在要粘贴公告(每条公告高度为1),粘贴在能粘贴的最上面的位置。给出n个公告的宽度,顺序粘贴,让你求每个公告在第几行。 分析: n最大为200000,不可能每次顺序地遍历。我们可以用线段树来记录每一行的剩余的宽度。但是行数h最大有10^9方,不可能开这么大的数组呀。 阅读全文
posted @ 2017-08-12 10:30 Pacify 阅读(114) 评论(0) 推荐(0)
摘要:线段树计算逆序数的原理: 用线段树来统计已插入的数的个数(所以要保证最大的那个数不能太大,否则数组都开不了),然后每插入一个数,就查询比插入的数大的个数,累加即可。 这个题还有一个特点就是,题目给的是0至n-1的全排列,也就是说每个数都不同。那么abcde的逆序数与bcdea的逆序数就很明了了。 假 阅读全文
posted @ 2017-08-12 09:28 Pacify 阅读(155) 评论(0) 推荐(0)
摘要:线段树功能:update:单点更新 query:区间最值 阅读全文
posted @ 2017-08-11 17:30 Pacify 阅读(153) 评论(0) 推荐(0)
摘要:线段树的基本知识可以先google一下,不是很难理解 线段树功能:update:单点增减 query:区间求和 阅读全文
posted @ 2017-08-11 16:19 Pacify 阅读(161) 评论(0) 推荐(0)
摘要:题意: 给出mod的大小,以及一个不大于70长度的字符串。每个字符代表一个数字,且为矩阵的增广列。系数矩阵如下 1^0 * a0 + 1^1 * a1 + ... + 1^(n-1) * an-1 = f(1) 2^0 * a0 + 2^1 * a1 + ... + 2^(n-1) * an-1 = 阅读全文
posted @ 2017-08-10 21:06 Pacify 阅读(206) 评论(0) 推荐(0)
摘要:给出组件的数量n,给出记录的数量m(n就是变元数量,m是方程数量)。每一个记录代表一个方程,求每个组件的生产天数。 高斯消元即可 阅读全文
posted @ 2017-08-10 09:11 Pacify 阅读(225) 评论(0) 推荐(0)
摘要:dp[i][j]表示前i个元素,子集和为j的个数。d[i][j] = d[i][j] + d[i-1][j-k] (第i个元素的值为k)。这里可以优化成一维数组 比如序列为 1 2 3,每一步的dp值为 1 0 0 0 0 0 0 (d[0][0]=1) 1 1 0 0 0 0 0 1 1 1 1 阅读全文
posted @ 2017-08-09 10:12 Pacify 阅读(180) 评论(0) 推荐(0)
摘要:POJ 1222 高斯消元更稳 看这个就懂了 阅读全文
posted @ 2017-08-07 17:25 Pacify 阅读(209) 评论(0) 推荐(0)
摘要:和1222,1681差不多 POJ 1222 高斯消元更稳 POJ 1681 高斯消元 枚举自由变元 equ = 16 ,var = 16的方程组 阅读全文
posted @ 2017-08-07 17:22 Pacify 阅读(240) 评论(0) 推荐(0)
摘要:n最大15,二进制枚举不会超时。枚举不被砍掉的树,然后求凸包 阅读全文
posted @ 2017-08-05 15:35 Pacify 阅读(213) 评论(0) 推荐(0)
摘要:极角排序即可 阅读全文
posted @ 2017-08-05 10:51 Pacify 阅读(170) 评论(0) 推荐(0)
摘要:凸包加上圆周长即为结果,用了kuangbin的凸包模板 阅读全文
posted @ 2017-08-05 10:48 Pacify 阅读(153) 评论(0) 推荐(0)
摘要:Change the state of light i (if it's on, turn off it; if it is not on, turn on it) at t+1 second (t >= 0), if the left of light i is on !!! 只有当第i个左边的灯 阅读全文
posted @ 2017-08-01 09:06 Pacify 阅读(157) 评论(0) 推荐(0)