摘要: 提到最长子序列问题,想必大家都不陌生,今天我主要想分享一下我对子序列问题的一些理解: 先拿最长上升子序列问题来说吧:很明显这是一个动态规化问题,仔细想想也不难得出其状态转移方程 就是每更新到i时,就用dp[1~i-1]更新dp[i]的值,当j<i且a[j]<a[i]时,dp[i]=max(dp[i] 阅读全文
posted @ 2021-05-15 17:58 AC--Dream 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 提到哈希,相信很多同学都不陌生,hash(散列、杂凑)函数,是将任意长度的数据映射到有限长度的域上。在算法竞赛中被广泛应用。 那hash函数是如何实现将任意长度的数据映射到有限长度的域上的呢?通常是对一个数取模,当然有时会出现冲突,处理冲突的方法一般有两种:一种是拉链法另一种是开放寻址法,下面我将会 阅读全文
posted @ 2021-05-15 11:06 AC--Dream 阅读(62) 评论(0) 推荐(0) 编辑
摘要: KMP算法是一种不太容易理解的算法,也可能只是对于我这种蒟蒻来说(┭┮﹏┭┮) 我想分享一下我对KMP算法的理解,里面会着重介绍我的学习过程中遇到的一些卡壳点 什么是KMP算法呢? 通俗地讲,就是关于字符串匹配问题 例如给你一个字符串“ab”,又给了你另一个字符串“abcbabab”,然后让你在第二 阅读全文
posted @ 2021-05-08 17:30 AC--Dream 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 今天我想跟大家分享的是一个博弈论游戏,我觉得这种类型的题目第一次遇到还是很有思维含量的,里面着重介绍了一些难懂的点,不说废话了,直接引入正题啦 Nim游戏 给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问如 阅读全文
posted @ 2021-05-06 20:59 AC--Dream 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 对于组合数问题,有时我们需要根据题目所给的数据范围来决定是否要预处理出来,下面给出几道例子及其分析 给定 n 组询问,每组询问给定两个整数 a,b请你输出 C(a,b)mod(10^9+7) 的值。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一组 a 和 b。 输出格式 共 n 行,每 阅读全文
posted @ 2021-05-06 11:47 AC--Dream 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 定理及其推导由于符号书写不方便,我就写在纸上了(累死) 给定 n 组询问,每组询问给定三个整数 a,b,p,其中 p 是质数,请你输出 C(a,b)modp 的值。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一组 a,b,p。 输出格式 共 n 行,每行输出一个询问的解。 数据范围 1 阅读全文
posted @ 2021-05-05 21:40 AC--Dream 阅读(63) 评论(0) 推荐(1) 编辑
摘要: 有一些问题的数值个数不多,但跨度却很大。举个例子,我们若要统计100个人的身高,记录每个身高的人数(精确到num),我们总不能开一个10^10级别的数组来存吧,这样做显然是不现实的,毕竟待统计的人数不是那么多,只是跨度较大而已,这个时候我们就要用到离散化了,下面给出一个具体的例子: 假定有一个无限长 阅读全文
posted @ 2021-05-04 22:37 AC--Dream 阅读(97) 评论(0) 推荐(1) 编辑
摘要: 链表通常通过结构体指针或者数组来实现,但当元素较多时,结构体指针生成链表的速度就会显得很慢,所以我今天主要想谈一下我对数组模拟链表的一些新得 先来实现单链表 实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数; 删除第 k个插入的数后面的数; 在第 k 个插入的数后插入一个数。 现在要 阅读全文
posted @ 2021-05-04 22:28 AC--Dream 阅读(90) 评论(0) 推荐(1) 编辑
摘要: 先来介绍一下欧几里得的应用 可用于求两个数的最大公约数 核心等式gcd(a,b)=gcd(b%a,a) 前提是a不等于0 证明: 证明两个正数大小相等可以转换为证明这两个整数可以相互整除 先设d=gcd(a,b) 现在证明d | gcd(b%a,a) b%a=b-[b/a]*a,由于b%a是a与b的 阅读全文
posted @ 2021-05-04 22:07 AC--Dream 阅读(310) 评论(0) 推荐(1) 编辑
摘要: 一维前缀和 输入一个长度为 nn 的整数序列。 接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。 对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。 输入格式 第一行包含两个整数 nn 和 mm。 第二行包含 nn 个整数,表示整数数列。 接下来 mm 行,每行包含两个整数 阅读全文
posted @ 2021-05-03 08:49 AC--Dream 阅读(67) 评论(0) 推荐(1) 编辑