- 博客(7)
- 收藏
- 关注
原创 P1216 数字三角形(洛谷刷题记)
P1216 数字三角形(洛谷刷题记)题目观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 范围1 <= n <= 1000,所有输入数在区间 [0,100] 内分析对于每个数来说,它只能来自于它的左上角那个数以及正上方那个数,故只需要将这二者取
2022-05-07 21:46:18 379
原创 洛谷刷题记 P1802 5倍经验日
P1802 5倍经验日(洛谷刷题记)题目第一行两个数,n(n表示有多少个高等级的好友)和 x(玩家拥有的药丸数)。后面 n 行每行三个数,分别表示失败时获得的经验 lose i ,胜利时的经验 win i 和打过要至少使用的药数量 use i 。说明:每个药丸只能用一次,用药量没达到最少打败该人所需的属性药药量,则打这个人必输。例如用 2 个药去打别人,别人却表明 3 个药才能打过,那么相当于输了并且这两个属性药浪费了。范围n,x,use <= 1e3;win,lose <= 1e6
2022-05-06 16:26:26 324
原创 洛谷刷题记 P1616 疯狂的采药
P1616 疯狂的采药(洛谷刷题记)题目信息输入第一行有两个整数,分别代表总共能够用来采药的时间 t 和代表山洞里的草药的数目 m。第 2 到第 (m + 1) 行,每行两个整数,a,b分别表示每种草药的时间和该草药的价值m <= 1e4,t<=1e7,m*t<=1e7,ai,bi <= 1e4;分析完全背包,但是:极限情况下,时间乘以药草价值 1e7*1e4 = 1e11,超过了int,所以要开long longint 约1e9,long long 约1e18代码
2022-05-06 14:32:36 213
原创 多重背包_DP一维数组
多重背包题目描述有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。解释零一背包只有每个物品的价值和体积,对应核心代码for(int i=1;i<=n;i++) for(int j=m;j>=v[i];j--) f[j] = max(f[j],f[j - v[i]] + w[i]);由于多重背包只是在零一背包的基础上增加了数量限制,故
2022-05-05 23:27:45 250
原创 完全背包_DP二维数组及优化一维数组
完全背包问题描述有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。DP_二维数组#include<bits/stdc++.h>using namespace std;const int N = 1010;int n,m;int v[N],w[N],f[N][N]={0};int main(){ cin >&g
2022-05-04 14:34:41 467
原创 零一背包_DP二维数组及优化及DP一维数组
零一背包题目描述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。DP_二维数组代码#include<bits/stdc++.h>using namespace std;const int N = 1001;int n,m;int v[N],w[N],f[N][N]={0};int main(){ cin >&
2022-05-04 11:10:23 403
原创 Day1_学习MarkDown
MarkDown标题#号+空格+“标题“(一二三四级标题对应一二三四个#)代码三个 ` 然后回车代码#include<stdio.h>int main(){ int x; scanf("%d",&x); printf("%d\n",x); return 0;}字体选中之后自己设置字体加粗:首尾都各有两个*斜体:首尾都各有一个*斜体加粗:首尾都各有三个*引用引用内容引用:> + 空格 + 引用内容分割线连续三个***或者连续三个
2021-07-25 11:36:15 84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人