摘要: "UOJ题目传送门" ~~显然~~最优的路径只会经过若干条两个圆的公切线和若干段圆弧 为了方便,把起点终点看成两个半径为$0$的圆也行。 最烦的就是算两个圆的公切线了,一共有四条 对于靠外面的两条,我们把切线、半径和两圆心之间的线段连起来,会构成一个直角梯形。 我们可以求出两圆心连线的倾斜角,进而求阅读全文
posted @ 2018-12-02 17:51 Flash_Hu 阅读(84) 评论(0) 编辑
摘要: 模板 后缀数组 cpp include define R register int using namespace std; const int N=1e6+9; int sa[N],rk[N],hei[N],x[N],y[N],c[N]; char s[N]; void Rsort(R n,R m阅读全文
posted @ 2018-11-29 17:22 Flash_Hu 阅读(102) 评论(4) 编辑
摘要: "洛谷题目传送门" 最小表示是指一个字符串通过循环位移变换(第一个移到最后一个)所能得到的字典序最小的字符串。 因为是环状的,所以肯定要先转化为序列,把原串倍长。 设决策点为一个表示法的开头。比较两个决策点$i,j$,找到它们的LCP(假设长度为$k$)。 假设$s_{i+k} s_{j+k}$,那阅读全文
posted @ 2018-11-10 22:49 Flash_Hu 阅读(47) 评论(0) 编辑
摘要: 希望还是要有的,万一退役了呢? Day1 听说300是大众分? 不会T2,不会T3,再别OI。 Day2 听说200是大众分? T1FST掉,不会T2,不会T3,再别OI。 茶馆小人书 那些让我们聊以慰藉的现实 是什么? 当我每次回忆起 与十来个500多分的昔日战友 在一个机房里奋斗的时光 我就会知阅读全文
posted @ 2018-11-10 19:39 Flash_Hu 阅读(527) 评论(11) 编辑
摘要: "洛谷题目传送门" 又是一年联赛季。NOIP2017至此收官了。 这个其实是比较套路的图论DP了,但是细节有点恶心。 先求出$1$到所有点的最短路$d1$,和所有点到$n$的最短路$dn$。 设$f_{i,j}$表示$i$号点,所有与$d1$差距不超过$j$的路径条数。转移的时候肯定是从小到大枚举$阅读全文
posted @ 2018-11-06 00:51 Flash_Hu 阅读(72) 评论(0) 编辑
摘要: NOIP退役预定? 闲话 我们为什么要回忆往事呢? 刚刚准备练一下手感,就去看【NOIP2016】天天爱跑步。想了一下。 “感觉在链上差分一下,开个桶统计就好了吧,原来是道傻逼题。” 默念出这句话的时候,心里颤了一下。 2016年,我初三,因为15年PJ踩线一等拿到了就去TG玩玩。看到这题,想起来教阅读全文
posted @ 2018-11-03 07:54 Flash_Hu 阅读(181) 评论(5) 编辑
摘要: 咕咕咕。。。 NOIP退役预定? 最近膜你赛的分治题总是不会,窝太弱了qwq 基础应用 快速幂?(某些多组询问的矩阵乘法题,预处理出矩阵$2^j$的幂,然后每次取出合并,可以优化时间复杂度) 归并排序? ~~翻转排序?~~( "NOIAC32 Sort" ) 序列分治 关于最值分治是序列分治中最常见阅读全文
posted @ 2018-10-29 23:16 Flash_Hu 阅读(103) 评论(1) 编辑
摘要: $n$天没更博了,因为被膜你赛的毒瘤题虐哭了。。。 既然打了这次CF还是纪念一下。 看看NOIP之前,接下来几场的时间都不好。这应该是最后一场CF了,差$4$分上紫也是一个遗憾吧。 A 给一个矩形,每次从外面剥掉一圈,按剥去次序的奇偶分开,问最前$k$个奇数圈的总面积。 普及组题,直接模拟。 E 给阅读全文
posted @ 2018-10-23 11:58 Flash_Hu 阅读(88) 评论(1) 编辑
摘要: codeforces是不是很慢呢?反正蒟蒻打比赛的时候经常几分钟打不开题面然后就被吊打了。。。 于是几番周折整理了一点解决办法。 hosts替换字体库 codeforces加载google的字体库需要很长时间,可以通过修改hosts找到字体的替代。 Win10的文件位置 Ubuntu16.04的文件阅读全文
posted @ 2018-10-14 13:22 Flash_Hu 阅读(318) 评论(6) 编辑
摘要: "洛谷题目传送门" $O(n)$算法来啦! 复杂度优化的思路是建立在倍增思路的基础上的,看看楼上几位巨佬的描述吧。 首先数组倍长是一样的。倍增法对于快速找到$j$满足$l_j+m\le r_i$进行了优化。然后菊开队长说可以建个树优化,可是他没讲清楚就把这个神仙东西扔给了我这个蒟蒻。。。一个晚上终于阅读全文
posted @ 2018-10-08 16:39 Flash_Hu 阅读(68) 评论(2) 编辑
摘要: 算法的理论学习可右转 "Creeper_LKF大佬的洛谷日报" 一个优化算法理论时间复杂度的实例点 "这里" 另一个实例点 "这里" 时间复杂度$O(n)$,算常数的话要乘位长。 蒟蒻参考了Creeper_LKF大佬的模板,并在通用性上面稍微提升了一点。可以兼容所有存储整数的基本类型,以及在此基础上阅读全文
posted @ 2018-10-07 22:44 Flash_Hu 阅读(141) 评论(6) 编辑
摘要: 你谷数据够强了,以前的A 应该差不多死掉了。 所以,小伙伴们快来一起把YL顶上去把! "戳这里!" "俞鼎力的课件" 需要掌握的内容: Dijkstra构建最短路径树。 可持久化堆(使用左偏树,因其有二叉树结构且能动态合并。构建方法类似可持久化线段树)。 cpp include define RG 阅读全文
posted @ 2018-10-04 22:38 Flash_Hu 阅读(100) 评论(0) 编辑
摘要: "洛谷题目传送门" 顺便提一下题意有一个地方不太清楚,就是如果输出 还要输出最少需要添加多少张牌才能满足要求。蒟蒻考完以后发现四个点 。。。 比较需要技巧的搜索 既然是同一个花色要连续,那就枚举每一个花色在哪一段区间连续并选中四个区间,累计每个点数的选中次数。 最后来一个$O(13)$的$\text阅读全文
posted @ 2018-10-03 19:52 Flash_Hu 阅读(48) 评论(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 阅读(65) 评论(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 阅读(55) 评论(2) 编辑
摘要: "洛谷题目传送门" 神仙思维题。 对于两个字符串的匹配问题,似乎之前蒟蒻写的 "HAOI2010最长公共子序列题解" 中提到的建网格图模型是一种套路? 给一个稍微强一点的样例(把字母换成了ABC) 它所对应的网格图如下(横轴代表$s$,纵轴代表$t$,显示的点表示可达状态) 我们首先可以大致确定,所阅读全文
posted @ 2018-09-28 15:35 Flash_Hu 阅读(39) 评论(0) 编辑
摘要: "洛谷题目传送门" 这题推式子恶心。。。。。 考虑分治,每次统计跨过$mid$的所有区间的答案和。$i$从$mid 1$到$l$枚举,统计以$i$为左端点的所有区间。 我们先维护好$[i,mid]$区间内最小值$mn$和最大值$mx$。我们可以想到,对于某一个左端点,它的右端点$j$在一定的范围内,阅读全文
posted @ 2018-09-27 19:11 Flash_Hu 阅读(39) 评论(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 阅读(64) 评论(0) 编辑
摘要: "洛谷题目传送门" 费了几个小时杠掉此题,如果不是那水水的数据的话,跟列队的难度真的是有得一比。。。 话说蒟蒻仔细翻了所有的题解,发现巨佬写的都是倍增,复杂度是$O(n\log n\log nw)$的,貌似还不够优秀。 其实我们与其对于每一个点都通过倍增向上找到对应位置,还不如直接从上到下dfs一遍阅读全文
posted @ 2018-09-25 23:01 Flash_Hu 阅读(44) 评论(0) 编辑
摘要: "洛谷题目传送门" 闲话 考场上一眼看出这是个毒瘤线段树准备杠题,发现实在太难调了,被各路神犇虐哭qwq 考后看到各种优雅的暴力AC。。。。。。宝宝心里苦qwq 思路分析 题面里面是一堆乱七八糟的限制和性质,这时候需要冷静想想有没有可利用的地方。蒟蒻一开始往势能线段树上面想了想。 定义一个全局势能函阅读全文
posted @ 2018-09-24 23:00 Flash_Hu 阅读(135) 评论(0) 编辑
摘要: "BZOJ题目传送门" 终于体会到初步掌握势能分析思想的重要性了。 一开始看题,感觉套路还是很一般啊qwq。~~直接在线段树上维护最大值和最小值,每次递归更新的时候,如果不能完全覆盖就暴力递归下去。挺好写的欸~~ 鉴于上次写 "冒险" 常数太大的经历,蒟蒻这次来个码风奇特的指针线段树 cpp inc阅读全文
posted @ 2018-09-23 14:22 Flash_Hu 阅读(73) 评论(0) 编辑
摘要: "BZOJ题目传送门" 表示蒟蒻并不能一眼看出来这是个势能线段树。 不过仔细想想也并非难以理解,感性理解一下,在一个区间里又与又或,那么本来不相同的位也会渐渐相同,线段树每个叶子节点最多修改$\log a$次($a$为值域)。 那么,我们做区间修改的时候,进行判断:如果这一次修改对区间里所有数的影响阅读全文
posted @ 2018-09-21 15:01 Flash_Hu 阅读(50) 评论(0) 编辑
摘要: "洛谷题目传送门" Dalao的题解多数是什么模拟退火、DFS剪枝、$O(3^nn^2)$的状压DP之类。蒟蒻尝试着把状压改进了一下使复杂度降到$O(3^nn)$。 考虑到每条边的贡献跟它所在的层有关,所以如果我们能够将一层的边一起加进去,计算就会方便许多。于是想办法把这个转移过程状压一下。 设$f阅读全文
posted @ 2018-09-19 11:50 Flash_Hu 阅读(99) 评论(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 阅读(123) 评论(1) 编辑
摘要: "stO ppl Orz" 蒟蒻写了个模板,通过了对拍检验。 该模板资磁ppl的博客中提到的所有操作,除了getmin和getmax的意义不同。 蒟蒻的getmin和getmax是求线性基内能与x异或出的最小/大值。那么ppl的getmax等价于这里的getmax(0)。 可兼容bitset(不能使阅读全文
posted @ 2018-09-16 16:21 Flash_Hu 阅读(58) 评论(5) 编辑
摘要: 线段树优化连边 某些问题会要你由一个区间的所有点像另一个区间的所有点连一条边。 把线段树的节点看成其对应区间的点的集合。一个给定的区间最多用$\log$个线段树节点就可以表示出来,那么我们找到这$\log$个节点把边连上就好啦! 注意建两棵线段树,分别对应入边和出边。根据问题类型(最短路/网络流/.阅读全文
posted @ 2018-09-15 15:54 Flash_Hu 阅读(162) 评论(8) 编辑
摘要: ~~貌似没什么用。。。没有多少毒瘤题要输出分数吧。。。~~ update:真的有,而且在NOIP模拟赛里出现了!写double的卡精度到怀疑人生! 可以套个兼容性比较好的高精度模板进来。 cpp include using namespace std; namespace FlashHu{ defi阅读全文
posted @ 2018-09-13 18:07 Flash_Hu 阅读(82) 评论(0) 编辑
摘要: "洛谷题目传送门" 一进来就看到一个多月前秒了此题的ysn和YCB%%% 最长公共子序列的$O(n^2)$的求解,Dalao们想必都很熟悉了吧!不过蒟蒻突然发现,用网格图貌似可以很轻松地理解这个东东? 设字符串长度为$n,m$,那么想象我们有一个$n+1$行$m+1$列的网格图,只能从左下角往右、上阅读全文
posted @ 2018-09-01 23:35 Flash_Hu 阅读(66) 评论(1) 编辑
摘要: 导数与积分 "%%YCB%%" 排列与组合 加法法则与乘法法则 基础思想:分类计数使用加法,分步计数使用乘法 Cayley定理 $n$个有标号顶点的树的个数为$n^{n 2}$ 证明:定义一个消去序列,序列与树一一对应(略)。 排列与组合 $n$元$r$排列:$\frac{n!}{(n r)!}$ 阅读全文
posted @ 2018-08-31 21:38 Flash_Hu 阅读(152) 评论(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 阅读(91) 评论(0) 编辑
摘要: "洛谷题目传送门" 给一个比较有逼格的名词——WQS二分/带权二分/DP凸优化(当然这题不是DP)。 用来解决一种特定类型的问题: 有$n$个物品,选择每一个都会有相应的权值,需要求出强制选$need$个物品时的最大/最小权值和。 一般来说,我们求不限制个数的最大/最小权值和很容易,但在限制个数的前阅读全文
posted @ 2018-08-25 22:27 Flash_Hu 阅读(52) 评论(0) 编辑
摘要: "洛谷题目传送门" 闲话 看完 "洛谷larryzhong巨佬的题解" ,蒟蒻一脸懵逼 如果哪年NOI(~~放心我这样的蒟蒻是去不了的~~)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆$0$?! 还是要想点办法,不失一般性也能快捷地判定决策单调。 对于判定决策单调的分析 再补一句决策单阅读全文
posted @ 2018-08-22 23:21 Flash_Hu 阅读(131) 评论(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 阅读(21) 评论(0) 编辑
摘要: "洛谷题目传送门" 用两种不一样的思路立体地理解斜率优化,你值得拥有。 题意分析 既然所有的土地都要买,那么我们可以考虑到,如果一块土地的宽和高(其实是蒟蒻把长方形立在了平面上)都比另一块要小,那么肯定是直接并购,这一块对答案没有任何贡献。 我们先把这些给去掉,具体做法可以是,按高为第一关键字,宽为阅读全文
posted @ 2018-08-19 22:35 Flash_Hu 阅读(53) 评论(0) 编辑
摘要: 为了优化体验(~~其实是强迫症~~),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换。 LCT总结——概念篇 "戳这里" 题单 灰常感谢XZY巨佬提供的强力资磁!(可参考 "XZY巨佬的博客总结" ) 题单对于系统地学习一个知识点还是有好处的。 所以蒟蒻搜集了各处的LCT题目(其实作为近年阅读全文
posted @ 2018-08-18 20:21 Flash_Hu 阅读(775) 评论(5) 编辑
摘要: "洛谷题目传送门" 貌似做所有的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 阅读(116) 评论(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 阅读(78) 评论(0) 编辑
摘要: 前缀和优化 当DP过程中需要反复从一个求和式转移的话,可以先把它预处理一下。运算一般都要满足可减性。 比较naive就不展开了。 题目 【Todo】 "洛谷P2513 [HAOI2009]逆序对数列" 【Done】 "洛谷P2511 [HAOI2008]木棍分割" 【Todo】 "洛谷P4099 [阅读全文
posted @ 2018-08-15 12:10 Flash_Hu 阅读(625) 评论(14) 编辑
摘要: "洛谷题目传送门" 你谷无题解于是来补一发 随便百度题解,发现了不少诸如树剖$log^3$LCT$log^2$的可怕描述。。。。。。 于是来想想怎么利用题目的性质,把复杂度降下来。 首先,每个点的输出状态只有$0/1$,于是每个点的总状态也非常有限,可以根据权值为$1$的儿子数量$0 3$分为四种,阅读全文
posted @ 2018-08-14 22:39 Flash_Hu 阅读(90) 评论(5) 编辑
摘要: "洛谷题目传送门" DP题怕是都要大大的脑洞。。。。。。 首先,时间那么大没用,直接离散化。 第一问还好。根据题意容易发现,当一堆活动的时间有大量重叠的时候,更好的办法是把它们全部安排到一边去。那么我们转移的时候也肯定是要一块一块地转移啦。 设$tot_{l,r}$为完全被包含在$l r$时间内活动阅读全文
posted @ 2018-08-13 17:44 Flash_Hu 阅读(55) 评论(0) 编辑