
dp
1
Hazelxcf
jmp 0:0x7c00
展开
-
C. k-Tree
传送门 题意: n,k,d; k-tree,每个节点有k个孩子,1,2,3....k; 求存在weight = n && 至少有一条边 >= d 方案数 dp[n][1]表示和为n,max >= d的方案数量 dp[n[0]表示和为n,max < d 的方案数量 #include <bits/stdc++.h> using namespace std; const int mod = 1e9 + 7; int n,k,d; long long dp[110原创 2020-10-20 19:18:22 · 244 阅读 · 0 评论 -
寻宝
小明有一张藏宝图,上面有m*n个房间,每个房间里面都有一个有一定价值的宝物,小明只能从左上角的房间进入收集宝物,且每次只能向右边或向下边的房间继续寻宝,最终只能从最右下的房间出来。请你帮小明计算下他最多可以收集到多少价值的宝物? 输入格式: 输入第一行给出两个正整数m,n(1=<m,n<=2000),随后给出m行数据,每行都包括n个正整数,中间用空格分割。 输出格式: 输出收集到的最大价值v,题目保证v<10^9。 输入样例: 4 4 1 18 9 3 7 10 6 12 5 13原创 2020-10-12 20:48:13 · 546 阅读 · 3 评论 -
最长上升子序列
传送门 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000, −1e9≤数列中的数≤1e9 #include<bits/stdc++.h> using namespace std; int n,a; set<int> s; int main() { ios::sync_with_stdio(0); cin >原创 2020-10-13 18:42:41 · 317 阅读 · 0 评论