正文内容加载中...
posted @ 2018-04-26 16:04 默思·朸安 阅读(53) 评论(1) 编辑
摘要: 完全没有思路,看了题解还有些迷 设 表示和节点$i$距离为$j$的节点的总数,$son$为$i$的儿子,$num$为儿子的数量 则转移方程为 这样可以保证不重不漏 $DP$顺序也要注意一下,难得没用深搜来转移 cpp include include include include include u阅读全文
posted @ 2019-06-19 16:54 默思·朸安 阅读(13) 评论(0) 编辑
摘要: " 题目传送门 " $DP$的实现也要下一下功夫,比如这题,知道转移方程且不会实现 定义 为区间$[i,j]$折叠的最短长度 然后就是区间$DP$的套路,枚举中间断点,然后转移 如何判断能否折叠,以及折叠后的处理没有想到 还要多加练习 cpp include include include incl阅读全文
posted @ 2019-06-15 20:46 默思·朸安 阅读(8) 评论(0) 编辑
摘要: " 题目传送门 " 直接暴力定义 是使对角为$(x1, y1),(x2, y2)$这个子矩形满足要求的最短切割线长度 因为转移顺序不好递推,采用记忆化搜索 cpp include include include include define LL long long using namespace 阅读全文
posted @ 2019-06-15 20:45 默思·朸安 阅读(8) 评论(0) 编辑
摘要: " 题目传送门 " 死因:不认真读题 首先,我们可以想到暴力枚举每段长度为$k$的区间,对于这一段区间,求将它变为同一高度的最小操作次数。显然,当我们取区间的中位数时,这段区间变为同一高度的次数最小。 操作次数为: 对于大于中位数的数,求和,减去中位数乘它们的个数 对于小于等于中位数的数,中位数乘它阅读全文
posted @ 2019-06-14 17:26 默思·朸安 阅读(48) 评论(0) 编辑
摘要: " 题目传送门 " 比较坑的区间$DP$ 定义 为将 这段区间全都合并为 一个数 的最大值 于是我很自然的就想到了这样转移: 但是 ,因为 和``f[k+1][j]``的最大值可能并不相邻,所以第一个转移是不对的,应该只有 这样就可以把这道题$A$掉了 但是 ,这样其实还是不对的,因为无法保证 一定阅读全文
posted @ 2019-06-12 18:47 默思·朸安 阅读(9) 评论(0) 编辑
摘要: " 题目传送门 " 感觉这题最大的难点是发现它的解法是二分图最大匹配 主人的路线是固定的,对于每一段的路线,我们可以枚举小狗想去的景点,如果时间够,我们就将这段路线的起点和小狗想去的点连起来 这样就形成了一个二分图,因为 dog每次与主人相遇之前最多只去一个景点 ,所以这道题就转化成了二分图最大匹配阅读全文
posted @ 2019-06-12 18:20 默思·朸安 阅读(10) 评论(0) 编辑
摘要: " 题目传送门 " 嗯,这道题的标签是 STL ,因为这个 STL 用的确实太妙了 这道题目要求维护一堆区间,而一个重要的操作是要删除所有与新区间冲突的区间 虽然可以用$Splay$来操作,但用STL里的 set 也绝对不虚 其中最精妙的当属这个 重载运算符 它的意思是当两个区间相交时,这两个区间相阅读全文
posted @ 2019-06-12 18:18 默思·朸安 阅读(8) 评论(0) 编辑
摘要: " 题目传送门 " 嗯……我承认我看了题解,不过好歹有了点自己的思路,大约蒙出来了$30\%$(个人感觉)…… 学会$DP$,任重而道远啊! Step1.贪心排序 先将每个人按 吃饭的快慢 排序,然后再进行$DP$ 稍微证明一下这个贪心吧 证明 设两个人排队和吃饭的时间分别为$a_1,b_1$和$a阅读全文
posted @ 2018-12-21 21:37 默思·朸安 阅读(12) 评论(0) 编辑
摘要: " 题目传送门 " 据说$NOIp$前写题解会$\mathcal{RP}$++ 看数据范围,肯定不能写多重背包,会$T$飞~ 如果每种硬币没有个数限制,就可以用完全背包了。 正难则反,我们可以先用完全背包预处理,然后减去不合法的情况。不合法的情况就是一个$s (d+1) \times c$的背包 但阅读全文
posted @ 2018-11-08 16:21 默思·朸安 阅读(10) 评论(0) 编辑
摘要: " 题目传送门 " 据说$NOIp$前发题解可以$\mathfrak{RP}$++ 因为要尽可能满足更多奶牛,所以按照这种区间贪心题的套路,先按右端点排序,然后依次遍历,能坐车的就让它们坐车,这样一定是最优的。 在贪心的时候,我们要知道在车在当前的时间段中最少有多少空位,可以用线段树维护(也可以不用阅读全文
posted @ 2018-11-08 15:21 默思·朸安 阅读(13) 评论(0) 编辑
摘要: " 题目传送门 " 感觉这个题被玩坏了…… 翻看了一下题解区,发现了$N$种神仙做法: 1. 随机化搜索(伪模拟退火) 1. 搜索+剪枝 1. 模拟退火 1. 不对但是能A的状压$DP$ 1. 正确的状压$DP$ 其中$DP$又分用$DFS$的$DP$,不用$DFS$的$DP$,而且各种$DP$的时阅读全文
posted @ 2018-11-08 15:19 默思·朸安 阅读(22) 评论(0) 编辑
摘要: " 题目传送门 " 题目名字真是十分契合Luogu的性质啊 IG NB $3^n$的子集枚举不会……看了题解后只会正解 对于每个状态,其实对我们有用的只有这个状态中有多少个$1$,而$1$的位置我们并不关心,因为具有相同个数个$1$的状态,它们出现的次数一定是相同的。 所以我们考虑用 表示有$i$个阅读全文
posted @ 2018-11-08 15:17 默思·朸安 阅读(12) 评论(0) 编辑
摘要: " 题目传送门 " 我小黄鸟表示不服 " " 这个题能转换成背包也是很神了…… 状态 表示到坐标$(i,j)$的最少点击次数,若无法到达,则置为$inf$ 转移 以下代码片段可能比较迷乱…… 预处理 因为可以从第一列任何地方开始所以第一列都是$0$ 剩下要注意的就是输出了,其实也没什么要注意的,会了阅读全文
posted @ 2018-11-05 20:37 默思·朸安 阅读(9) 评论(0) 编辑
摘要: " 题目传送门 " 我校神仙出的神仙题 $\%\%\%$ 30分 找出所有有入度的点,排序,选前$k$个点,好了,30分到手。 cpp include include include include define LL long long using namespace std; int read(阅读全文
posted @ 2018-11-05 20:19 默思·朸安 阅读(26) 评论(0) 编辑
摘要: " 题目传送门 " 开了 十倍空间 才过是什么鬼?该不会我线段树炸了吧…… 细思极恐 平均数都会求,维护区间和,到时候除一下就好了。 方差的求法如下 (用的Luogu的图片) 因为要维护一个平方,我们可以考虑使用~~van♂~~完全平方公式将它拆开,这样只用线段树维护区间和和区间平方和就可以了。 对阅读全文
posted @ 2018-11-05 20:18 默思·朸安 阅读(15) 评论(0) 编辑