![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
普通dp
文章平均质量分 79
zsyz_ZZY
Be the stronger one!
展开
-
luogu P2467 [SDOI2010]地精部落
题目传送门:https://www.luogu.org/problemnew/show/P2467题意:求长度为n的波动序列(即序列每相邻两个的长度都不相等,每相邻三个的长度都不会递增或递减)的方案数模m。思路:f[i][1]表示长度为i的波动山脉数量,第一位为山谷,f[i][2]表示长度为i的波动山脉数量,第一位为山峰。很容易想到f[i][1]=f[i][2],因而就开一维,f[i]表示i的波动...原创 2018-04-07 21:12:03 · 160 阅读 · 0 评论 -
loj #3086. 「GXOI / GZOI2019」逼死强迫症
背景:好像也没什么。题目传送门:https://loj.ac/problem/3086题意:给一个2∗n2*n2∗n的矩阵,现在要用2∗(n−1)2*(n-1)2∗(n−1)的矩形和222块1∗11*11∗1的正方形铺满这个矩阵,要求这两个正方形不能相邻(边不能靠在一起)。思路:显然要用dpdpdp。设fi,jf_{i,j}fi,j表示在前iii列已经用了jjj块1∗...原创 2019-06-27 09:04:01 · 226 阅读 · 0 评论 -
luogu P5337 [TJOI2019]甲苯先生的字符串
背景:要中考改卷,搬到了国际部的机房。鼠标滚轮是坏的,差评。一直不能上luogu\text{luogu}luogu的原因是DNS\text{DNS}DNS域名有问题。题目传送门:https://www.luogu.org/problemnew/show/P5337题意:给出s1,ns1,ns1,n,求长度为nnn的字符串s2s2s2使得其相邻字母不与s1s1s1中的相邻字母重...原创 2019-06-28 10:27:32 · 205 阅读 · 0 评论 -
luogu P4463 [国家集训队] calc
背景:dp\text{dp}dp好神奇。人菜就要多看题解。题目传送门:https://www.luogu.org/problemnew/show/P4463题意:给出nnn。要求生成一个长度为nnn的序列,使得所有元素都∈[1,m]∈[1,m]∈[1,m],并且不互相同。这个序列的贡献为∏i=1nai\prod_{i=1}^{n}a_i∏i=1nai,现在求所有这样的序...原创 2019-07-06 17:10:44 · 268 阅读 · 0 评论 -
二项式反演(广义容斥定理)学习笔记
背景:解锁新姿势。说白了就是之前会的姿势太少了。正题:说白了就是有这样两条恒等的式子:fn=∑i=0n(−1)iCnigi⟺gn=∑i=0n(−1)iCnifif_n=\sum_{i=0}^{n}(-1)^iC_{n}^{i}g_i⟺g_n=\sum_{i=0}^{n}(-1)^iC_{n}^{i}f_ifn=i=0∑n(−1)iCnigi⟺gn=i=0∑n(−1)iCn...原创 2019-07-16 16:54:29 · 543 阅读 · 0 评论 -
luogu CF438E The Child and Binary Tree
背景:俯卧撑做得自闭。505050多个吧,虽然后面的不标准了,还是感觉到了深深的恶意。题意:给出nnn个权值,现在你可以从中选个一个组成一棵二叉树,多组询问求权值和恰好为sis_isi的方案数。思路套路题。设fkf_kfk表示权值和恰好为kkk的时候的方案数。gig_igi表示权值为iii的是否出现过,因为一个权值为iii的点可以算作一种方案。fk=∑i=1kgi∑...原创 2019-07-17 17:07:11 · 131 阅读 · 0 评论 -
luogu P4233 射命丸文的笔记
背景:暑假集训七月份最后一天,写写原来没有写过的blog\text{blog}blog吧。题目传送门:https://www.luogu.org/problemnew/show/P4233题意:求一个有nnn个点的竞赛图的哈密顿回路的数量的期望。思路:竞赛图:指任意两个顶点间恰有一条有向边的有向图;哈密顿回路:指除起点和终点外经过所有顶点恰好一次且起点和终点相同的路径。...原创 2019-07-20 10:10:23 · 255 阅读 · 0 评论 -
luogu P4052 [JSOI2007]文本生成器
背景:暑假集训七月份最后一天,写写原来没有写过的blog\text{blog}blog吧。题目传送门:https://www.luogu.org/problemnew/show/P4052题意:给出nnn个单词,要求这nnn个单词至少有一个出现在长度为mmm的文章中的方案数。思路:如果改成没有出现过的呢?首先可以发现答案就是所有串的个数减去不包含可读串的串的个数。前半...原创 2019-07-20 16:25:13 · 132 阅读 · 0 评论 -
luogu P4609 [FJOI2016]建筑师 & CF960G Bandit Blues
背景:没有啊。题目传送门:https://www.luogu.org/problem/P4609题意:nnn个建筑,每一个建筑的高度都是互不相同的数[1,n][1,n][1,n]且互不相同。问有多少种排列方式使得从左往右能看到AAA个建筑,从右往左能看到BBB个建筑。思路:考虑高度为nnn的一定会被两边同时看到,因此它是一个分界线。考虑最后的形状一定形如A+B−1A+B...原创 2019-08-21 08:44:17 · 250 阅读 · 0 评论 -
luogu P1578 奶牛浴场
背景:国家集训队大佬的例题。题目传送门:https://www.luogu.org/problemnew/show/P1578题意:在一个n∗mn*mn∗m的矩形中,框出一个矩形使得面积最大且不能碰到或包含被标记出来的点。思路:国家集训队大佬的论文。边界条件真的多。具体来说就是选一个不合法的点,向右边扩展,不断更新上下的最大边界,直到无法扩展。同理在右边向左边扩展即可...原创 2019-04-07 17:24:55 · 166 阅读 · 0 评论 -
luogu P1730 最小密度路径
题目传送门:https://www.luogu.org/problemnew/show/P1730题意:有n个点,m条边的有向图。现在有q个询问,每个询问求x~y的最小密度是多少。注意:最小密度=所经过路径的点劝和/路径数。思路:类似于floyd的dp。f[i][j][l]表示从点i到j的路径经过l条路径的点权和最小的点权和。则可知用一个k来枚举i~j的中转点,则f[i][j][l]=min(f[...原创 2018-04-27 20:03:16 · 199 阅读 · 0 评论 -
luogu P2331 [SCOI2005]最大子矩阵
题目传送门:https://www.luogu.org/problemnew/show/P2331题意:有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。思路:分析数据范围可知m=1或2,可以判断m,对于不同的m,推出不同的方程(详见代码)。代码:#include<cstdio>#include<cstring>...原创 2018-04-07 21:21:38 · 167 阅读 · 0 评论 -
luogu P1156 垃圾陷阱
题目传送门:https://www.luogu.org/problemnew/show/P1156题意:一头奶牛在深度为m的井中,有n个人在t[i]时刻丢下了高度为h[i],可以补充value[i]的垃圾,这头牛可以将这些垃圾拿来垫,好使它出去;或吃掉它,补充对应的能量。求可以出去的最小时刻;如果它永远无法出去,输出它可以维持生命的时间。思路:一维背包(详见代码)。代码:#include<c...原创 2018-04-07 21:41:35 · 121 阅读 · 0 评论 -
最长不下降子序列详解
就放在dp里吧……方法一(O(n^2)):很容易知道dp的做法,设f[i]表示以i结尾的最长不下降子序列的长度。比较容易,就不讲了吧。代码:#include<cstdio>#include<algorithm>using namespace std; int n,ans=0; int a[1000],f[1000];int main(){ scanf("%d"...原创 2018-04-08 14:49:17 · 644 阅读 · 0 评论 -
luogu P1415 拆分数列
题目传送门:https://www.luogu.org/problemnew/show/P1415题意:给出一列数字,需要你添加任意多个逗号将其拆成若干个严格递增的数。如果有多组解,则输出使得最后一个数最小的同时,字典序最大的解。思路:luogu上有详细的题解,比较难懂。首先,一看题目,就通过题解想到,要分为两个步骤来做:(1)求最后一个数最小的情况,(2)求在最后一个数最小时,字典需最大的情况。...原创 2018-04-08 20:12:22 · 279 阅读 · 0 评论 -
luogu 小a和uim之大逃离
题目传送门:https://www.luogu.org/problemnew/show/P1373思路:dp,类似于原来做的过河卒之类的题目,只不过这里多开一维,表示差值。代码:#include<cstdio>#define mod 1000000007 int n,m,k,ans=0; int a[801][801],f[801][80...原创 2018-04-03 07:59:47 · 160 阅读 · 0 评论 -
luogu P1901 发射站
题目传送门:https://www.luogu.org/problemnew/show/P1901题意:有n个发射站,它们有对应的高度和能量。每个发射站发出的能量都会被两边离它最近且比它高的能量站接收到,从而获得当前能量站的能量(当前能量站不扣除能量)。求获得最大能量的能量站的能量是多少。思路:一眼想到了单调队列(单调栈会更容易,但实用性没有那么好),转念一想,单调队列处理队列里的元素确实有些麻烦...原创 2018-04-11 08:03:02 · 291 阅读 · 0 评论 -
luogu P2051 [AHOI2009]中国象棋
题目传送门:https://www.luogu.org/problemnew/show/P2051题意:有一个n*m的矩阵,每一行、每一列不能摆超过三个棋子,求能摆棋子的方案数。思路:dp+组合数(详见代码)。代码:#include<cstdio>#include<algorithm>#define mod ...原创 2018-04-03 20:01:57 · 150 阅读 · 0 评论 -
luogu P4013 数字梯形问题
关于构图:这是一道最大费用最大流的好题,包括拆点和不拆点。我们需要理解题目中的“相交”是指走的边不重复(本题最难理解),那很容易,即流量为1.对于第一小问:1拆点,超级源点和汇点,st=0,ed=tot*2+1(其中tot指梯形节点的个数)。2.从i向i'建一条连接一条容量为1,费用为点i值的边。 3.从源点向梯形顶层每个节点建一条容量为1,费用为0的边。 4.从梯形底层每个节点向汇点建一条容量为...原创 2018-03-10 18:26:21 · 359 阅读 · 0 评论 -
luogu P4841 城市规划
背景:luogu\text{luogu}luogu推荐了这道水题,蒟蒻都能很快切。题目传送门:https://www.luogu.org/problem/P4841题意:求nnn个点的无向连通图的个数。思路:这是luogu P4233 \text{luogu P4233 }luogu P4233 射命丸文的笔记的弱化版。考虑图的总...原创 2019-08-17 11:43:57 · 213 阅读 · 0 评论