摘要:
SRM 623 DIV2 1000pt题意:给出一个最多50*50的矩阵,每个单元可能为'.'、'P'、'A','.'代表空地,你每次操作可以把一个P或者A拿到空地上,求一个最大的含有相同字符的矩形面积,最多K次操作。首先用一个数组预处理出所有矩形所包含这三种字符的数量,然后枚举每一个矩形,如果只含... 阅读全文
摘要:
很早以前做过这题,早就没印象了,估计当时也是照着某大神的代码抄过的,现在是连题意都看了好长时间。刚开始的S集合是空集,给你一些操作和一个T集合,把操作的结果再赋给S集合。解法:因为会有开区间和闭区间,对于一个值我拆成了两个点 比如 1,2,3, 表示的区间为[1,2] 把两个端点值分别设为2个点,把... 阅读全文
摘要:
题目要求求某段区间第一个没有出现的数(0,1,2,3.。。。) ,对于所有的区间,我们把这样的数加起来最后得到一个结果。首先,我们要求出这样的数,然后还得列举出所有的区间,复杂度太大了。换种思路,我们定住L,是不是一次性能求出所有的R所得出的结果,这就用到线段树的性质了,因为在移动L的过程中,移一步... 阅读全文
摘要:
这里以3次方来举例讲一下这题的做法,其它维类似。如果要求某一个值的3次方那么sum = t^3,设t = x+y。那也就是sum = (x+y)^3.假如我让每个数都加z t = x+y+z,我可以让新的y = y+z,这里发现新来的总会加在y上,那么可以给他一个延迟,slz,那么新的值t = t ... 阅读全文
摘要:
求一部分和的线段树,因为是对5取余,所以给定一段区间a-b,假设其位置会有变化,最多会有5种和,那么就可以保留这五种和,在用lz进行延迟标记时,保存位置变化了多少也就知道了该从当前和转到哪一个和。当时把lz标记那么部分写成覆盖了,应该是+=,WA了两次。 1 #include 2 #inclu... 阅读全文
摘要:
线段树的一些基本应用,就是函数写了很多,有点繁琐。以每个物品的单价建树,刚开始写了个裸的想水过去直接MLE了,然后又离散化了下。离散化单价后建树,lz数组用来清零,s数组保存结点所含物品个数,co数组保存结点所含物品的所有花费,以找第k大的方式找到第n个物品所在的结点位置i,求出前i-1个结点所包含... 阅读全文
摘要:
有一点类似区间K值的求法。这里有两颗树,一个是自己建的线段树,一个是题目中给定的树。以线段树和树进行区分。首先离散化一下,以离散化后的结果建线段树,线段树的节点开了2维,一维保存当前以当前节点为权值的树的节点是往左走的,另一维是往右走的,用一个vector保存一下以当前i节点为结束的询问,因为所有的... 阅读全文
摘要:
1 推荐题库•http://ace.delos.com/usaco/美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以baidu 一个叫NOCOW 的网站。•http://livearchive.onlinejudge.or... 阅读全文
摘要:
这几次CF都挺惨。。A没条边权设为两端点的最小点权,最后加起来。数组开小,WA一次 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using ... 阅读全文
摘要:
链接虽做出的很少,也记录下来,留着以后来补。。浙大题目质量还是很高的B并查集的一些操作,同类和不同类我是根据到根节点距离的奇偶判断的,删点是直接新加一个点,记得福大月赛也做过类似的,并差集的这类关系题目还是比较常见的,有空深究一下。 1 #include 2 #include 3 #include... 阅读全文