摘要:
引言 动态规划与分治方法类似,都是通过组合子问题的解来求解原问题.需要注意的是,动态规划(dynamic programming)这里的 并不是指编写计算机程序,而是指一种表格法. 分治方法 将问题划分为 互不相交 的子问题,递归地求解子问题,再将它们的解组合起来,求出原问题的解. 动态规划也是通过 阅读全文
摘要:
引言 训练赛遇到一个小学生的题,然后完全没思路.赛后才发现就是简单的邻项交换. 初学的时候一直对一种题很迷茫,就是排序一下就可以做的贪心,感觉这个简直就是瞎搞. 其实也是可以简单证明的. 题目:得分 + 题目描述 现在zql手上有 N 道题,他总共有 T 的时间来完成他们中的一些或全部。每道题有一个 阅读全文
摘要:
引言 KMP算法应该是看了一次又一次,比赛的时候字符串不是我负责,所以学到的东西又还给网上的博客了…… 退役后再翻开看,看到模板,心想这不是$O(n^2)$的复杂度吗? 有两个循环也不能看做是$O(n^2)$的,这要用到摊还分析. [摊还分析]:https://www.cnblogs.com/sm 阅读全文
摘要:
引言 一个哈希表多大合适? 数据量为$n$,如果哈希表无限大( =$n$),那么时间复杂度是$O(1)$的,不过很显然,虽然节省了时间,但是浪费了空间. 实际上在我们不知道数据量的情况下,我们无法确定哈希表的大小,这时我们有个很美丽的数据结构 动态表 动态表的工作原理 + 建立一个表,初始化大 阅读全文
摘要:
Cmd Markdown 公式指导手册 标签: Tutorial 2018 03 20 补档: 收到很多小伙伴对本文的源文档转载需求,故传了一份 md 文件,请按需 "下载" 。 本文固定链接: https://www.zybuluo.com/codeep/note/163962 点击跳转至 "Cm 阅读全文
摘要:
题目描述 一个长度为$N$的母串,有四个元素分别是:N,S,W,N. 有M个长度为100的模式串. 现在要求每个模式串的前缀与母串匹配最长长度. 输入样例 7 3 SNNSSNS NNSS NNN WSEE 输出样例 4 2 0 题解 这是 "AC自动机" 的模板题 关键是判断模式串的前缀是否被匹配 阅读全文
摘要:
[TOC] 本文基本上是oiwiki的复制粘贴:https://oi wiki.org/string/ac automaton/ 可能加上了自己感性理解 概述 AC 自动机是 以 TRIE 的结构为基础 ,结合 KMP 的思想 建立的 建立AC自动机有两个步骤: + TRIE:将所有的模式串构成一颗 阅读全文
摘要:
假设把所有香肠接在一起想象成一根大香肠 总长度为 $A$ 那不难想到,需要切$m 1$刀,则每隔$\frac{A}{m}$要切一刀,设$y=\frac{A}{m}$ 设原来一根香肠长度为$x$,$x=\frac{A}{n}$,$x$的倍数不用切,不能算在答案里 所以现在问题变成$m 1$减去 $x$ 阅读全文
摘要:
二分 二分法 常用来查找 单调序列 或 单调函数 上的答案. 当问题的答案具有 单调性 时,可以考虑通过二分求解. 先思考一个简单问题 A心里想一个1 1000之间的数,B来猜,B可以问问题,A只能回答是或者不是,怎么猜才能问的问题次数最小? 是1吗?是2吗?……平均要问500次 大于500吗?大于 阅读全文