返回顶部
摘要: 阅读全文
posted @ 2021-11-08 15:30 gyc#66ccff 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 我们需要选择5个数,对于每一个数,不选就为0,选就为1 那么对于5个数,我们就可以用5位的二进制数来表示当前的状态 这种将集合作为整数记录状态的一类算法叫做状态压缩DP 在状态压缩中,二位用二进制存储,所以有一些常用的操作: (1)空集φ:0 (2)只含有第i个元素的集合{i}:1<<i (3)含有 阅读全文
posted @ 2021-11-08 15:27 gyc#66ccff 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 可持久化数据结构可以存储数据结构的所有历史版本,并通过重用数据减少时间和空间消耗。即对每一次操作之后,仅仅对已修改部分创建副本,对其他部分重用,由此可以高效记录数据结构的所有历史结构状态 下面讲解可持久化线段树 1权值线段树 和线段树类似,只是存储的内容不同,即在在每一次操作后在每一个区间存储该区间 阅读全文
posted @ 2021-11-08 12:57 gyc#66ccff 阅读(41) 评论(0) 推荐(0) 编辑
摘要: T1 给定有n个数的数列,将其随机打乱,求得到升序的期望值,并对$10^9+7$取模 今天又看到了一个新的函数 if(is_sorted(a+1,a+n+1)) 题解: 总情况为$n!$,当序列中没有重复时得到升序序列的情况为1; 当有两个重复时,情况为2; 三个重复,则为6; . . . 那么就用 阅读全文
posted @ 2021-11-07 19:52 gyc#66ccff 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 题目 今天测试,直接挂完了 写了四个小时,最后发现自己题目理解错误了 有两个区间,在输入了 \(l\) 和 \(r\) 以后,进行查询 $$ min(max(a_1,a_2,...a_p,b_{p+1},...b_n) \[ 即在选定了 $l$ 和 $r$ 以后,选定一个$p$将$a$区间从$1$到 阅读全文
posted @ 2021-11-05 10:53 gyc#66ccff 阅读(153) 评论(3) 推荐(0) 编辑
摘要: 痛苦 题目 数 独 【问题描述】 给定一个9*9矩阵,对其进行几种操作,分别是插入,删除,合并,查询,输出 主要学到了一些特别的操作。 (1)备份( 本蒟蒻第一次了解到) (2)对与数据的一些特别的改动 (3)进行标记 这道题目,直接模拟就可以了,但要注意细节以及一些很妙的操作: 首先是字符组的存入 阅读全文
posted @ 2021-11-04 20:09 gyc#66ccff 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 一:基本操作: 线段树基于分治思想将区间及其最值进行存储,构成一颗二叉树,每个节点包含区间【L,R】 以及区间的最值,通过递归实现操作。 由于是二分,线段树是一颗平衡二叉树树高为O(logn) 1:存储 定义结构体: 1 #define N 100010 2 struct shu{ 3 int l, 阅读全文
posted @ 2021-11-03 10:14 gyc#66ccff 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 模板题:HDU2222 AC自动机将KMP算法与trie树(字典树)相互结合 其主要处理多模匹配(即给定n个单词,再加一篇文章母串,在母串中查找这些单词) 如果是KMP算法,就会让每个字串与母串进行匹配,时间复杂度太高,所以用AC自动机。 在AC自动机算法中,主要步骤为: 1:构建字典树; 2:对每 阅读全文
posted @ 2021-10-31 16:06 gyc#66ccff 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 字符匹配模式-KMP算法 j直接跳到了2的位置,因为在之前的都相同。 那么就需要求如果不等了之后,j需要回跳的位置next[j] 如果tk'与tj相等,则next [j+1]=k'+1 如果tk‘与tj不相等,则继续向前找,直到找到next[0]=-1为止 注意:t是从0下标开始 1 void ge 阅读全文
posted @ 2021-10-30 13:34 gyc#66ccff 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 大家可以在洛谷提交: 题目描述 为了简便计算,天文学家们使用儒略日(Julian day)来表达时间。所谓儒略日,其定义为从公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所经过的天数,不满一天者用小数表达。若利用这一天文学历法,则每一个时刻都将被均匀的映射到数轴上,从而得以很方便 阅读全文
posted @ 2021-10-22 15:58 gyc#66ccff 阅读(443) 评论(0) 推荐(0) 编辑