正题 题目链接:https://www.luogu.com.cn/problem/P4357 题目大意 平面上给出$n$个点,求第$k$远的点对距离。 解题思路 $\text$的模板题,但是这里只有二维,大概是每次根据一个维度把$n$个点分成两半像线段树一样丢到下面继续分治的思想来构建一棵树。 那么 ...
分类:
其他好文 时间:
2021-01-15 12:02:14
阅读次数:
0
P3769 [CH弱省胡策R2]TATT cdq分治只会板子就来自己yy cdq套cdq的题(虽然也是板子)。被kdt吊打了2倍常数。不过没有确定出题人是否卡满了kdt,等会我去卡卡。 能自己yy出做法非常高兴,然后因为一个sb错误调了2h 首先按照第一维排序。然后仿照最长上升子序列定义状态:\(d ...
分类:
其他好文 时间:
2021-01-07 12:33:44
阅读次数:
0
CF553E Kyoya and Train 分治$FFT$ 先考虑$dp$转移,由于从起点出发无法判断一条边的走向,我们考虑从终点转移到起点。 设$dp_{u,t}$表示在$t$时刻到达点$u$的最小花费(这里的花费指到达终点的花费,我们所求的答案即为$dp_{1,0}$)。 枚举出边$i(u \ ...
分类:
其他好文 时间:
2021-01-04 10:48:09
阅读次数:
0
CF553E Kyoya and Train 还是那句话,我觉得分治FFT是有实现难度的 初学,dalao别D 看完题第一反应应该是设 \(dp(i,j)\) 表示时刻 \(j\) 到达点 \(i\) 的最小代价。 发现完全不会处理边界,想了一会就舍掉了。 设 \(dp(i,j)\) 表示时刻 \( ...
分类:
其他好文 时间:
2021-01-04 10:32:05
阅读次数:
0
归并排序 利用递归实现分治。每次排序时间复杂度是O(N),一共需要 LogN 次。 #include <stdlib.h> #include <time.h> #define size 100 static int n[size]; static int t[size]; void msort(in ...
分类:
编程语言 时间:
2020-12-31 12:14:15
阅读次数:
0
如果说造成线程不安全的情况是来源有时序性(代码优化),可见性(缓存一致性),原子性(线程切换)。 那么最简单的优化方式就是禁用缓存和编译优化。这样可以直接解决问题,就是代码的性能会相对的下降。合理的方案应该是按需禁用缓存以及编译优化。 这样的话就可以分治不同的代码,有并发的代码进行调整,没有并发的代 ...
分类:
编程语言 时间:
2020-12-30 11:16:29
阅读次数:
0
已经完成的: 多项式乘法 多项式乘法逆 多项式$\ln$ 多项式$\exp$ 多项式开根($a_0$为二次剩余) 多项式快速幂($a_0$可以不为1) 多项式三角函数(\(\sin,\cos\)) 多项式除法、取模 分治$FFT$ 还未完成的 任意模数$NTT$(\(MTT\)) 多项式多点求值 多 ...
分类:
其他好文 时间:
2020-12-28 11:13:59
阅读次数:
0
I.PreFace 这个方法经常用于这类问题: 给定序列 \(A\),并定义基于序列 \(A\) 的函数 \(f(l, r)\),求 \(\sum\limits_{1 \leq i \leq j \leq n}f(l, r)\)。 这个方法的核心做用是: 将不满足可减性的求值,变成只需要可以区间拼合 ...
分类:
其他好文 时间:
2020-12-25 12:23:19
阅读次数:
0
考虑一个分治的做法:按行分治,将所有区间分为两类——经过分割线的、在左/右区间内部,后者显然可以递归下取,考虑前者 先求出出该行上每一列向上和向下的最大长度,记作$up_{i}$和$down_{i}$,然后枚举左端点$l$,找到最小的右端点$r$满足$r-l+1\le min_{i=l}^{r}up ...
分类:
其他好文 时间:
2020-12-17 12:32:27
阅读次数:
2
常用排序方法总结 1、插入排序 1.1直接插入排序 算法思想 插入排序的基本方法是:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。即每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 代码 public static v ...
分类:
编程语言 时间:
2020-12-16 11:56:02
阅读次数:
3