
DP
K3_14
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Sumsets POJ - 2229
如果i为奇数:肯定有一个1,把dp[i-1]的每一种情况加一个1就得到dp[i],所以dp[i]=dp[i-1] 如果i为偶数:(有两种情况) 如果有1,至少有两个,则dp[i-2]的每一种情况加两个1,就得到i, 如果没有1,则把分解式中的每一项除2,则得到dp[i/2],原创 2017-03-04 20:35:37 · 272 阅读 · 0 评论 -
算法训练 数字三角形
最基础的dp题 #include #include using namespace std; int n,t; int a[110][110],dp[2][110]; int main() { scanf ("%d",&n); for (int i=1;i<=n;i++) { for (int j=1;j<=i;j++) scanf ("%d",&a[i][j]);原创 2017-03-18 07:19:43 · 321 阅读 · 0 评论 -
算法训练 未名湖边的烦恼
两种方法: 1.递归 #include #include using namespace std; int m,n; int f(int m,int n) { if (m<n) return 0; if (n==0) return 1; return f(m-1,n)+f(m,n-1); } int main() { scanf ("%d%d",&m,&n); printf ("原创 2017-03-18 07:55:34 · 434 阅读 · 0 评论 -
Cow Bowling POJ - 3176
数字三角形问题 #include #include using namespace std; int n,t; int a[355][355],dp[2][355]; int main() { while (~scanf ("%d",&n)) { for (int i=1;i<=n;i++) { for (int j=1;j<=i;j++) scanf ("%d",原创 2017-03-04 23:12:10 · 297 阅读 · 0 评论 -
蓝桥 生命之树
在X森林里,上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。 在这个前提下,上帝要使得S中的点所对应的整数的和尽原创 2017-04-04 15:42:51 · 357 阅读 · 0 评论 -
蓝桥 漏斗
两个数字三角形叠加 题目描述: 有一个漏斗形的区域(如图片1形状),要求从顶层走到底层,每一步只能从下面一行中相邻的点中走,则经过的点的数字之和最大是多少? 输入: 第一行是一个整数N(2 接下来用 2*N-1 行数字表示每行区域中的数字,且所有的整数均在区间[0,9]内。 输出: 输出最大的和。 输入样例1: 3 1 2 3 6 5 7原创 2017-04-06 09:41:42 · 451 阅读 · 0 评论