摘要: codeforces是不是很慢呢?反正蒟蒻打比赛的时候经常几分钟打不开题面然后就被吊打了。。。 于是几番周折整理了一点解决办法。 hosts替换字体库 codeforces加载google的字体库需要很长时间,可以通过修改hosts找到字体的替代。 Win10的文件位置 Ubuntu16.04的文件阅读全文
posted @ 2018-10-14 13:22 Flash_Hu 阅读(70) 评论(3) 编辑
摘要: "洛谷题目传送门" $O(n)$算法来啦! 复杂度优化的思路是建立在倍增思路的基础上的,看看楼上几位巨佬的描述吧。 首先数组倍长是一样的。倍增法对于快速找到$j$满足$l_j+m\le r_i$进行了优化。然后菊开队长说可以建个树优化,可是他没讲清楚就把这个神仙东西扔给了我这个蒟蒻。。。一个晚上终于阅读全文
posted @ 2018-10-08 16:39 Flash_Hu 阅读(34) 评论(2) 编辑
摘要: 算法的理论学习可右转 "Creeper_LKF大佬的洛谷日报" 一个优化算法理论时间复杂度的实例点 "这里" 时间复杂度$O(n)$,算常数的话要乘位长。 蒟蒻参考了Creeper_LKF大佬的模板,并在通用性上面稍微提升了一点。可以兼容所有存储整数的基本类型,以及在此基础上构建的结构体类型(多关键阅读全文
posted @ 2018-10-07 22:44 Flash_Hu 阅读(46) 评论(5) 编辑
摘要: 你谷数据够强了,以前的A 应该差不多死掉了。 所以,小伙伴们快来一起把YL顶上去把! "戳这里!" "俞鼎力的课件" 需要掌握的内容: Dijkstra构建最短路径树。 可持久化堆(使用左偏树,因其有二叉树结构且能动态合并。构建方法类似可持久化线段树)。 cpp include define RG 阅读全文
posted @ 2018-10-04 22:38 Flash_Hu 阅读(44) 评论(0) 编辑
摘要: "洛谷题目传送门" 顺便提一下题意有一个地方不太清楚,就是如果输出 还要输出最少需要添加多少张牌才能满足要求。蒟蒻考完以后发现四个点 。。。 比较需要技巧的搜索 既然是同一个花色要连续,那就枚举每一个花色在哪一段区间连续并选中四个区间,累计每个点数的选中次数。 最后来一个$O(13)$的$\text阅读全文
posted @ 2018-10-03 19:52 Flash_Hu 阅读(28) 评论(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 阅读(42) 评论(9) 编辑
摘要: "洛谷题目传送门" 只是一个经过了蛇皮压行的模板。。。 总结? "%%%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 阅读(35) 评论(2) 编辑
摘要: "洛谷题目传送门" 神仙思维题。 对于两个字符串的匹配问题,似乎之前蒟蒻写的 "HAOI2010最长公共子序列题解" 中提到的建网格图模型是一种套路? 给一个稍微强一点的样例(把字母换成了ABC) 它所对应的网格图如下(横轴代表$s$,纵轴代表$t$,显示的点表示可达状态) 我们首先可以大致确定,所阅读全文
posted @ 2018-09-28 15:35 Flash_Hu 阅读(19) 评论(0) 编辑
摘要: "洛谷题目传送门" 这题推式子恶心。。。。。 考虑分治,每次统计跨过$mid$的所有区间的答案和。$i$从$mid 1$到$l$枚举,统计以$i$为左端点的所有区间。 我们先维护好$[i,mid]$区间内最小值$mn$和最大值$mx$。我们可以想到,对于某一个左端点,它的右端点$j$在一定的范围内,阅读全文
posted @ 2018-09-27 19:11 Flash_Hu 阅读(12) 评论(0) 编辑
摘要: 分数规划是这样一个东西: 给定若干元素,每个元素有两个属性值$a_i,b_i$,在满足题目要求的某些限制下选择若干元素并求出$\frac{\sum a}{\sum b}$的最大值。 如果没有限制的话,肯定是贪心的选。 假设当前选择了一个解$x_0$,却并不是$\frac{\sum a}{\sum b阅读全文
posted @ 2018-09-26 15:37 Flash_Hu 阅读(35) 评论(0) 编辑
摘要: "洛谷题目传送门" 费了几个小时杠掉此题,如果不是那水水的数据的话,跟天天爱跑步的难度真的是有得一比。。。 话说蒟蒻仔细翻了所有的题解,发现巨佬写的都是倍增,复杂度是$O(n\log n\log nw)$的,貌似还不够优秀。 其实我们与其对于每一个点都通过倍增向上找到对应位置,还不如直接从上到下df阅读全文
posted @ 2018-09-25 23:01 Flash_Hu 阅读(24) 评论(0) 编辑
摘要: "洛谷题目传送门" 闲话 考场上一眼看出这是个毒瘤线段树准备杠题,发现实在太难调了,被各路神犇虐哭qwq 考后看到各种优雅的暴力AC。。。。。。宝宝心里苦qwq 思路分析 题面里面是一堆乱七八糟的限制和性质,这时候需要冷静想想有没有可利用的地方。蒟蒻一开始往势能线段树上面想了想。 定义一个全局势能函阅读全文
posted @ 2018-09-24 23:00 Flash_Hu 阅读(72) 评论(0) 编辑
摘要: "BZOJ题目传送门" 终于体会到初步掌握势能分析思想的重要性了。 一开始看题,感觉套路还是很一般啊qwq。~~直接在线段树上维护最大值和最小值,每次递归更新的时候,如果不能完全覆盖就暴力递归下去。挺好写的欸~~ 鉴于上次写 "冒险" 常数太大的经历,蒟蒻这次来个码风奇特的指针线段树 cpp inc阅读全文
posted @ 2018-09-23 14:22 Flash_Hu 阅读(47) 评论(0) 编辑
摘要: "BZOJ题目传送门" 表示蒟蒻并不能一眼看出来这是个势能线段树。 不过仔细想想也并非难以理解,感性理解一下,在一个区间里又与又或,那么本来不相同的位也会渐渐相同,线段树每个叶子节点最多修改$\log a$次($a$为值域)。 那么,我们做区间修改的时候,进行判断:如果这一次修改对区间里所有数的影响阅读全文
posted @ 2018-09-21 15:01 Flash_Hu 阅读(32) 评论(0) 编辑
摘要: "洛谷题目传送门" Dalao的题解多数是什么模拟退火、DFS剪枝、$O(3^nn^2)$的状压DP之类。蒟蒻尝试着把状压改进了一下使复杂度降到$O(3^nn)$。 考虑到每条边的贡献跟它所在的层有关,所以如果我们能够将一层的边一起加进去,计算就会方便许多。于是想办法把这个转移过程状压一下。 设$f阅读全文
posted @ 2018-09-19 11:50 Flash_Hu 阅读(51) 评论(2) 编辑
摘要: 闲话 有这样一个问题——一个长度为$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 阅读(60) 评论(1) 编辑
摘要: "stO ppl Orz" 蒟蒻写了个模板,通过了对拍检验。 该模板资磁ppl的博客中提到的所有操作,除了getmin和getmax的意义不同。 蒟蒻的getmin和getmax是求线性基内能与x异或出的最小/大值。那么ppl的getmax等价于这里的getmax(0)。 可兼容bitset(不能使阅读全文
posted @ 2018-09-16 16:21 Flash_Hu 阅读(34) 评论(5) 编辑
摘要: 线段树合并 就是把两个动态开点线段树的信息整体合并。 蒟蒻懒得总结了,放 "RabbitHu大佬的总结" (~~嗯哈一个小兔一个树懒~~) 例题: "洛谷P4556 [Vani有约会]雨天的尾巴" 主流做法是树剖,据说两个$\log$,蒟蒻作为G2准AFO选手还不太会就不多提了。 然而这题可以入门线阅读全文
posted @ 2018-09-15 15:54 Flash_Hu 阅读(90) 评论(8) 编辑
摘要: ~~貌似没什么用。。。没有多少毒瘤题要输出分数吧。。。~~ update:真的有,而且在NOIP模拟赛里出现了!写double的卡精度到怀疑人生! 可以套个兼容性比较好的高精度模板进来。 cpp include using namespace std; namespace FlashHu{ defi阅读全文
posted @ 2018-09-13 18:07 Flash_Hu 阅读(44) 评论(0) 编辑
摘要: "洛谷题目传送门" 一进来就看到一个多月前秒了此题的ysn和YCB%%% 最长公共子序列的$O(n^2)$的求解,Dalao们想必都很熟悉了吧!不过蒟蒻突然发现,用网格图貌似可以很轻松地理解这个东东? 设字符串长度为$n,m$,那么想象我们有一个$n+1$行$m+1$列的网格图,只能从左下角往右、上阅读全文
posted @ 2018-09-01 23:35 Flash_Hu 阅读(49) 评论(1) 编辑
摘要: 导数与积分 "%%YCB%%" 排列与组合 加法法则与乘法法则 基础思想:分类计数使用加法,分步计数使用乘法 Cayley定理 $n$个有标号顶点的树的个数为$n^{n 2}$ 证明:定义一个消去序列,序列与树一一对应(略)。 排列与组合 $n$元$r$排列:$\frac{n!}{(n r)!}$ 阅读全文
posted @ 2018-08-31 21:38 Flash_Hu 阅读(99) 评论(1) 编辑
摘要: "洛谷题目传送门" 一开始肯定要把题目要求的式子给写出来 我们知道方差的公式$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 阅读(47) 评论(0) 编辑
摘要: "洛谷题目传送门" 给一个比较有逼格的名词——WQS二分/带权二分/DP凸优化(当然这题不是DP)。 用来解决一种特定类型的问题: 有$n$个物品,选择每一个都会有相应的权值,需要求出强制选$need$个物品时的最大/最小权值和。 一般来说,我们求不限制个数的最大/最小权值和很容易,但在限制个数的前阅读全文
posted @ 2018-08-25 22:27 Flash_Hu 阅读(28) 评论(0) 编辑
摘要: "洛谷题目传送门" 闲话 看完 "洛谷larryzhong巨佬的题解" ,蒟蒻一脸懵逼 如果哪年NOI(~~放心我这样的蒟蒻是去不了的~~)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆$0$?! 还是要想点办法,不失一般性也能快捷地判定决策单调。 对于判定决策单调的分析 再补一句决策单阅读全文
posted @ 2018-08-22 23:21 Flash_Hu 阅读(79) 评论(2) 编辑
摘要: "洛谷题目传送门" 安利蒟蒻 "斜率优化总结" 由于人是每次都是连续一段一段地选,所以考虑直接对$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 阅读(19) 评论(0) 编辑
摘要: "洛谷题目传送门" 用两种不一样的思路立体地理解斜率优化,你值得拥有。 题意分析 既然所有的土地都要买,那么我们可以考虑到,如果一块土地的宽和高(其实是蒟蒻把长方形立在了平面上)都比另一块要小,那么肯定是直接并购,这一块对答案没有任何贡献。 我们先把这些给去掉,具体做法可以是,按高为第一关键字,宽为阅读全文
posted @ 2018-08-19 22:35 Flash_Hu 阅读(34) 评论(0) 编辑
摘要: 为了优化体验(~~其实是强迫症~~),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换。 LCT总结——概念篇 "戳这里" 题单 灰常感谢XZY巨佬提供的强力资磁!(可参考 "XZY巨佬的博客总结" ) 题单对于系统地学习一个知识点还是有好处的。 所以蒟蒻搜集了各处的LCT题目(其实作为近年阅读全文
posted @ 2018-08-18 20:21 Flash_Hu 阅读(318) 评论(4) 编辑
摘要: "洛谷题目传送门" 貌似做所有的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 阅读(55) 评论(0) 编辑
摘要: "洛谷题目传送门" 疯狂%%%几个月前就秒了此题的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 阅读(52) 评论(0) 编辑
摘要: 前缀和优化 当DP过程中需要反复从一个求和式转移的话,可以先把它预处理一下。运算一般都要满足可减性。 比较naive就不展开了。 题目 【Todo】 "洛谷P2513 [HAOI2009]逆序对数列" 【Done】 "洛谷P2511 [HAOI2008]木棍分割" 【Todo】 "洛谷P4099 [阅读全文
posted @ 2018-08-15 12:10 Flash_Hu 阅读(277) 评论(14) 编辑
摘要: "洛谷题目传送门" 你谷无题解于是来补一发 随便百度题解,发现了不少诸如树剖$log^3$LCT$log^2$的可怕描述。。。。。。 于是来想想怎么利用题目的性质,把复杂度降下来。 首先,每个点的输出状态只有$0/1$,于是每个点的总状态也非常有限,可以根据权值为$1$的儿子数量$0 3$分为四种,阅读全文
posted @ 2018-08-14 22:39 Flash_Hu 阅读(59) 评论(5) 编辑
摘要: "洛谷题目传送门" DP题怕是都要大大的脑洞。。。。。。 首先,时间那么大没用,直接离散化。 第一问还好。根据题意容易发现,当一堆活动的时间有大量重叠的时候,更好的办法是把它们全部安排到一边去。那么我们转移的时候也肯定是要一块一块地转移啦。 设$tot_{l,r}$为完全被包含在$l r$时间内活动阅读全文
posted @ 2018-08-13 17:44 Flash_Hu 阅读(39) 评论(0) 编辑
摘要: "洛谷题目传送门" 仍然是一个板子。 不过蒟蒻去学了一下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 阅读(45) 评论(0) 编辑
摘要: 闲话 一个计数问题入门级选手来搞这种东西 最初的动力来自高一化学课有机物(滑稽)。《同步导练》出了个这样的选择题。 一个结构极其庞大的烷烃(二十几个碳原子),求它的主链长度。 这不是个求树的直径的裸题么?!OI选手扫两眼就出来了,然而别的同学费劲心思找完了还是错的。 于是第一次在常规课中体验到作为O阅读全文
posted @ 2018-08-10 22:31 Flash_Hu 阅读(123) 评论(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 阅读(34) 评论(4) 编辑
摘要: 闲话 stO猫锟学长,满脑子神仙DS 网上有不少Dalao把线段树分治也归入CDQ分治? 还是听听YCB巨佬的介绍: 看来可以理解为广义下的。 不过叫它线段树分治挺形象的啊! 线段树分治思想 我们在做CDQ的时候,将询问和操作通通视为元素,在归并过程中统计左边的操作对右边的询问的贡献。 而在线段树分阅读全文
posted @ 2018-08-01 22:05 Flash_Hu 阅读(91) 评论(5) 编辑
摘要: "洛谷题目传送门" 闲话 偶然翻到一道没有题解的~~淀粉质~~,想证明一下自己是真的弱 然而ZSYC(字符串组合)早就切了 然后证明成功了,WA到怀疑人生,只好借着ZSY的代码拍,拍了几万组就出来了。。。 思路 是人都能想到的:路径统计,点分治跑不了了。 然而这个统计有些麻烦。。。 首先别看错题,是阅读全文
posted @ 2018-07-30 17:45 Flash_Hu 阅读(28) 评论(0) 编辑
摘要: 闲话 CDQ是什么? 是一个巨佬,和莫队、HJT(不是我这个蒟蒻)一样,都发明出了在OI中越来越流行的算法/数据结构。 CDQ分治思想 分治就是分治,“分而治之”的思想。 那为什么会有CDQ分治这样的称呼呢? 这一类分治有一个重要的思想——用一个子问题来计算对另一个子问题的贡献。 有了这种思想,就可阅读全文
posted @ 2018-07-28 10:31 Flash_Hu 阅读(279) 评论(6) 编辑
摘要: "洛谷题目传送门" 动态点分治小白,光是因为思路不清晰就耗费了不知道多少时间去gang这题,所以还是来理理思路吧。 一个树$T$里面$\sum\limits_{v\in T} D_vdist(u,v)$取到最小值的$u$我们可以称作带权重心。类似重心各种性质的证明过程,我们不难证出这样的点顶多只有两阅读全文
posted @ 2018-07-25 22:10 Flash_Hu 阅读(25) 评论(0) 编辑
摘要: 放一个模板在这里搞事情。。。。。。 学KMP的话找SYCstudio吧( "博客链接" ) 代码(多组数据,$O(n)$求一个串是否在另一个串里出现过)阅读全文
posted @ 2018-07-24 19:52 Flash_Hu 阅读(28) 评论(0) 编辑