随笔分类 -  D-动态规划-计数DP

摘要:题目 题目描述 你是一位精明的数学家,擅长用计算机来解决各类小学奥数题。 这一天,你想起来了著名的 "开关灯问题", 它曾经经常被拿来为难小朋友们。 于是你决定完成一个程序来彻底解决这个问题。 "开关灯问题" 在小学奥数书上的描述是这样的: 一个走廊里有 $100$ 盏按顺序排好的灯, 它们分别拥有 阅读全文
posted @ 2020-11-29 17:31 基地AI 阅读(185) 评论(0) 推荐(0)
摘要:Problem 题目地址 Solution 首先做一步转换,强制所有的点向坐标轴平移,这样对于每一维至少有一个点该维的坐标是 $0$(以下简述为:每一维至少一个 $0$。) 这样一个点集的直径就是这个点集每一维每个点该维最大坐标的最大值。 对于恰好这个条件,不好求。可以转化为设 \(f(D)\) 为 阅读全文
posted @ 2020-11-24 07:59 基地AI 阅读(106) 评论(0) 推荐(0)
摘要:Problem 题目地址 Solution 对于一个长度为 \(i\) 的上升子序列,操作方案数有 \((n-i)!\) 种。 令 \(g[i]\) 表示长度为 \(i\) 的上升子序列的集合,\(g[i]\) 仅记录集合元素个数。考虑 \(g[i]\) 这个集合带来的合法操作方案总数。 全集:对于 阅读全文
posted @ 2020-11-23 14:23 基地AI 阅读(178) 评论(0) 推荐(0)
摘要:Problem [#4767.两双手] 题目地址 [#3782. 上学路线] 题目地址 一道很像的题。 Solution 将两个行走方式看做两个二维向量 \(\vec{A},\vec{B}\),令其为该向量空间的基,对该空间变换后,得到每个禁止点的新坐标和终点的新坐标。 可以发现从一个点 \(u(u 阅读全文
posted @ 2020-11-23 11:29 基地AI 阅读(158) 评论(0) 推荐(0)
摘要:Problem 题目地址 Solution 首先对题意进行一步转换:从 \([1,2^n-1]\) 中选出不重复的 \(m\) 的数,使它们的异或和为 $0$ 的方案数。 手推一下即可。 为了计算方便,我们考虑顺序,最后再把顺序处理掉(即选择的集合相同,顺序不同视作不同的方案)。 设 \(f[i]\ 阅读全文
posted @ 2020-11-23 09:56 基地AI 阅读(107) 评论(0) 推荐(0)
摘要:Problem 题目链接 Solution 划分dp 记原问题选 \(n\) 个数之和为 \(k\),其中每个数是 \(\frac{1}{2^i},i \in [0,\infty]\) 的方案数为 \(f(n,k)\)。 求解划分dp一般抓住选 $1$ 和不选 $1$ 把原集合划分为两个集合。因此我 阅读全文
posted @ 2020-11-02 15:52 基地AI 阅读(185) 评论(0) 推荐(0)
摘要:题目地址 Solution (duyi是我们的红太阳) (这里说一句:这题看上去是一个概率dp,鉴于这题的概率dp写法看上去不好写,我们其实可以写一个计数dp) 首先拿到这个题目我们要能设出一个普通dp。难点在于状态如何设计。(n<=100)状态压缩不可行。 这里有一个设计状态的套路:因为这是一个0 阅读全文
posted @ 2019-11-28 22:41 基地AI 阅读(192) 评论(0) 推荐(0)
摘要:这题我想了好久 设 \(f_{i,j}\) 为 \(i\) 结点 \(<=j\) 的方案数 固定根,枚举左右子树,就有: \(f_{i,j}=\sum_{k=0}^{n-1}f_{k,j-1}*f_{i-k-1,j-1}\) 初始化 \(f_{0,i}=1\) 答案 \(ans=f_{n,n}-f_ 阅读全文
posted @ 2019-10-26 07:56 基地AI 阅读(173) 评论(0) 推荐(0)