04 2021 档案
摘要:Solution 我们可以发现, 两点最近是走dfs序最近的路线 所以我们可以维护一个按照dfs序排序的序列 因为每次只有一个增/减操作, 增加的话我们就答案先减去前驱到后继的距离, 再把前驱到点 点到后继的距离加上 同理删除的话先减去前驱到点、点到后继,再加上前驱到后继距离 用Treap维护即可
阅读全文
摘要:UVA11020 Efficient Solutions Solution 画个图, 发现若是加入一个点, 则前面的点不能比自己低, 加入后, 后面的点不能比自己高 于是我们想维护一个序列, x递减的基础上y递减 于是在此序列中找前驱后继, 序列可以拿 维护增减, 最后 $Tre
阅读全文
摘要:UVA12879 Golf Bot 给定n个数 ai 和 m个数 bi 问ai+aj=bk的组数 Solution 暴力很好想, 枚举ai FFT可以让我们在 的时间把多项式相乘 同底的数相乘,指数相加 所以我们把出现过的那一项的系数设为非零, 自己相乘
阅读全文
摘要:给定字符串最多可以写成几个相同的接在一起? Solution 有点暴力 先搞个hash, 然后暴力枚举len的因子, 那hash判断是否符合条件 Code #include<iostream> #include<cstdio> #include<queue> #include<cstring> #i
阅读全文
摘要:求字符串首位一样的所有长度 Solution 对字符串建立hash, 枚举长度get_hash比较即可 Code #include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorithm> #in
阅读全文