- 博客(6)
- 收藏
- 关注
原创 10.9刷题
「火」皇家烈焰链接:https://ac.nowcoder.com/acm/problem/53683这里假设字符串下标1~n转移和前一位、当前位还有下一位是不是烈焰有关,而前一位是什么可以在转移中题现,所以:f[i][0/1][0/1]表示只考虑字符串前i位,当前位和下一位是(1)不是(0)烈焰的方案数也就是说,在讨论f[i]时,不考虑第i+1位的字符是什么。f[i]只和字符串前i位有关这样的好处是初始化不需要像下面这么繁琐:if(s[1]>='0' && s[1]&l
2021-10-09 08:31:16
102
原创 题解|垃圾陷阱
链接:https://www.luogu.com.cn/problem/P1156f[i] [j]表示处理完第i个垃圾后,到达高度j,能活到的最长时刻注意是处理完第i个垃圾之后!!①由于j可能大于d,因此这里考虑我为人人,每次考察f[i-1] [j]能转移出去的状态②若逃脱失败,存活时间是max( f[0] [0] , f[1] [0] , … , f[n] [0]),而不是f[n] [0]③f[i] [j]有多种可能转移过来,可能来自上一层f[i-1] [j] (吃第i个垃圾), 也可能来自f[
2021-10-06 13:17:16
236
原创 计数类dp
整数划分题目链接:https://www.acwing.com/problem/content/902/#include <bits/stdc++.h>using namespace std;const int N=1010,mod=1e9+7;int f[N];int main(){ int n; cin >> n; f[0]=1;//初始化,用前0个物品可以装满体积0,其他物品无法装 for(int i=1;i<=n;i++)
2021-08-21 11:22:36
77
原创 背包问题
一、背包问题分类:01背包——每件物品最多1次完全背包——每件物品无限个多重背包——每件物品Si个分组背包——分成n组,每组物品最多1个dp优化:一般是对代码或状态转移方程等价变形01背包朴素版:f[i] [j]= max( f[i-1] [j] , f[i-1] [ j-v[i] ]+w[i] )#include <bits/stdc++.h>using namespace std;int n,m;const int N=1010;int v[N],w[N];
2021-08-20 11:26:45
86
原创 fvXKjMTzxD
fvXKjMTzxD进入markdown编辑器欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将
2021-08-16 11:33:49
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人