非poj
Jazzmine
这个作者很懒,什么都没留下…
展开
-
神奇的口袋
原题: 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。 一个背包问题 依然是两种解决办法 递推和动归原创 2017-09-09 21:16:14 · 246 阅读 · 0 评论 -
素数打表
希望得到高效的素数表 以下是粘贴别人的 自己运行了一下 大概知道流程 但还是没有太看懂#include #include #include #include #include using namespace std; #define M 100 bool visit[10100000]; int prime[10000000]; void table() { memset(visit,转载 2017-09-17 21:33:08 · 314 阅读 · 0 评论 -
dp-最长公共子序列
比较简单的动态规划 但是输入的时候出现了问题 不熟悉c++的输入 还是字符串没有搞懂 可怕 #include using namespace std; int main(int argc, const char * argv[]) { int i,j,n,m,dp[1005][1005]; char s[1005],t[1005];原创 2017-08-31 18:55:42 · 256 阅读 · 0 评论 -
最大上升子序列
运用递归的方法 将整个问题分成一堆子问题 即转化为以第i(i 状态就是n个数 储存长度的数组是maxlen[MAX] 转化方程是如果a[j] 啊 搞懂了 因为同一个i中循环了不同的j 总要取一个最大值作为当前i的长度 果然还是手写一遍比较好 #include #include #include using namespace std; int mai原创 2017-09-01 20:49:13 · 232 阅读 · 0 评论 -
最佳加法表达式
//子问题:假定数字串长度是n 将一个加号添加在第i个数字后 整个式子的最小值等于在前i个数中插入m-1个加号所能形成的最小值加上第i+1到第n个数字所组成的数的值 // v(m,n)表示表达式的最小值 //m=0 n个数字的值 //n //v(m,n)=min(v(m-1,i)+num(i+1,n)) #include #include usin原创 2017-09-02 21:59:01 · 680 阅读 · 0 评论 -
十字链表的创建
#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef int Status; typedef struct OLNode{ int col, row; ElemType value; struct OLNode *down, *right; }OLNode, *OL...原创 2018-04-15 22:14:33 · 1023 阅读 · 0 评论