摘要: 你谷数据够强了,以前的A 应该差不多死掉了。 所以,小伙伴们快来一起把YL顶上去把! "戳这里!" "俞鼎力的课件" 需要掌握的内容: Dijkstra构建最短路径树。 可持久化堆(使用左偏树,因其有二叉树结构且能动态合并。构建方法类似可持久化线段树)。 cpp include define RG 阅读全文
posted @ 2018-10-04 22:38 Flash_Hu 阅读(825) 评论(0) 推荐(0) 编辑
摘要: "洛谷题目传送门" 顺便提一下题意有一个地方不太清楚,就是如果输出 还要输出最少需要添加多少张牌才能满足要求。蒟蒻考完以后发现四个点 。。。 比较需要技巧的搜索 既然是同一个花色要连续,那就枚举每一个花色在哪一段区间连续并选中四个区间,累计每个点数的选中次数。 最后来一个$O(13)$的$\text 阅读全文
posted @ 2018-10-03 19:52 Flash_Hu 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 蒟蒻哪里有什么总结,只能 "点击%YL%" 还有这位 "ZigZagK大佬的blog" $\mbox{BSGS}$ 模板题: "洛谷P3846 [TJOI2007]可爱的质数" 给定$a,b$和模数$\mbox{YL}$,求$a^x\equiv b(\bmod\mbox{YL})$中$x$的最小非负 阅读全文
posted @ 2018-10-02 19:08 Flash_Hu 阅读(594) 评论(11) 推荐(0) 编辑
摘要: "洛谷题目传送门" 只是一个经过了蛇皮压行的模板。。。 总结? "%%%yyb%%%" cpp include define LL long long define RG register define R RG int define G if(++ip==ie)fread(ip=buf,1,S,s 阅读全文
posted @ 2018-09-30 17:53 Flash_Hu 阅读(404) 评论(2) 推荐(0) 编辑
摘要: "洛谷题目传送门" 神仙思维题。 对于两个字符串的匹配问题,似乎之前蒟蒻写的 "HAOI2010最长公共子序列题解" 中提到的建网格图模型是一种套路? 给一个稍微强一点的样例(把字母换成了ABC) 它所对应的网格图如下(横轴代表$s$,纵轴代表$t$,显示的点表示可达状态) 我们首先可以大致确定,所 阅读全文
posted @ 2018-09-28 15:35 Flash_Hu 阅读(543) 评论(0) 推荐(2) 编辑
摘要: "洛谷题目传送门" 这题推式子恶心。。。。。 考虑分治,每次统计跨过$mid$的所有区间的答案和。$i$从$mid 1$到$l$枚举,统计以$i$为左端点的所有区间。 我们先维护好$[i,mid]$区间内最小值$mn$和最大值$mx$。我们可以想到,对于某一个左端点,它的右端点$j$在一定的范围内, 阅读全文
posted @ 2018-09-27 19:11 Flash_Hu 阅读(650) 评论(0) 推荐(1) 编辑
摘要: 分数规划是这样一个东西: 给定若干元素,每个元素有两个属性值$a_i,b_i$,在满足题目要求的某些限制下选择若干元素并求出$\frac{\sum a}{\sum b}$的最大值。 如果没有限制的话,肯定是贪心的选。 假设当前选择了一个解$x_0$,却并不是$\frac{\sum a}{\sum b 阅读全文
posted @ 2018-09-26 15:37 Flash_Hu 阅读(366) 评论(0) 推荐(0) 编辑
摘要: "洛谷题目传送门" 费了几个小时杠掉此题,如果不是那水水的数据的话,跟列队的难度真的是有得一比。。。 话说蒟蒻仔细翻了所有的题解,发现巨佬写的都是倍增,复杂度是$O(n\log n\log nw)$的,貌似还不够优秀。 其实我们与其对于每一个点都通过倍增向上找到对应位置,还不如直接从上到下dfs一遍 阅读全文
posted @ 2018-09-25 23:01 Flash_Hu 阅读(424) 评论(0) 推荐(0) 编辑
摘要: "洛谷题目传送门" 闲话 考场上一眼看出这是个毒瘤线段树准备杠题,发现实在太难调了,被各路神犇虐哭qwq 考后看到各种优雅的暴力AC。。。。。。宝宝心里苦qwq 思路分析 题面里面是一堆乱七八糟的限制和性质,这时候需要冷静想想有没有可利用的地方。蒟蒻一开始往势能线段树上面想了想。 定义一个全局势能函 阅读全文
posted @ 2018-09-24 23:00 Flash_Hu 阅读(1215) 评论(1) 推荐(1) 编辑
摘要: "BZOJ题目传送门" 终于体会到初步掌握势能分析思想的重要性了。 一开始看题,感觉套路还是很一般啊qwq。~~直接在线段树上维护最大值和最小值,每次递归更新的时候,如果不能完全覆盖就暴力递归下去。挺好写的欸~~ 鉴于上次写 "冒险" 常数太大的经历,蒟蒻这次来个码风奇特的指针线段树 cpp inc 阅读全文
posted @ 2018-09-23 14:22 Flash_Hu 阅读(940) 评论(2) 推荐(1) 编辑
摘要: "BZOJ题目传送门" 表示蒟蒻并不能一眼看出来这是个势能线段树。 不过仔细想想也并非难以理解,感性理解一下,在一个区间里又与又或,那么本来不相同的位也会渐渐相同,线段树每个叶子节点最多修改$\log a$次($a$为值域)。 那么,我们做区间修改的时候,进行判断:如果这一次修改对区间里所有数的影响 阅读全文
posted @ 2018-09-21 15:01 Flash_Hu 阅读(735) 评论(1) 推荐(0) 编辑
摘要: "洛谷题目传送门" Dalao的题解多数是什么模拟退火、DFS剪枝、$O(3^nn^2)$的状压DP之类。蒟蒻尝试着把状压改进了一下使复杂度降到$O(3^nn)$。 考虑到每条边的贡献跟它所在的层有关,所以如果我们能够将一层的边一起加进去,计算就会方便许多。于是想办法把这个转移过程状压一下。 设$f 阅读全文
posted @ 2018-09-19 11:50 Flash_Hu 阅读(450) 评论(2) 推荐(0) 编辑
摘要: 闲话 有这样一个问题——一个长度为$n$的序列$a_1 a_n$,$q$个询问,每次询问$l,r$,选出$\{a_l,a_{l+1}...a_{r}\}$中一个子集使得子集内元素异或和最大/小。 第一次出现在HNOI模拟赛,当时的$n,q$只有大概$3 10^4$还是$10^5$的样子。然后毫不犹豫 阅读全文
posted @ 2018-09-18 17:10 Flash_Hu 阅读(1977) 评论(1) 推荐(0) 编辑
摘要: "stO ppl Orz" 蒟蒻写了个模板,通过了对拍检验。 该模板资磁ppl的博客中提到的所有操作,除了getmin和getmax的意义不同。 蒟蒻的getmin和getmax是求线性基内能与x异或出的最小/大值。那么ppl的getmax等价于这里的getmax(0)。 可兼容bitset(不能使 阅读全文
posted @ 2018-09-16 16:21 Flash_Hu 阅读(905) 评论(5) 推荐(0) 编辑
摘要: 线段树分裂 以某个键值为中点将线段树分裂成左右两部分,应该类似Treap的分裂吧(我菜不会Treap)。一般应用于区间排序。 方法很简单,就是把分裂之后的两棵树的重复的$\log$个节点新建出来,单次时间复杂度严格$O(\log n)$。 至于又有合并又有分裂的复杂度,蒟蒻一直不会比较有说服力的证明 阅读全文
posted @ 2018-09-15 15:54 Flash_Hu 阅读(4413) 评论(17) 推荐(16) 编辑
摘要: 貌似没什么用。。。没有多少毒瘤题要输出分数吧。。。 update:真的有,而且在NOIP模拟赛里出现了!写double的卡精度到怀疑人生! 可以套个兼容性比较好的高精度模板进来。 #include<bits/stdc++.h> using namespace std; namespace Flash 阅读全文
posted @ 2018-09-13 18:07 Flash_Hu 阅读(843) 评论(2) 推荐(0) 编辑
摘要: "洛谷题目传送门" 一进来就看到一个多月前秒了此题的ysn和YCB%%% 最长公共子序列的$O(n^2)$的求解,Dalao们想必都很熟悉了吧!不过蒟蒻突然发现,用网格图貌似可以很轻松地理解这个东东? 设字符串长度为$n,m$,那么想象我们有一个$n+1$行$m+1$列的网格图,只能从左下角往右、上 阅读全文
posted @ 2018-09-01 23:35 Flash_Hu 阅读(804) 评论(1) 推荐(0) 编辑
摘要: 导数与积分 "%%YCB%%" 排列与组合 加法法则与乘法法则 基础思想:分类计数使用加法,分步计数使用乘法 Cayley定理 $n$个有标号顶点的树的个数为$n^{n 2}$ 证明:定义一个消去序列,序列与树一一对应(略)。 排列与组合 $n$元$r$排列:$\frac{n!}{(n r)!}$ 阅读全文
posted @ 2018-08-31 21:38 Flash_Hu 阅读(1709) 评论(1) 推荐(3) 编辑
摘要: "洛谷题目传送门" 一开始肯定要把题目要求的式子给写出来 我们知道方差的公式$s^2=\frac{\sum\limits_{i=1}^{m}(x_i \overline x)^2}{m}$ 题目要乘$m^2$再输出,于是 $m^2s^2=m\sum\limits_{i=1}^{m}(x_i \ove 阅读全文
posted @ 2018-08-27 22:58 Flash_Hu 阅读(677) 评论(0) 推荐(0) 编辑
摘要: "洛谷题目传送门" 给一个比较有逼格的名词——WQS二分/带权二分/DP凸优化(当然这题不是DP)。 用来解决一种特定类型的问题: 有$n$个物品,选择每一个都会有相应的权值,需要求出强制选$need$个物品时的最大/最小权值和。 一般来说,我们求不限制个数的最大/最小权值和很容易,但在限制个数的前 阅读全文
posted @ 2018-08-25 22:27 Flash_Hu 阅读(445) 评论(0) 推荐(0) 编辑
摘要: "洛谷题目传送门" 闲话 看完 "洛谷larryzhong巨佬的题解" ,蒟蒻一脸懵逼 如果哪年NOI(~~放心我这样的蒟蒻是去不了的~~)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆$0$?! 还是要想点办法,不失一般性也能快捷地判定决策单调。 对于判定决策单调的分析 再补一句决策单 阅读全文
posted @ 2018-08-22 23:21 Flash_Hu 阅读(1188) 评论(2) 推荐(1) 编辑
摘要: "洛谷题目传送门" 安利蒟蒻 "斜率优化总结" 由于人是每次都是连续一段一段地选,所以考虑直接对$x$记前缀和,设现在的$x_i=$原来的$\sum\limits_{j=1}^ix_i$。 设$f_i$为安排前$i$个人的最大值$(f_0=0)$ $f_i=\max\limits_{j=0}^{i 阅读全文
posted @ 2018-08-21 14:37 Flash_Hu 阅读(258) 评论(0) 推荐(0) 编辑
摘要: "洛谷题目传送门" 用两种不一样的思路立体地理解斜率优化,你值得拥有。 题意分析 既然所有的土地都要买,那么我们可以考虑到,如果一块土地的宽和高(其实是蒟蒻把长方形立在了平面上)都比另一块要小,那么肯定是直接并购,这一块对答案没有任何贡献。 我们先把这些给去掉,具体做法可以是,按高为第一关键字,宽为 阅读全文
posted @ 2018-08-19 22:35 Flash_Hu 阅读(679) 评论(2) 推荐(3) 编辑
摘要: 为了优化体验(其实是强迫症),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换。 LCT总结——概念篇戳这里 题单 灰常感谢XZY巨佬提供的强力资磁!(可参考XZY巨佬的博客总结) 题单对于系统地学习一个知识点还是有好处的。 所以蒟蒻搜集了各处的LCT题目(其实作为近年新兴的知识点,现有的好 阅读全文
posted @ 2018-08-18 20:21 Flash_Hu 阅读(20168) 评论(12) 推荐(47) 编辑
摘要: "洛谷题目传送门" 貌似做所有的DP题都要先搞出暴力式子,再往正解上靠。。。 设$f_{i,j}$为前$i$个数分$j$段的最小花费,$w_{l,r}$为$[l,r]$全在一段的费用。 $$f_{i,j}=\min\limits_{k=1}^{i}\{f_{k,j 1}+w_{k,i}\}$$ 显然 阅读全文
posted @ 2018-08-17 23:11 Flash_Hu 阅读(2289) 评论(0) 推荐(3) 编辑
摘要: "洛谷题目传送门" 疯狂%%%几个月前就秒了此题的Tyher巨佬 借着这题总结一下决策单调性优化DP吧。蒟蒻觉得用数形结合的思想能够轻松地理解它。 首先,题目要我们求所有的$p_i$,那么把式子变一下 $$p_i\ge a_j a_i+\sqrt{|i j|}$$ $$p_i=\max\limits 阅读全文
posted @ 2018-08-16 16:36 Flash_Hu 阅读(2180) 评论(0) 推荐(8) 编辑
摘要: 前缀和优化 当DP过程中需要反复从一个求和式转移的话,可以先把它预处理一下。运算一般都要满足可减性。 比较naive就不展开了。 题目 【Todo】 "洛谷P2513 [HAOI2009]逆序对数列" 【Done】 "洛谷P2511 [HAOI2008]木棍分割" 【Done】 "洛谷P4099 [ 阅读全文
posted @ 2018-08-15 12:10 Flash_Hu 阅读(21510) 评论(43) 推荐(67) 编辑
摘要: "洛谷题目传送门" 你谷无题解于是来补一发 随便百度题解,发现了不少诸如树剖$log^3$LCT$log^2$的可怕描述。。。。。。 于是来想想怎么利用题目的性质,把复杂度降下来。 首先,每个点的输出状态只有$0/1$,于是每个点的总状态也非常有限,可以根据权值为$1$的儿子数量$0 3$分为四种, 阅读全文
posted @ 2018-08-14 22:39 Flash_Hu 阅读(1022) 评论(9) 推荐(4) 编辑
摘要: "洛谷题目传送门" DP题怕是都要大大的脑洞。。。。。。 首先,时间那么大没用,直接离散化。 第一问还好。根据题意容易发现,当一堆活动的时间有大量重叠的时候,更好的办法是把它们全部安排到一边去。那么我们转移的时候也肯定是要一块一块地转移啦。 设$tot_{l,r}$为完全被包含在$l r$时间内活动 阅读全文
posted @ 2018-08-13 17:44 Flash_Hu 阅读(609) 评论(0) 推荐(1) 编辑
摘要: "洛谷题目传送门" 仍然是一个板子。 不过蒟蒻去学了一下BIT维护区间修改区间求和,常数果真十分优秀 设数列为$a_i$,差分数组$d_ i=a_ i a_ {i 1}$,前缀和$s_i=\sum\limits_ {j=1}^ia_ j$ 显然有$a_ i=\sum\limits_ {j=1}^id 阅读全文
posted @ 2018-08-12 17:52 Flash_Hu 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 闲话 一个计数问题入门级选手来搞这种东西 最初的动力来自高一化学课有机物(滑稽)。《同步导练》出了个这样的选择题。 一个结构极其庞大的烷烃(二十几个碳原子),求它的主链长度。 这不是个求树的直径的裸题么?!OI选手扫两眼就出来了,然而别的同学费劲心思找完了还是错的。 于是第一次在常规课中体验到作为O 阅读全文
posted @ 2018-08-10 22:31 Flash_Hu 阅读(2556) 评论(0) 推荐(0) 编辑
摘要: 为了学习单调队列优化DP奔向了此题。。。 基础的多重背包就不展开了。设$f_{i,j}$为选前$i$个物品,重量不超过$j$的最大价值,$w$为重量,$v$为价值(蒟蒻有强迫症,特别不喜欢把$v$和$w$反着搞,$weight$和$value$嘛!),直接给转移方程 $$f_{i,j}=\max\{ 阅读全文
posted @ 2018-08-08 19:48 Flash_Hu 阅读(478) 评论(4) 推荐(1) 编辑
摘要: 闲话 stO猫锟学长,满脑子神仙DS 网上有不少Dalao把线段树分治也归入CDQ分治? 还是听听YCB巨佬的介绍: 看来可以理解为广义下的。 不过叫它线段树分治挺形象的啊! 线段树分治思想 我们在做CDQ的时候,将询问和操作通通视为元素,在归并过程中统计左边的操作对右边的询问的贡献。 而在线段树分 阅读全文
posted @ 2018-08-01 22:05 Flash_Hu 阅读(2273) 评论(5) 推荐(2) 编辑
摘要: "洛谷题目传送门" 闲话 偶然翻到一道没有题解的~~淀粉质~~,想证明一下自己是真的弱 然而ZSYC(字符串组合)早就切了 然后证明成功了,WA到怀疑人生,只好借着ZSY的代码拍,拍了几万组就出来了。。。 思路 是人都能想到的:路径统计,点分治跑不了了。 然而这个统计有些麻烦。。。 首先别看错题,是 阅读全文
posted @ 2018-07-30 17:45 Flash_Hu 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 闲话 CDQ是什么? 是一个巨佬,和莫队、HJT(不是我这个蒟蒻)一样,都发明出了在OI中越来越流行的算法/数据结构。 CDQ分治思想 分治就是分治,“分而治之”的思想。 那为什么会有CDQ分治这样的称呼呢? 这一类分治有一个重要的思想——用一个子问题来计算对另一个子问题的贡献。 有了这种思想,就可 阅读全文
posted @ 2018-07-28 10:31 Flash_Hu 阅读(17003) 评论(11) 推荐(40) 编辑
摘要: "洛谷题目传送门" 动态点分治小白,光是因为思路不清晰就耗费了不知道多少时间去gang这题,所以还是来理理思路吧。 一个树$T$里面$\sum\limits_{v\in T} D_vdist(u,v)$取到最小值的$u$我们可以称作带权重心。类似重心各种性质的证明过程,我们不难证出这样的点顶多只有两 阅读全文
posted @ 2018-07-25 22:10 Flash_Hu 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 放一个模板在这里搞事情。。。。。。 学KMP的话找SYCstudio吧( "博客链接" ) 代码(多组数据,$O(n)$求一个串是否在另一个串里出现过) 阅读全文
posted @ 2018-07-24 19:52 Flash_Hu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 推荐 "YCB的总结" 推荐你谷ysn等巨佬的 "详细题解" 大致流程—— 1. dfs求出当前树的重心 2. 对当前树内经过重心的路径统计答案(一条路径由两条由重心到其它点的子路径合并而成) 3. 容斥减去不合法情况(两条子路径在重心的子树内就已经相交) 4. 删除重心(打上永久标记),对子树继续 阅读全文
posted @ 2018-07-22 21:29 Flash_Hu 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 前言 我们熟知的中国剩余定理,在使用条件上其实是很苛刻的,要求模线性方程组$x\equiv c(\mod m)$的模数两两互质。 于是就有了扩展中国剩余定理,其实现方法大概是通过扩展欧几里德把两个同余方程合并,具体会在下面提到。 但是,使用仍有限制,那就是$x$的系数必须为$1$。 ~~没关系,把它 阅读全文
posted @ 2018-07-21 11:36 Flash_Hu 阅读(1111) 评论(6) 推荐(1) 编辑
摘要: 闲话 一个蒟蒻,在网络同步赛上进行了这样的表演—— T2组合计数不会,T3字符串数据结构不会,于是爆肝T1 一开始以为整个地图都有车,然后写了2h+的树套树,终于发现样例过不去 然后写可持久化并查集Debug到13:20过了前4个样例,然后第5个T飞了。 FST? 。。。。。。 FST! 完美收获5 阅读全文
posted @ 2018-07-18 22:10 Flash_Hu 阅读(641) 评论(0) 推荐(0) 编辑