/* 返回顶部 */

随笔分类 -  动态规划

摘要:对于树上的节点$i$,设$d[i]$为$i$的度数,$fa$为$i$的父亲,$\sum\limits_ j$为$i$的儿子。 假设边权均为$1$。 分别考虑儿子到父亲、父亲到儿子的期望。 设$F[i]$表示儿子$i$到父亲的期望距离。 可以分为$2$种情况: 直接到父亲。 概率为$\dfrac{1} 阅读全文
posted @ 2020-08-01 13:08 Mogeko 阅读(366) 评论(0) 推荐(0)
摘要:题目描述 $wobmaj$有$N$个数据结构,第$i$个数据结构具有工业指数$A_i$和包容指数$B_i(B_i\le A_i)$ 他会不断执行下面这个操作,直到无法再执行为止: 选择二元组$(i,j)$,将第$i$个数据结构套进第$j$个数据结构里,其中$A_i<B_j$。 每个数据结构只能嵌套和 阅读全文
posted @ 2020-07-04 18:52 Mogeko 阅读(198) 评论(0) 推荐(0)
摘要:gate 用时:正常的时间大概120min 这题spj...我能说我对着不存在的bug找了半天吗...我是傻逼(1/1) 因为要求神力值最大的字符串,不用求这个数值, 可以把每个值取$\log$, 把几何平均数转化为算数平均数。 \(\sqrt[n]{\prod a_i}=\frac{1}{n}\s 阅读全文
posted @ 2020-06-24 10:30 Mogeko 阅读(108) 评论(0) 推荐(0)
摘要:gate 用时:看题解一上午,写代码120min 省选打完了,继续停课... gg说要做历年省选题,还要看博客...公开处刑... 每个$modify$操作会复制1倍线段树并修改。 然而实际上不需要维护那么多线段树,维护1棵并在树上dp即可。 对于不同状态的节点有不同的维护操作,需要分类讨论。 (L 阅读全文
posted @ 2020-06-22 18:03 Mogeko 阅读(193) 评论(0) 推荐(0)
摘要:gate 一个很难想的题qaq 数据范围很小,可以状压DP。 考虑用二进制表示长方形状态: 横着的块两个格都为1,竖着的块上面为0,下面为1。 像这样,上面的格为1时,下面的可以随便放;上面的格为0时,下面必须为1。 用一个函数判断$i$行状态为$x$,$i-1$行状态为$y$是否合法: 设当前枚举 阅读全文
posted @ 2020-06-15 15:52 Mogeko 阅读(155) 评论(0) 推荐(0)
摘要:gate 状压DP,感觉状态不太好想... 设$f[i][j][k]$表示前i行,有j列放了1个,有k列放了2个。 对当前列放棋子的情况进行分类讨论: 放0个 直接从上一行转移: \(f[i][j][k] = f[i-1][j][k]\) 放1个 放在有0个棋子的列:\(f[i][j][k] += 阅读全文
posted @ 2020-06-15 10:32 Mogeko 阅读(111) 评论(0) 推荐(0)
摘要:gate 背包dp+容斥,然而没想出来。 首先预处理出没有限制的方案数。 价值为$c_i$的硬币有$d_i$个,那么不合法的方案数即为$f[c_i*(d_i+1)]$,因为若$c_i$超出限制,后面的再怎么选都是不合法的了。 但这样显然会有重复计算。所以,根据容斥原理,减去1种超限的,加上2种超限的 阅读全文
posted @ 2020-05-28 23:11 Mogeko 阅读(160) 评论(0) 推荐(0)
摘要:gate ###悬线法 用于求极大子矩阵 $l[i][j]:(i,j)$能扩展到的最左边的点 $r[i][j]:(i,j)$能扩展到的最右边的点 $up[i][j]:(i,j)$能扩展到的最上边的长度 预处理:(如果合法) \(l[i][j] = l[i][j-1]\) \(r[i][j] = r[ 阅读全文
posted @ 2020-05-26 23:29 Mogeko 阅读(143) 评论(0) 推荐(0)
摘要:gate 这是一道虚树的模板题。首先来介绍一下什么是虚树。 虚树,顾名思义,是一棵原本不存在的树。 虚树DP的标志是:一棵$n$个点的树,给出$k$个关键点(\(\sum k<\frac{n}{2}\)),求使这些点互不连通的最小代价。 可以发现,答案只与这些点和他们的$LCA$有关。 所以,可以通 阅读全文
posted @ 2020-03-25 10:29 Mogeko 阅读(260) 评论(0) 推荐(0)
摘要:gate 背包。 设f[i]为构成重量i的方案数。 则:f[i] = f[i]+f[i-c[i]] 每次更新,记录f[i]是由哪个张牌转移过来的,为pre[i] 为了防止重复(为什么会重复?),仅在当前pre[i]不存在时更新。 且只能从不为0的状态转移过来。 最后判断f[m], 大于1则多解,小于 阅读全文
posted @ 2019-11-12 22:11 Mogeko 阅读(182) 评论(0) 推荐(0)
摘要:gate 和我签订契约,成为马猴烧酒吧! 这题还挺有趣的... 区间dp(没想到吧) 设当前的Witch串为s f[x][i][j]代表字符x是否能克制s中的区间(i,j) 在dp的过程中,因为x只有'A'-'Z'26种,所以这里就直接暴力枚举。 而x的克制或孵化规则,一共也只有20种,所以也直接枚 阅读全文
posted @ 2019-11-08 17:46 Mogeko 阅读(232) 评论(0) 推荐(1)
摘要:gate 区间dp+博弈论 设j = i+len-1,f[i][len]表示以i为起点,长度为len(j为终点)的区间能取得的最大价值。 状态转移方程:f[i][len] = max(sum[i][j]-f[i+1][len-1],sum[i][j]-f[i][len-1]) 即取左面的或者右面的。 阅读全文
posted @ 2019-11-06 20:27 Mogeko 阅读(180) 评论(0) 推荐(0)
摘要:gate 这题一看就是没有思路啊_(:3」∠)_ 看起来像是类似货币系统那种背包,但是没有给定物品... 数据范围并不是很大,大概是O(搜索能过) 所以用dfs枚举每一种可能的邮票方案,再dp判断当前方案能表示的最大连续面值 dp: 枚举用几张邮票?显然不行。数组下标应该是面额,那么... 设b[i 阅读全文
posted @ 2019-11-01 22:18 Mogeko 阅读(148) 评论(0) 推荐(0)
摘要:传送门(然而有权限) yfl的题qwq 题目描述 为了战胜yfl,dtx采用了最先进的外挂,他可以使用游戏中的所有卡牌,但是 由于外挂设计者ljl改颓炉石传说了,所以每张卡牌只能使用一次,并且每一次只能使用编号相邻的两张卡牌,如果编号为i和编号为i+1的两张卡牌被使用了,那么编号为i+2的卡牌编号变 阅读全文
posted @ 2019-10-25 15:43 Mogeko 阅读(267) 评论(0) 推荐(0)
摘要:gate 很久以前就想做了,但是我太菜了不会qwq 这题的思路相当好啊! 因为垃圾掉下来是有时间顺序的,所以要先按时间排序 我刚开始写的是f[j]表示生命值为j时的最大高度。 不过因为生命值是随时间减少的,以时间作为一维, 下标必须要计算上一个垃圾的时间-当前垃圾的时间……总之状态转移会很麻烦x 根 阅读全文
posted @ 2019-10-22 16:45 Mogeko 阅读(121) 评论(0) 推荐(0)
摘要:gate 求01背包前k优解的价值和(题面还挺亲切的) 本来我想的是直接边跑01背包边记录,最后排序... 然后意识到,这种方法是枚举不全的。 看了眼题解...要多开一维! k的范围很小,f[i][j]表示空间为i,是第j优解。 那么,因为有许多j,所以对于每个不一样的j, f[i][j]既可能从f 阅读全文
posted @ 2019-10-21 20:01 Mogeko 阅读(110) 评论(0) 推荐(0)
摘要:gate 多重背包+01背包 以下是我的bug: i<<=1写成i<<1... 价值和体积写反了... 一开始脑残了全写的多重背包,半红半蓝...后来反应过来,二次函数好像没法用二进制优化... 改完还是40',然后注意到$ax^2+bx+c$,x是可以等于0的... 边界改了之后变成20',发现不 阅读全文
posted @ 2019-10-21 16:39 Mogeko 阅读(256) 评论(0) 推荐(0)
摘要:gate 还是状压dp... 因为int开成bool了de了好久,最后还是wjh帮忙看出来的qaq f[i][k][j]代表第i行,状态为j,上一行状态为k,上上行的状态为kk 四重循环,保证j,k、j,kk、k,kk不冲突的前提下,有: f[i][k][j] = max(f[i][kk][k] + 阅读全文
posted @ 2019-10-21 13:56 Mogeko 阅读(120) 评论(0) 推荐(0)
摘要:gate 设跳到i最少踩到的石子数为f[i],j ∈ (s,t), c[i]为i是否有石子。 dp方程:f[i] = min(f[i-j]+c[i]) 看起来很简单的样子? 但是这道题的数据范围比较奇怪,桥的距离有1e9,显然数组开不下… 不过石子的个数只有100,而且跳的距离只有1~10。 所以两 阅读全文
posted @ 2019-10-10 17:42 Mogeko 阅读(107) 评论(0) 推荐(0)
摘要:gate 树形dp水题,题意见题目w 直接判断是否选儿子即可。 #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #define MogeKo qwq using namespace std; const in 阅读全文
posted @ 2019-10-08 20:32 Mogeko 阅读(93) 评论(0) 推荐(0)