08 2021 档案

该文被密码保护。
posted @ 2021-08-23 16:54 xixike 阅读(1) 评论(0) 推荐(0)
摘要:Description P3952 [NOIP2017 提高组] 时间复杂度 Solution 膜你模拟 这题很久之前刚开始学 \(OI\) 的时候做过一次,当时着实被虐了好几个小时才做出来,还是看了题解的。 于是怀恨在心,总之现在来复盘一下,感觉还可以,多想想,细节也不算太多。 emm没什么好说的 阅读全文
posted @ 2021-08-22 21:59 xixike 阅读(226) 评论(0) 推荐(2)
摘要:Description P2042 [NOI2005] 维护数列 Solution 一道细节巨多的毒瘤题。 我用的 \(fhq-treap\) 通过的此题。 下面我们以此分析一下。 先说一下 \(fhq-treap\) 中需要存什么东西。 struct Treap{ int ch[2], siz, 阅读全文
posted @ 2021-08-22 18:41 xixike 阅读(80) 评论(0) 推荐(0)
摘要:Description P1879 [USACO06NOV]Corn Fields G Solution 状压$dp$ 基础题。 定义状态: \(f[i][j]\) 表示到第 \(i\) 行,且第 \(i\) 行种植状态为 \(j\) 的总方案数。 我们先把每一行的状态记录下来。 枚举每一行,由于当 阅读全文
posted @ 2021-08-20 21:23 xixike 阅读(135) 评论(0) 推荐(0)
摘要:Description P2453 [SDOI2006]最短距离 Solution 乍一看,感觉还是挺难的,其实没有那么难,就是一个很暴力的 \(dp\)(我也不知道为什么有状压的标签)。 先定义一下 \(dp\) 状态:设 \(dp[i][j]\) 表示目标串完成到第 \(i\) 个字符,源串删除 阅读全文
posted @ 2021-08-20 20:34 xixike 阅读(61) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-08-20 20:08 xixike 阅读(0) 评论(0) 推荐(0)
摘要:Description P2915 [USACO08NOV]Mixed Up Cows G Solution 状压$dp$ 首先设计状态:\(f[i][j]\) 表示以 \(i\) 结尾的状态为 \(j\) 且符合条件的排列共有多少种。 最终的 \(ans = {\sum_{i = 1} ^ {n} 阅读全文
posted @ 2021-08-19 19:41 xixike 阅读(64) 评论(0) 推荐(0)
摘要:Description P2473 [SCOI2008] 奖励关 Solution 状压$dp$ \(+\) 概率$dp$ 看数据范围 \(n \leq 15\),考虑状压。 我们把每一个宝物的前提宝物进行状态压缩。 设计 \(dp\) 状态: \(f[i][j]\) 表示进行到第 \(i\) 轮, 阅读全文
posted @ 2021-08-19 18:11 xixike 阅读(48) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-08-19 17:22 xixike 阅读(1) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2021-08-19 17:02 xixike 阅读(0) 评论(0) 推荐(0)
摘要:Description P3391 【模板】文艺平衡树 Solution 方法一(fhq-treap) 文艺平衡树实际上只有一个操作,区间翻转。 那么我们来看看如何实现。 大体上是一致的,但是分裂时要有所改变。 平常我们写的 \(fhq-treap\) 是以数值来分裂的,这里我们换个分裂方式。 以子 阅读全文
posted @ 2021-08-18 17:07 xixike 阅读(104) 评论(0) 推荐(0)
摘要:Description P4146 序列终结者 Solution fhq-treap 不得不说 \(fhq-treap\) 代码是真的短,真的好写。 挺板子的一道题。 **区间加:**打个 \(add\) 标记,不停下放即可,相应的 \(maxs\),\(val\),\(add\) 都要更新。 ** 阅读全文
posted @ 2021-08-18 16:52 xixike 阅读(60) 评论(0) 推荐(0)
摘要:Description P1486 [NOI2004] 郁闷的出纳员 Solution 无旋$treap$ (\(fhq-treap\)) 如果有不会 \(fhq-treap\) 的同学,可以看我的博客 浅谈 fhq-treap(无旋treap) 下面我们来看一看这道题。 发现 新建工资档案 和 查 阅读全文
posted @ 2021-08-17 17:40 xixike 阅读(59) 评论(0) 推荐(0)
摘要:Description P2596 [ZJOI2006]书架 Solution 这里介绍无旋treap (\(fhq-treap\)) 关于模板有不会的同学可以去看我的博客 浅谈 fhq-treap(无旋treap) 这里只介绍本题思想: 由于题目还是对排名进行的操作,所以我们要按照子树大小进行分裂 阅读全文
posted @ 2021-08-17 16:32 xixike 阅读(75) 评论(0) 推荐(0)
摘要:Description 传送门 Solution 无旋treap \(fhq-treap\) 关于 \(fhq-treap\) 不会的同学可以去看我的博客 浅谈 fhq-treap(无旋treap) 一道经典的按区间大小分裂的题。 这道题中,我们要稍微修改 \(split\) 函数。 以前我们写过的 阅读全文
posted @ 2021-08-17 10:28 xixike 阅读(64) 评论(0) 推荐(0)
摘要:Description 洛谷 P2073 送花 Solution 无旋$treap$ (\(fhq-treap\)) 这道题有点小变化。 对于 \(insert\) 操作,就按花的价格分裂。判断是否有当前要插入的花的价格,如果有就直接合并回去,如果没有,就把当前花插入进去。 对于删除操作,我们就删除 阅读全文
posted @ 2021-08-14 21:16 xixike 阅读(55) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-08-14 19:25 xixike 阅读(3) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-08-14 09:54 xixike 阅读(3) 评论(0) 推荐(0)
摘要:Description P2343 宝石管理系统 Solution 无旋treap \((fhq-treap)\) 洛谷模板题简化版。 不多说了。 有不会的话看我的博客吧。 浅谈 fhq-treap(无旋treap) 有一个小坑点,题目中求的是第 \(n\) 大的数是多少,所以查询时要查 \(tot 阅读全文
posted @ 2021-08-12 20:50 xixike 阅读(69) 评论(0) 推荐(0)
摘要:Description 传送门 Solution 无旋treap \((fhq-treap)\) 可能有些大材小用了,但是我毕竟是在练习,多写一遍总不是坏事。 基本上就是一个 \(fhq-treap\) 板子题。 不会的话,看这里 浅谈 fhq-treap(无旋treap) 我们把鬼子要摧毁的房子存 阅读全文
posted @ 2021-08-12 17:28 xixike 阅读(48) 评论(0) 推荐(0)
摘要:模板题:洛谷 P6136 【模板】普通平衡树(数据加强版) (emm刚写了这个,就放这个吧) \(fhq-treap\) 也叫做 无旋treap,由防火墙范浩强大佬发明。 个人认为是平衡树中码量最少,也最容易理解的一种写法。 主要思想 顾名思义,无旋意味着它没有旋转操作(终于没有恶心人的旋转了)。 阅读全文
posted @ 2021-08-12 14:09 xixike 阅读(563) 评论(0) 推荐(4)
摘要:Description 洛谷传送门 Solution 分层图最短路 模板题。 简单来说,就是将原图复制成 \(k + 1\) 份,从上面一层向下一层对应的节点(原图中向谁连边谁就是对应节点)连边,权值为 0(表示免费坐飞机)。 看图片理解吧,这是样例的解释图 那么我们这道题基本就完成了。 但还有一个 阅读全文
posted @ 2021-08-11 10:23 xixike 阅读(133) 评论(0) 推荐(0)
摘要:Description 原题链接 Solution 嗯,一道私题,一道大模拟,细节巨多,ztb学长建议我们做的,有助于提高码力。 nekko哥哥写了6.73k的代码。 我个人认为我码力非常的差QWQ,于是就写了。 调了一下午,总算是调出来了。 呼~好有成就感。 我也不打算写题解了(一道大模拟有什么好 阅读全文
posted @ 2021-08-10 18:56 xixike 阅读(65) 评论(1) 推荐(0)
摘要:SG函数 定义 首先我们定义 \(mex{}\) 运算,计算结果为除当前集合外的最小的非负整数(即包括0)。 例如 \(mex\){1, 2, 4} = 0,\(mex\){0, 1, 2} = 3。 SG函数就是这个运算的值。 假设在一个 \(DAG\) 上,\(SG[x] = mex{SG[y] 阅读全文
posted @ 2021-08-10 08:59 xixike 阅读(1132) 评论(0) 推荐(1)
摘要:Description vjudge(传送门) Solution SG函数: 首先我们定义 \(mex{}\) 运算,计算结果为除当前集合外的最小的非负整数(即包括0)。 例如 \(mex{1, 2, 4} = 0\),\(mex{0, 1, 2} = 3\)。 SG函数就是这个运算的值。 假设在一 阅读全文
posted @ 2021-08-09 21:26 xixike 阅读(41) 评论(0) 推荐(0)
摘要:Description 原题链接 Solution 今天集训讲了博弈论,于是在洛谷发现了这道题,但是并不知道为什么有博弈论的标签QWQ。 这明明是道 \(区间dp\) 好不好啊喂。 一道比较基础的区间 \(dp\)。 我们设 \(f[i][j]\) 表示取完 \(i\) ~ \(j\) 之间的物品, 阅读全文
posted @ 2021-08-09 20:05 xixike 阅读(68) 评论(0) 推荐(1)
摘要:Solution 原题链接 Solution 算法:多重背包 我们平时写的多重背包中,\(f[i][j]\) 表示到第 \(i\) 个物品,占用体积为 \(j\) 时,获得的最大价值。 但是这道题中要求删去物品,如果每次询问都跑一遍多重背包显然会 \(TLE\),我们考虑优化。 可以设 \(f[i] 阅读全文
posted @ 2021-08-09 10:56 xixike 阅读(57) 评论(0) 推荐(0)
摘要:洛谷 P1156 垃圾陷阱 原题链接 Solution 算法:背包 看似毫无关系,下面我们来分析一下。 把深度 \(D\) 看作背包容量,每个垃圾堆放高度 \(h\) 看作物体体积,增加生命长度 \(l\) 看作物体价值。 这不就是一个背包了嘛。 定义 \(f[i][j]\) 表示到第 \(i\) 阅读全文
posted @ 2021-08-08 21:47 xixike 阅读(90) 评论(0) 推荐(0)
摘要:Description Luogu传送门 Solution 算法:多重背包 但是裸的多重背包复杂度 \(O(n*m*p)\)(\(p\) 为物品个数),过不了此题,会 \(TLE\)。 我们考虑优化。 多重背包有两种优化方法,一种是二进制拆分优化,另一种是单调队列优化 这里只介绍一种:二进制拆分优化 阅读全文
posted @ 2021-08-08 19:51 xixike 阅读(81) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-08-08 13:43 xixike 阅读(3) 评论(0) 推荐(0)
摘要:洛谷 P3966 [TJOI2013]单词 原题链接 Solution AC自动机 洛谷 P5337 $AC$自动机(二次加强版)裸题 不多说了,看我博客吧,有详解 洛谷 P5357 【模板】AC自动机(二次加强版) 把模式串连起来,中间加特殊字符构成文本串,再打上方模板就好了 不知道上面的博客有没 阅读全文
posted @ 2021-08-07 11:26 xixike 阅读(53) 评论(0) 推荐(0)
摘要:洛谷 P5357 【模板】AC自动机(二次加强版) 原题链接 Solution 算法:\(AC自动机\) 顾名思义,这是一道 $AC$自动机题目。 乍一看,诶,这不跟 P3796 【模板】AC自动机(加强版) 差不多吗? (加强版)要求输出出现次数最多的模式串,那这个(二次加强版)直接把每个模式串出 阅读全文
posted @ 2021-08-07 11:02 xixike 阅读(264) 评论(0) 推荐(2)
摘要:Description 一本通传送门 Solution $AC$自动机 一道小清新 \(AC\) 自动机题目 我们对于所有的 \(t\) 建出 \(trie\) 图及 \(fail\) 指针,把母串 \(s\) 放到上面跑,假设 \(s\) 的前缀跳 \(fail\) 指针跳到节点 \(x\),根据 阅读全文
posted @ 2021-08-06 20:00 xixike 阅读(409) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution $AC$自动机 一道小清新 \(AC\) 自动机题目 我们对于所有的 \(t\) 建出 \(trie\) 图及 \(fail\) 指针,把母串 \(s\) 放到上面跑,假设 \(s\) 的前缀跳 \(fail\) 指针跳到节点 \(x\),根据 阅读全文
posted @ 2021-08-06 19:59 xixike 阅读(47) 评论(0) 推荐(0)
摘要:一本通 1475:L语言 原题链接 Solution AC自动机 这题一眼看上去就是道 \(AC\) 自动机题。 于是快速地把 \(AC\) 自动机板子打出来,并建好 \(trie\) 图。 接下来分析一下题目 我们用 \(vis[i]\) 标记一段文章长度为 \(i\) 的前缀是否可以被表示出来。 阅读全文
posted @ 2021-08-06 17:22 xixike 阅读(469) 评论(0) 推荐(0)
摘要:洛谷 P2292 [HNOI2004]L语言 原题链接 Solution AC自动机 这题一眼看上去就是道 \(AC\) 自动机题。 于是快速地把 \(AC\) 自动机板子打出来,并建好 \(trie\) 图。 接下来分析一下题目 我们用 \(vis[i]\) 标记一段文章长度为 \(i\) 的前缀 阅读全文
posted @ 2021-08-06 17:19 xixike 阅读(60) 评论(0) 推荐(0)
摘要:洛谷P2590 [ZJOI2008]树的统计 原题链接 Solution 树链剖分 算是一道板子题,如果不会树链剖分可以看我的博客 浅谈树链剖分 题目要求我们支持单点修改,查询链上最大值,查询链上和 那么我们线段树就要维护两个东西,一个维护区间和,另一个维护区间最大值 这道题没什么思维难度,也没什么 阅读全文
posted @ 2021-08-06 15:20 xixike 阅读(48) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 树链剖分 树链剖分板子题,比板子还板子 关于树链剖分我就不多说了,如果有的话可以看我的博客 浅谈树链剖分 回归正题,我们发现题目只要求单点加,子树加,以及查询一点到根节点路径和。 单点加不就是区间加把左右端点改成那个点吗? 子树加不就是板子吗?? 阅读全文
posted @ 2021-08-06 14:24 xixike 阅读(35) 评论(0) 推荐(0)
摘要:线段树合并 洛谷 P4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并 主要思想: 顾名思义,线段是合并就是将多棵线段树合并到一起,要求线段树维护的数据可以支持合并,例如最大值,区间和等。 我们在进行合并时要把两棵线段树上相同的结构点合并到一起,换句话说,就是两棵线段树当前要合并的点所表示 阅读全文
posted @ 2021-08-06 11:48 xixike 阅读(559) 评论(1) 推荐(4)
摘要:模板:洛谷 P3384 【模板】轻重链剖分/树链剖分 写在前面:强烈建议初学的同学如果不理解的话先把代码写一遍,抄一遍也行(像我一样),非常有助于理解 概念: 重儿子: 一个节点所有儿子中最大的儿子 轻儿子: 一个节点除重儿子之外的其他儿子 特别地,叶子节点既没有重儿子也没有轻儿子 重链: 重儿子连 阅读全文
posted @ 2021-08-05 22:01 xixike 阅读(60) 评论(0) 推荐(0)
摘要:原题链接 数位dp 一道小清新数位dp题。 乍一看,诶,这不就是个板子嘛。 但是写着写着就发现还是有蛮多细节的,下面我们来分析一下: 直接来看核心代码(即 \(dfs\) 部分) ll dfs(ll len, ll cha, ll flag, ll lim){ if(!len) return cha 阅读全文
posted @ 2021-08-05 21:24 xixike 阅读(45) 评论(0) 推荐(0)
摘要:洛谷 P4999 烦人的数学作业 原题链接 数位dp emmm其实就是个板子题,而且一点坑点都没有 直接看代码吧 别忘了开 \(long \ long\) #include <iostream> #include <cstdio> #include <cstring> #define ll long 阅读全文
posted @ 2021-08-05 20:36 xixike 阅读(68) 评论(0) 推荐(0)
摘要:洛谷 P4317 花神的数论题 原题链接 数位dp 这道题我个人认为还是有一定思维难度的 题目要求输出 \(ans = \prod\limits_{i=1}^nsum_i\),\(sum_i\) 为 \(i\) 在二进制下 \(1\) 的个数 那我们换个角度考虑, \(ans = \prod\lim 阅读全文
posted @ 2021-08-05 20:12 xixike 阅读(55) 评论(0) 推荐(0)
摘要:洛谷P2602 [ZJOI2010]数字计数 原题链接 数位dp 这也是一道比较基础的数位dp题。 有一点需要注意,需要加上前导0的判断,否则在统计0的个数时会多余统计很多数 直接看代码吧(有注释) 不会真的有人写数位dp不用深搜吧,不会吧,不会吧 #include <iostream> #incl 阅读全文
posted @ 2021-08-05 17:30 xixike 阅读(52) 评论(0) 推荐(0)
摘要:一本通1591:数字计数 原题链接 数位dp 这也是一道比较基础的数位dp题。 有一点需要注意,需要加上前导0的判断,否则在统计0的个数时会多余统计很多数 直接看代码吧(有注释) 不会真的有人写数位dp不用深搜吧,不会吧,不会吧 #include <iostream> #include <cstdi 阅读全文
posted @ 2021-08-05 17:27 xixike 阅读(192) 评论(0) 推荐(0)
摘要:一本通1589:不要 62 原题链接 写在前面:在校内oj一次模拟赛中有这道题,在洛谷上找了找,结果没有,没想到在一本通上找到了 数位dp 数位dp裸题 不多说了,直接上代码吧(有注释) 不会真的有人写数位dp不用深搜吧QWQ #include <bits/stdc++.h> using names 阅读全文
posted @ 2021-08-05 15:16 xixike 阅读(80) 评论(0) 推荐(0)
摘要:一本通1588:数字游戏 原题链接 数位dp 挺裸的一个板子,具体看代码吧(有注释) #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; int l, r 阅读全文
posted @ 2021-08-05 14:49 xixike 阅读(221) 评论(0) 推荐(0)
摘要:洛谷1587: 【例 3】Windy 数 数位dp裸题 这道题对于前导0加个特判就好 如果前面是前导0,那么搜索时把pre赋值成-2(当然<-2的数都可以) 注意:这样处理之后dp数组就不能定义为dp[pos][pre][flag][lim](不懂的话见代码注释)。 因为pre哪里可能会是负数,所以 阅读全文
posted @ 2021-08-05 11:44 xixike 阅读(57) 评论(0) 推荐(0)
摘要:一本通1587: 【例 3】Windy 数 原题链接 数位dp裸题 这道题对于前导0加个特判就好 如果前面是前导0,那么搜索时把pre赋值成-2(当然<-2的数都可以) 注意:这样处理之后dp数组就不能定义为dp[pos][pre][flag][lim](不懂的话见代码注释)。 因为pre哪里可能会 阅读全文
posted @ 2021-08-05 11:38 xixike 阅读(117) 评论(0) 推荐(0)
摘要:Description 一本通传送门 Solution 数位dp裸题。 前缀和思想,\(ans_{a,b}\) 即为 \(ans_{1,b} - ans_{1,a-1}\)。 讲解都在代码里。 \(dp\) 过程用 \(dfs\) 来实现。 Code #include <iostream> #inc 阅读全文
posted @ 2021-08-05 11:02 xixike 阅读(251) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-08-05 09:44 xixike 阅读(9) 评论(1) 推荐(0)