正文内容加载中...
posted @ 2018-04-26 16:04 默思·朸安 阅读(47) 评论(1) 编辑
摘要: " 题目传送门 " 嗯……我承认我看了题解,不过好歹有了点自己的思路,大约蒙出来了$30\%$(个人感觉)…… 学会$DP$,任重而道远啊! Step1.贪心排序 先将每个人按 吃饭的快慢 排序,然后再进行$DP$ 稍微证明一下这个贪心吧 证明 设两个人排队和吃饭的时间分别为$a_1,b_1$和$a阅读全文
posted @ 2018-12-21 21:37 默思·朸安 阅读(6) 评论(0) 编辑
摘要: " 题目传送门 " 据说$NOIp$前写题解会$\mathcal{RP}$++ 看数据范围,肯定不能写多重背包,会$T$飞~ 如果每种硬币没有个数限制,就可以用完全背包了。 正难则反,我们可以先用完全背包预处理,然后减去不合法的情况。不合法的情况就是一个$s (d+1) \times c$的背包 但阅读全文
posted @ 2018-11-08 16:21 默思·朸安 阅读(4) 评论(0) 编辑
摘要: " 题目传送门 " 据说$NOIp$前发题解可以$\mathfrak{RP}$++ 因为要尽可能满足更多奶牛,所以按照这种区间贪心题的套路,先按右端点排序,然后依次遍历,能坐车的就让它们坐车,这样一定是最优的。 在贪心的时候,我们要知道在车在当前的时间段中最少有多少空位,可以用线段树维护(也可以不用阅读全文
posted @ 2018-11-08 15:21 默思·朸安 阅读(10) 评论(0) 编辑
摘要: " 题目传送门 " 感觉这个题被玩坏了…… 翻看了一下题解区,发现了$N$种神仙做法: 1. 随机化搜索(伪模拟退火) 1. 搜索+剪枝 1. 模拟退火 1. 不对但是能A的状压$DP$ 1. 正确的状压$DP$ 其中$DP$又分用$DFS$的$DP$,不用$DFS$的$DP$,而且各种$DP$的时阅读全文
posted @ 2018-11-08 15:19 默思·朸安 阅读(14) 评论(0) 编辑
摘要: " 题目传送门 " 题目名字真是十分契合Luogu的性质啊 IG NB $3^n$的子集枚举不会……看了题解后只会正解 对于每个状态,其实对我们有用的只有这个状态中有多少个$1$,而$1$的位置我们并不关心,因为具有相同个数个$1$的状态,它们出现的次数一定是相同的。 所以我们考虑用 表示有$i$个阅读全文
posted @ 2018-11-08 15:17 默思·朸安 阅读(7) 评论(0) 编辑
摘要: " 题目传送门 " 我小黄鸟表示不服 " " 这个题能转换成背包也是很神了…… 状态 表示到坐标$(i,j)$的最少点击次数,若无法到达,则置为$inf$ 转移 以下代码片段可能比较迷乱…… 预处理 因为可以从第一列任何地方开始所以第一列都是$0$ 剩下要注意的就是输出了,其实也没什么要注意的,会了阅读全文
posted @ 2018-11-05 20:37 默思·朸安 阅读(4) 评论(0) 编辑
摘要: " 题目传送门 " 我校神仙出的神仙题 $\%\%\%$ 30分 找出所有有入度的点,排序,选前$k$个点,好了,30分到手。 cpp include include include include define LL long long using namespace std; int read(阅读全文
posted @ 2018-11-05 20:19 默思·朸安 阅读(8) 评论(0) 编辑
摘要: " 题目传送门 " 开了 十倍空间 才过是什么鬼?该不会我线段树炸了吧…… 细思极恐 平均数都会求,维护区间和,到时候除一下就好了。 方差的求法如下 (用的Luogu的图片) 因为要维护一个平方,我们可以考虑使用~~van♂~~完全平方公式将它拆开,这样只用线段树维护区间和和区间平方和就可以了。 对阅读全文
posted @ 2018-11-05 20:18 默思·朸安 阅读(7) 评论(0) 编辑
摘要: " 题目传送门 " 线段树维护区间 线段树结构体 最核心的就是这几个函数了,别的函数基本没有变化,直接看总代码就好 cpp include include include include define LL long long define ls p 1) using namespace std; 阅读全文
posted @ 2018-11-02 15:48 默思·朸安 阅读(6) 评论(0) 编辑
摘要: " 题目传送门 " 很不错的一道单调队列神题 可以发现,当我们向右移动右端点时,左端点也会向右移动或不动。所以我们可以从左向右移动右端点,以上一个区间的左端点作为这个区间的左端点,然后将左端点右移,直到这个区间为一个合法区间。 为了判断区间是否合法,我们可以维护每个元素的前缀和,从而得到每段长为$d阅读全文
posted @ 2018-11-02 15:47 默思·朸安 阅读(14) 评论(0) 编辑
摘要: " 题目传送门 " 北极为什么会有企鹅啊,而且北纬91°在哪啊? 关键在建图 因为任意两个城市间都可以互相到达,再加上还有“快捷通道”,光是建图就已经$\rm{T}$了…… 但这题给了一个提示:除去快捷通道,边权 只与 两个城市的 异或值 有关 根据这个性质,我们可以发现,直接建图时,有很多边是多余阅读全文
posted @ 2018-11-02 15:46 默思·朸安 阅读(1) 评论(0) 编辑
摘要: 悬线法可以用来求一类带有障碍点的最大子矩阵问题,对于一个$N \times M$的矩阵,该算法时间复杂度$O(NM)$。 基本概念 有效竖线:除了两个端点外,不覆盖任何一个障碍点的竖直线段 悬线:上端覆盖了一个障碍点的或者到达整个矩形上边界的有效竖线 悬线对应矩形:如果把一个悬线向左右两个方向尽可能阅读全文
posted @ 2018-11-02 15:45 默思·朸安 阅读(16) 评论(0) 编辑
摘要: " 题目传送门 " 很不错的一道单调队列神题 可以发现,当我们向右移动右端点时,左端点也会向右移动或不动。所以我们可以从左向右移动右端点,以上一个区间的左端点作为这个区间的左端点,然后将左端点右移,直到这个区间为一个合法区间。 为了判断区间是否合法,我们可以维护每个元素的前缀和,从而得到每段长为$d阅读全文
posted @ 2018-10-30 10:40 默思·朸安 阅读(2) 评论(0) 编辑
摘要: 权值线段树的模板题 然而AC后才发现,可以用$\tt{set}$水过…… 权值线段树类似于用线段树来实现平衡树的一些操作,代码实现还是比较方便的 cpp include include include include define ls p 1) using namespace std; struc阅读全文
posted @ 2018-10-19 15:20 默思·朸安 阅读(6) 评论(0) 编辑
摘要: 校内资格赛题目,差点高一就要$\tt{AFO}$了 30分思路 对30%的数据,满足$1≤n≤10 $ 所以我们可以子集枚举,实际得分40pts cpp include include include include include using namespace std; int read(){ 阅读全文
posted @ 2018-10-14 15:26 默思·朸安 阅读(10) 评论(0) 编辑