HNOI2019退役祭

对你没看错,是退役祭。

Day -2

春游。话说为什么又是植物园?

Day -1

白天上文化课,晚上给机房其它童鞋出题。

Day 0

给他们考试,然后颓3Dmaze,毕竟没网

Day 1

车上复习了下模板事实证明这并没有用
进考场,发现好多穿\(CJ\)校服的虽然一个认识的都没有
赶紧敲了\(emacs\)配置,然后就发卷了。真后悔没有带吃的进来
\(T1\),马上写了个暴搜,样例过了,然后想正解,没有思路,去看\(T2\)
兴奋地写了个可持久化线段树,然后样例都没过,发现看错题了。。又想了一下无果,去看\(T3\)
容易发现最后每条边都肯定是要连向\(n\)的,并且任何非目标状态都肯定是有一条边能直接变成连向\(n\)的。
于是第一问迎刃而解。然后就不会了,所以只做了W=0的点
为什么没写暴搜呢?懒得打
回过来看\(T1\),发现\(B,C\)的决策和\(E,F\)的决策是相互独立的,所以只需要枚举\(A,D\),分别求\(B,C\)\(E,F\)的方案数然后乘法原理一下就好了。\(B,C\)的求法我想了很多,证伪了许多,最后的方案就是求出任意两个点构成的线段的垂直平分线,用一般式表示,然后用桶记录一下。枚举\(A,D\)时,求出\(AD\)直线的方程,看有多少个点对的垂直平分线就是这条,就是\(B,C\)可取的方案数。关于这个桶怎么实现,一开始还准备用哈希的,但是感觉有点麻烦,于是决定用\(map\)。至于\(E,F\),我打算求出每个点到其它所有点的直线的斜率,然后排个序,然后二分\(AD\)垂线的斜率和\(AD\)的斜率之间的点。
似乎可行的样子,但是实现不了,就是\(map\)那里出锅,最后还是20分暴力滚粗。
再去看\(T2\),随便写了个算法,过了样例就没管了。

什么?没建子目录?那没事了。

Day 2

Day1爆零,心态崩了啊。
今天依然没买吃的。
直接开\(T1\)吧,emmm似乎不可做的样子。
去看\(T2\),emmm似乎也不可做的样子、、
去看\(T3\),似乎可做啊,于是推了半天柿子啥也没推出来。
回去看\(T2\),看到几个\(n=1\)的点,于是乘法原理组合数一顿乱搞应该是出来了8
但我组合数是用预处理阶乘然后求逆元的方法求的,但我又不敢开\(10^8\)的数组,只开到了\(10^7\),应该不会8强行奶自己
对于\(n=2\),\(n=3\)的就直接暴搜了。
回过去看\(T1\)
看到回文串,你想到了什么?
马拉车啊。
听到马拉车,你想到了什么?
对,没错,从一个点向两边拓展,拓展到的2个点之间一定存在回文路径。
于是直接开个二维数组标记2个点之间存不存在。
枚举以每个点为中心,向两边拓展权值相同的点,并且只拓展没有标记存在路径的点。
然后还有长度为偶数的回文串的情况,所以还要枚举所有边,如果2个点的权值相同且没有标记存在路径的话,从这2个点拓展。
时间复杂度我不确定,或许是\(O(n^2)\),或许是\(O(m^2)\)?
还是先确定正确性吧。。
不管了,反正这次只是来试试水的。

晚上疯狂补作业。

\[To be continued\]

广告区

ych巨佬进队记
xjc巨佬AK记
hkw巨佬AK记

猜你喜欢

转载自www.cnblogs.com/Qihoo360/p/10668091.html