摘要:
题目 做饭 由于越高位越好,我们先得出能组成的最高位 $f[i][j][k]$表示从低到高位第$i$位,手里拿着$j$根火柴,第$i$位是否为$0$所需要的最少火柴 我们转移仅需得出移动,与多余或需添的映射关系;然后枚举变化关系去转移 得出最高位后,直接贪心看目前所在最高位是否能添某个数字(最大) 阅读全文
摘要:
题目 "洛谷" 后缀数组一眼题系列 做法 $r$相似用$height$数组处理,每次按$height$分裂区间,显然是有单调性的 所求的$r_0^{n 1}$,$O(n^2)$是过不了的 利用单调性,上烂大街的离线并查集 并查集要维护:大小,最大值,次大值,最小值,次小值(由于这里$a_i$为整数, 阅读全文
摘要:
前言 五分钟应该学完的算法由于看错无数遍变量意义导致$......$ 简介 利用后缀性质倍增合并实现"快速"排序 做法 考虑暴力:把每个后缀提出来然后快排,时间复杂度$O(n^2logn)$ 从少到多考虑优化: $h~~~~a~~~~v~~~~a~~~~n~~~~a~~~~a~~~~a$ $2~~~ 阅读全文
摘要:
题目 神题!!只有$POI$出得出来的神题!! 只能说好像懂了,不想听蒟蒻废话就右转$dalao$的 "博客" 目前网上除官方外仅三篇题解,由于推论无法直观得出且有点复杂,难免不好理解,手玩数据最重要 做法 由于都是以$H^x(0)$开始,一下简写成$H^x$ 性质: $~~~~~1.$斐波那契堆: 阅读全文
摘要:
题目 "BZOJ" 虽然是解压题但也学到了简洁的码风 做法 $dijkstra$跑动规 My complete code cpp include include include using namespace std; typedef int LL; const LL maxn=1e6+9,inf= 阅读全文
摘要:
题目 "BZOJ" 做法 明确: $~~~1.$为了达到目标分数所取反的次数是固定的 $~~~2.$为了满足前缀非负,得增加取反和滚动次数 滚动的次数可以枚举,增加的取反可以通过最小前缀和得到 滚动的最小前缀和可以通过备份+单调队列得到 阅读全文
摘要:
题目 爆炸$OJ$机子太慢了吧~~实在不想打平衡树了~~ 做法 烂大街的一个概念:求中位数 然后求前缀差和后缀差,主席树模板题 注意$int$和$long long$ My complete code cpp include pragma GCC optimize (2) pragma G++ op 阅读全文
摘要:
题目 "BZOJ" "洛谷" 做法 很巧妙的题,注意每种颜色只有两个 消除一种颜色,其实就是看中间有多少个没有被消除的块,这种动态距离问题显然能用树状数组解决 洛谷输出方案,暴力往下爬就行 My complete code cpp include using namespace std; typed 阅读全文