随笔分类 -  STL

摘要:bitset 阅读全文
posted @ 2020-01-16 18:54 LuitaryiJack 阅读(451) 评论(0) 推荐(1)
摘要:kd-tree 入门=。= 阅读全文
posted @ 2019-12-19 21:19 LuitaryiJack 阅读(242) 评论(0) 推荐(0)
摘要:kd-tree 入门了 阅读全文
posted @ 2019-12-19 21:13 LuitaryiJack 阅读(222) 评论(0) 推荐(0)
摘要:A1 100pts 考试时暴力打表+发现三次函数于是暴力解方程。 更好的: 发现是在枚举子矩形并求面积,于是有: $\sum_{x}^n\sum_{y}^m x y \times (n x+1) (m y+1)$ 设$f(x)=\sum_{x}^n x (n x+1)$ $=1 n + 2 (n 1 阅读全文
posted @ 2019-09-16 19:16 LuitaryiJack 阅读(370) 评论(1) 推荐(0)
摘要:沿用了学长的$multiset$ 然后这道题可以看到我的程序中有两行注释,它在我看来和他们下面的代码没区别,但是我们发现,C++会先调用后面的参数,所以$--it$会被先执行 。。。 。。。 。。。 维护两个数组,$a[]$和$b[]$表示每一段开头的元素和结尾的元素。 在更新相邻差值的时候,只用考 阅读全文
posted @ 2019-07-11 16:42 LuitaryiJack 阅读(184) 评论(0) 推荐(0)
摘要:先把每个长为$mina$,宽为$minb$的矩阵扔到堆里,然后由于矩阵中的数都是正的,所以我们每取出来一个矩形,,就把他向四个方向扩张一行,再把这新的且更大的四个矩形扔到堆里。注意判重,于是我比较懒用的$map$ $qwq$ 2019.06.13 阅读全文
posted @ 2019-06-13 23:32 LuitaryiJack 阅读(183) 评论(0) 推荐(1)
摘要:最短路树。。。开眼界了。。。之前想也没想过。。。。 先跑出来1到每个点最短路,然后建树时要标记点的入度,否则会多连边。。。然后深搜时更新新答案就是 2019.04.25 阅读全文
posted @ 2019-04-25 00:08 LuitaryiJack 阅读(281) 评论(0) 推荐(0)
摘要:先跑一遍n为起点最短路,再新开一个点,向有干草垛的点连一根边权为d[u]-w的有向边(很重要。。我当时连的无向边,然后我死了。),相当于用价值抵消一部分边权, 然后以这个新的点为起点跑最短路就好了。。。 2019.04.24 阅读全文
posted @ 2019-04-24 23:53 LuitaryiJack 阅读(251) 评论(0) 推荐(0)
摘要:颓了、、、重边导致我乖乖用邻接矩阵。。。。 好吧就是个最短路计数。。。。如果更新时d[v]==d[u]+w[i],就可以接起来,把两个加在一起。。 如果d[v]>d[u]+w[i],那么c[v]直接赋值为c[u],相当于这个最短路是由u转移过来的、 2019.04.24 阅读全文
posted @ 2019-04-24 23:42 LuitaryiJack 阅读(114) 评论(0) 推荐(0)
摘要:细节题?、、、调了半天。。。。 可以发现,每一次从缓存中删除的主存一定是下次访问最晚的,可以用优先队列来处理。。。还有要离散化。。。还有链表末尾要多建一些点、、、否则会死的很惨、、、 2019.04.24 阅读全文
posted @ 2019-04-24 23:28 LuitaryiJack 阅读(164) 评论(0) 推荐(0)
摘要:还是拿set搞。。。 用set记录每个被摧毁的位置,Q的时候二分一下,在和上一个摧毁的位置减一下,即可求出能到的房子数 2019.04.24 阅读全文
posted @ 2019-04-24 11:35 LuitaryiJack 阅读(182) 评论(0) 推荐(0)
摘要:这题。。。一眼set。。。但是打了一会儿。。 记录一下每个价格对应的美丽度,顺便充当vis数组,如果美丽度不为0,说明set里已经有了。。。 删除好说,删*s.begin()和*--s.end()就好,但是记得删之前判一下size,否则--s.end()会可能RE 阅读全文
posted @ 2019-04-24 11:29 LuitaryiJack 阅读(172) 评论(0) 推荐(0)
摘要:好久不做这种题了。。。 存一下每个点的位置和时间,由于达到某个位置跟之前去哪里AK的无关,所以在时间超限后,可以用大根堆弹掉之前消耗时间最大的,来更新答案,相当于去掉之前花费最大的,直到时间不在超限。 2019.04.24 阅读全文
posted @ 2019-04-24 11:24 LuitaryiJack 阅读(179) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-04-22 19:22 LuitaryiJack 阅读(12) 评论(0) 推荐(0)
摘要:mdzz,这道题重构了4遍,花了一个晚上。。。 满足等差数列的条件: 1. 假设min是区间最小值,max是区间最大值,那么 max-min+k(r−l) 2. 区间相邻两个数之差的绝对值的gcd=k 3. 区间没有重复的数 前两个条件直接线段树就好啦;而第三个条件:对于每个权值开个set,值为位置 阅读全文
posted @ 2019-04-22 00:50 LuitaryiJack 阅读(266) 评论(0) 推荐(0)
摘要:我不会告诉你这是线段树合并的好题的。。。 好吧我们可以搞一个multiset在dfs时求出LIS(自带二分+排序)进行启发式合并,轻松加愉悦。。。 2019.04.20 阅读全文
posted @ 2019-04-20 14:00 LuitaryiJack 阅读(162) 评论(0) 推荐(0)
摘要:随便选一个点当做根,跑每个点的深度(为了求LCA)d [ u ] ,和到根节点的距离(为了更新答案) l [ u ] 我们发现,由关键点和他们的LCA构成的虚树(其实就是忽略其他节点),由于还要回到原点,所以相当于是树的所有边权的2倍 怎么求?对于每一次标记,将所有的标记了的点按时间戳排序,那么答案 阅读全文
posted @ 2019-04-18 21:42 LuitaryiJack 阅读(105) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-04-18 00:26 LuitaryiJack 阅读(14) 评论(0) 推荐(0)
摘要:把每种颜色看成一个点,然后合并去判联通; 若联通,判一下是不是欧拉图或欧拉路。。。 还有,我的不是正解,要吸氧才能水过去、、、QAQ 2019 .04.18&&upd:修改不规范的map使用方法 阅读全文
posted @ 2019-04-18 00:19 LuitaryiJack 阅读(182) 评论(0) 推荐(0)
摘要:考试时先拿vector瞎搞不等信息,又没离散化,结果好像MLE;后来想起课上讲过用set维护,就开始瞎搞迭代器。。。QWQ我太菜了。。 用并查集维护相等信息,用set记录不相等的信息: 如果要求变量不等,若不和并查集矛盾,就拿set互相记录一下,YES;矛盾就NO 如果要求变量相等, 1.x记录的不 阅读全文
posted @ 2019-04-11 00:36 LuitaryiJack 阅读(122) 评论(0) 推荐(0)