07 2019 档案

摘要:被jump送退役了,很生气。 不过切了这题也进不了队,行吧。 退役后写了一下,看到二维平面应该就是KD树,然后可以在KD树上做最短路,然后建立堆和KDTree。然后每次更新则是直接把最短路上的节点删掉,然后合并KDTree #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2019-07-19 23:36 hfctf0210 阅读(503) 评论(2) 推荐(0)
摘要:小升初刚起步 初一 第一次比赛,NOIP PJ组215分,踩线1=,全省rk86,全国rk677(毕竟AH PJ当时是全国前三的) 省选只能去初中组,240分(满分400),全省11 初二 NOIP冒死报提高,啥都不会,结果壮胆打了个340分,再次踩线1=,全省rk58,全国rk1003(感觉初二这 阅读全文
posted @ 2019-07-19 10:46 hfctf0210 阅读(1141) 评论(7) 推荐(3)
摘要:Day0 时光荏苒,日月如梭。人生中第二次也是最后一次全国赛开始了。 坐6h高铁+1h大巴来到gzez,热死。室友是A类的Gloid和C类的仓鼠,我寝室是为数不多(或许只有1个)的凑齐了ABC三种类别的寝室,显然是我这个B类菜鸡最菜了。 一年过去了,从雅礼洋湖到广州二中,真快啊,从高一到高二,这应该 阅读全文
posted @ 2019-07-14 22:16 hfctf0210 阅读(2212) 评论(13) 推荐(0)
摘要:这题很有思维难度,乍一看基本无从下手。 给每个蔬菜钦定退役的时间显然很困难,可以考虑让时光倒流,从后向前递推,然后就变成了某个时间点有一部分蔬菜服役,而已经服役的蔬菜不会退役了。然后就可以直接考虑贪心,每种第一个出现的蔬菜,显然可以单独考虑,加上s[i],然后把蔬菜放到堆里面,就可以在O(pmlog 阅读全文
posted @ 2019-07-13 22:45 hfctf0210 阅读(275) 评论(0) 推荐(0)
摘要:暴力的做法应该是这样的,维护大小为k的堆,每次插入两点间距离并弹出堆顶。 然后这个做法显然是可以KD-Tree优化的,建立KD-Tree,然后如果该平面内最远点小于堆顶,则直接退出。就当做是复习很久没做的KD-Tree了。 不过有一个细节要注意,求最远点对,(1,2)->(2,1)算一对,所以堆的大 阅读全文
posted @ 2019-07-13 08:23 hfctf0210 阅读(412) 评论(0) 推荐(0)
摘要:首先显然应该把数组离散化,然后发现是个带修莫队裸题,但是求mex比较讨厌,怎么办?其实可以这样求:记录每个数出现的次数,以及出现次数的出现次数。至于求mex,直接暴力扫最小的出现次数的出现次数为0的正整数,就一句话,这样看似会超时,实际上是O(√n)的复杂度。为什么?假设存在出现1,2,...,x的 阅读全文
posted @ 2019-07-13 07:47 hfctf0210 阅读(291) 评论(0) 推荐(0)
摘要:过了14个月再重新看这题,发现圆方树从来就没有写过。然后写了这题发现自己APIO2018打铁的原因竟然是没开long long,将树的部分的O(n)写挂了(爆int),毕竟去年APIO时我啥都不会,连tarjan都写不来,活该打铁。 不扯了写题解。 首先建立圆方树,然后任意枚举圆点s和f,然后c可以 阅读全文
posted @ 2019-07-08 23:29 hfctf0210 阅读(194) 评论(0) 推荐(0)
摘要:本题有两种写法,dfs树上DP和仙人掌DP。 先考虑dfs树DP。 什么是dfs树?其实是对于一棵仙人掌,dfs后形成生成树,找出非树边(即返祖边),然后dfs后每条返祖边+其所覆盖的链构成了一个环(很显然覆盖的链互不相交),然后可以确定每条边出现在哪个环中,然后可以解决一些简单的仙人掌DP问题,不 阅读全文
posted @ 2019-07-08 22:17 hfctf0210 阅读(300) 评论(0) 推荐(0)
摘要:趁着我把李超树忘个一干二净的时候来复习一下吧,毕竟马上NOI了。 题解:看着那个dis就很不爽,直接把它转换成深度问题,然后一条直线x->y,假设其lca为z,可以拆分成x->z和z->y两条路径,然后将函数分成两段即可,把式子转换为以节点深度为变量的一次函数,求解最值,树链剖分+李超树求解,保留函 阅读全文
posted @ 2019-07-07 23:23 hfctf0210 阅读(248) 评论(0) 推荐(0)
摘要:这是一道比较好的网络流题。 看到这题,除了指数级别的暴力和所有a[i]相同的DP,并没有啥办法,只能有70pts。然后一眼就是网络流,考虑把区间变为点,对于(i,j),如果选了,则必须选(i+1,j)和(i,j-1),流量为inf。然后根据d[i][j]的正负性,正的就由源点连边,反之连向汇点。当且 阅读全文
posted @ 2019-07-02 19:43 hfctf0210 阅读(240) 评论(0) 推荐(0)
摘要:A 略 B 记录每种字母的出现次数前缀和,然后p[i][j]表示字母j出现至少i次的最靠前的位置,然后直接搜取最大即为答案,O(26(n+m)+Σ|ti|),差点想到二分去了,复杂度会多个log #include<bits/stdc++.h> using namespace std; const i 阅读全文
posted @ 2019-07-01 19:42 hfctf0210 阅读(334) 评论(0) 推荐(0)