欢迎来到Soray88的博客

本人蒟蒻一枚。
摘要: 单调队列 概念 顾名思义,单调队列就是在队列的基础上,维护一个单调的序列。 性质 队列中的元素其对应在原来的序列中的顺序必须是单调递增的。 队列中元素的大小必须是单调递(增/减/自定义)。 先来一道模板题来感受一下单调队列的应用: 模板题:滑动窗口 题目 【题目描述】 有一个长为 n 的序列 a,以 阅读全文
posted @ 2020-08-08 17:57 Soray88 阅读(8214) 评论(1) 推荐(32) 编辑
摘要: T1 彩虹 题目 【题目描述】 Mr.Raju和他的一个大家庭外出度假,他们想要乘着彩虹欣赏周围的景色,但是这样最会有一些问题。 在他们家族中,如果一个人想要骑上彩虹,那么他喜欢的所有人和喜欢他的所有人都必须一同骑上彩虹。如果一个人没有喜欢的人,也没有人喜欢他,那么他也可以乘上彩虹。 你被请来解决这 阅读全文
posted @ 2019-10-06 18:08 Soray88 阅读(566) 评论(0) 推荐(1) 编辑
摘要: T1 方阵 题目 【题目描述】 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局。 他努力钻研,发现秦始皇布置兵马俑是有一定规律的。兵马俑阵总共有n行m列,秦始皇在布置的时候每次会指定一行或一列,然后指定一个兵种,使得这一行或者这一列上全部放上这一 阅读全文
posted @ 2019-10-05 20:52 Soray88 阅读(477) 评论(0) 推荐(0) 编辑
摘要: T1 一道数论神题 题目 【题目描述】 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成。并且这是一张带权图,只有点权。 LYK想把这个图删干净,它的方法是这样的。每次选择一个点,将它删掉,但删这个点是需要代价的。 假设与这个点相连的还没被删掉的点是u1,u2,…,uk。LYK将会增加 阅读全文
posted @ 2019-10-04 21:27 Soray88 阅读(374) 评论(0) 推荐(0) 编辑
摘要: T1 动态逆序对 题目 【题目描述】 给出一个长度为n的排列a(1~n这n个数在数列中各出现1次)。每次交换两个数,求逆序对数%2的结果。 逆序对:对于两个数a[i],a[j](i<j),若a[i]>a[j],则(a[i],a[j])为1个逆序对。 【输入格式】 第一行一个正整数n。 接下来一行n个 阅读全文
posted @ 2019-10-03 21:02 Soray88 阅读(515) 评论(0) 推荐(0) 编辑
摘要: T1 连珠风暴 题目 【题目描述】 给定M种颜色的珠子,每种颜色珠子的个数均不限,将这些珠子做成长度为N的项链。 问能做成多少种不重复的项链。两条项链相同,当且仅当两条项链通过旋转或是翻转后能重合在一起,且对应珠子的颜色相同。 【输入格式】 一行两个整数分别表示M,N。 【输出格式】 一行一个整数表 阅读全文
posted @ 2019-10-03 12:38 Soray88 阅读(392) 评论(0) 推荐(0) 编辑
摘要: T1 统计数字 题目 【题目描述】 设 S(N ) 表示 N 的各位数字之和,如 S(484) = 4+8+4 = 16, S(22) = 2+2 = 4。 如果一个正整数满足 S(x*x) = S(x) *S(x),我们称之为 Rabbit N umber。比方说,22 就是一个 Rabbit N 阅读全文
posted @ 2019-10-02 15:54 Soray88 阅读(561) 评论(0) 推荐(1) 编辑
摘要: 背包问题是动态规划最基础的基础,这里本蒟蒻讲解一下几类背包问题。 01背包 题目 有N件物品和一个容量为V的背包,每种物品只有一个,放入第i件物品的费用是Ci,价值是Wi。 求将若干个物品装入背包得到的最大价值。(总费用不能超过总容量V) 解析 最基本的背包,每种物品只有一个,可放可不放。 很容易可 阅读全文
posted @ 2019-08-29 14:19 Soray88 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 前言 动态规划是很重要的一个知识点,大大小小的比赛总会有一两道DP题,足以说明动态规划的重要性。 动态规划主要是思想,并没有固定的模板,那么,怎么判断题目是不是动态规划呢? DP题一般都会满足三个条件:子问题重叠、无后效性、最优子结构性质。 动态规划把原问题看作若干个重叠子问题,每个子问题的求解过程 阅读全文
posted @ 2019-08-29 09:28 Soray88 阅读(1085) 评论(0) 推荐(2) 编辑
摘要: 顾名思义,线性DP就是在一条线上进行DP,这里举一些典型的例子。 LIS问题(最长上升子序列问题) 题目 给定一个长度为N的序列A,求最长的数值单调递增的子序列的长度。 上升子序列B可表示为B={Ak1,Ak2,···,Akp},其中k1<k2<···<kp。 解析 状态:F[i]表示以A[i]为结 阅读全文
posted @ 2019-08-29 09:27 Soray88 阅读(1744) 评论(0) 推荐(4) 编辑