题目地址:https://leetcode-cn.com/problems/merge-k-sorted-lists/ 解题思路:简单的分治算法 /** * Definition for singly-linked list. * struct ListNode { * int val; * Lis ...
分类:
编程语言 时间:
2020-08-15 22:27:55
阅读次数:
64
一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅 ...
分类:
编程语言 时间:
2020-08-09 21:34:51
阅读次数:
86
第一章:基础算法 排序 快速排序 分治算法 确定分界点x(有三种方法,a、直接取左边界q[l],b、取中间值q[\((l +r)/ 2\)], c、随机) 调整区间,将区间划分为两段,左边所有的数都是小于等于x,右边所有的数大于等于x 递归处理左右两段 public void quickSort(i ...
分类:
编程语言 时间:
2020-08-07 00:26:11
阅读次数:
78
#include<bits/stdc++.h> using namespace std; const int maxn=200005; struct node{ int a; int b; int c; int cnt; int ans; }s1[maxn],s2[maxn]; int n,m,k, ...
分类:
其他好文 时间:
2020-08-03 09:51:54
阅读次数:
74
1、问题抛出某个词组在Elasitcsearch中的某个document中存在,就一定通过某种匹配方式把它搜出来。举例:title=公路局正在治理解放大道路面积水问题。输入关键词:道路,能否搜索到这个document呢?实际应用中可能需要:1)检索关键词”理解”、”解放”、”道路”、“理解放大”,都能搜出这篇文档。2)单个的字拆分“治”、“水”太多干扰,不要被检索出来。3)待检索的词不在词典中,也
分类:
其他好文 时间:
2020-08-03 09:44:26
阅读次数:
101
https://www.luogu.com.cn/problem/P4721 分治$FFT$ \[ f_{i}=\sum_{j=1}^{i-1} f_{i-j} g_j \] 等式左右两边均存在函数$f$,无法直接$NTT$ 考虑到对于每个$f_i$,都是有满足$i<j$的$j$转移而来,因此考虑分 ...
分类:
其他好文 时间:
2020-07-30 22:10:35
阅读次数:
73
多项式 一.常用卷积形式 ·$a_{i}=\sum_{j=0}^{i} b_{i-j}c_{j}$ 直接FFT/NTT ·$a_{i}=\sum_{j=1}^{i} a_{i}b_{i-j}$ 分治FFT ·$a_{i}=\sum_{j=0}^{C} b_{i+j}c_{j}$ 其中$C$为一个定值 ...
分类:
其他好文 时间:
2020-07-30 21:54:21
阅读次数:
87
LINK:Druzyny 这题研究了一下午 终于搞懂了. $n^2$的dp很容易得到. 考虑优化.又有大于的限制又有小于的限制这个非常难处理. 不过可以得到在限制人数上界的情况下能转移到的最远端点 且这个数组是单调的. 而下界是随意的. 这个可以利用单调队列做 也可以暴力线段树. 然后考虑怎么优化 ...
分类:
其他好文 时间:
2020-07-28 22:54:01
阅读次数:
115
题目链接 Solution CF813F Bipartite Checking 题目大意:给定一个有$n$个点,没有边的无向图。每次操作添加一条边,如果该边已存在则删去这条边。每次操作之后回答无向图是否为二分图 扩展域 & 可撤销并查集、线段树分治 分析:首先如果只有加入操作,我们可以通过扩展域并查 ...
分类:
其他好文 时间:
2020-07-28 22:44:02
阅读次数:
90
动态规划的核心是找到解题路径中的重复子问题,避免重复计算。 找出问题间的递归关系,用问题解决问题需要培养归纳的思维。 问题定义的好坏直接影响到可以定位出的重叠子问题的多少,可以找出的重叠子问题越多,问题定义越好。 下面是两种问题的定义,效率差距非常大。 解法1,超时: public final in ...
分类:
其他好文 时间:
2020-07-28 14:16:21
阅读次数:
73