07 2012 档案

摘要:它是在1978年由Merkel和Hellman提出的。它的主要思路是假定某人拥有大量物品,重量各不同。此人通过秘密地选择一部分物品并将它们放到背包中来加密消息。背包中的物品中重量是公开的,所有可能的物品也是公开的,但背包中的物品是保密的。附加一定的限制条件,给出重量,而要列出可能的物品,在计算上是不可实现的。背包问题是熟知的不可计算问题,背包体制以其加密,解密速度快而其人注目。但是,大多数一次背包体制均被破译了,因此现在很少有人使用它。DD牛的背包九讲P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c,价值是w。求解将哪些物品装入背包可使这些物品的费用总和不超过背包 阅读全文
posted @ 2012-07-27 15:50 时光旅行的懒猫 阅读(213) 评论(0) 推荐(0)
摘要:该篇分为十一部分,分别是:vector类的主要成员、deque类的主要成员、list类的主要成员、stack类的主要成员、queue类的主要成员、priority_queue类的组要成员、set类的主要成员、multiset类的主要成员、map类的主要成员、multimap类的主要成员、STL算法函数(一)vector类的主要成员vector<T>是可边长的向量,比较灵活☆ value_type;//对象类型T,存储在vector中 [定义地方:容器]☆ pointer;//指向T的指针 [容器]☆ reference;//T的引用 [容器]☆ const_reference;// 阅读全文
posted @ 2012-07-27 15:42 时光旅行的懒猫 阅读(186) 评论(0) 推荐(0)
摘要:堆排序题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1425关于堆排序讲解详看http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html代码跑了562MS 实在是仰慕用93MS跑出来的这个题还必须用C交 用GCC交会TLEView Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define N 1000005 5 int a[N]; 6 vo 阅读全文
posted @ 2012-07-21 18:54 时光旅行的懒猫 阅读(355) 评论(0) 推荐(0)
摘要:题目链接http://poj.org/problem?id=1961该题的题意是这样的,给若干个字符串,判断该字符串的前n位最多重复了几次,比如,给ababab,结果是前4位重复了2次,前6位重复了3次,忽略重复一次的情况.现在我们将注意力放在一个给定的字符串重复了多少次,然后做一个循环就可以求出所有的结果。 我们要根据kmp算法中的next函数来解决这个问题,以ababab为例加以说明: String:ababab Next: -1001234 这里根据后面的需要多计算了一位next值。 我们用ababab即作为主串有作为模式串来进行匹配,假设匹配到第7为时不匹配了(下标中1开始)... 阅读全文
posted @ 2012-07-21 11:30 时光旅行的懒猫 阅读(202) 评论(0) 推荐(0)
摘要:题目链接http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2132 /* 将中缀表达式(a+b)转换为后缀表达式(ab+)的算法思想: ·当读到数字直接送至输出队列中 ·当读到运算符t时, a.将栈中所有优先级高于或等于t的运算符弹出,送到输出队列中; b.t进栈 ·读到左括号时总是将它压入栈中 ·读到右括号时,将靠近栈顶的第一个左括号上面的运算符全部依次弹出,送至输出队列后,再丢弃左括号。 ... 阅读全文
posted @ 2012-07-20 09:57 时光旅行的懒猫 阅读(669) 评论(0) 推荐(0)
摘要:题意:就是1...N的数按顺序入栈,看给定的输入是否是合法的出栈顺序,只要模拟就可以了。思路:按照给出的出栈顺序,一个一个和和当前栈顶的元素比较,不相等就向当前栈压入一个元素,因为是按照顺序压栈的,所以总会找到一个当前给出的顺序所在位置值一样的栈顶元素,然后出栈。同时 给出的元素顺序也后移一位 直到给出的顺序遍历完 或者出错。输入:5 //5个数入栈1 2 3 4 5 //出栈顺序5 4 1 2 3 //出栈顺序0 //5个数的结束6 //6个数的入栈6 5 4 3 2 10 //6个数的结束0 //输入结束题目链接http://poj.org/problem?id=1363View Code 阅读全文
posted @ 2012-07-19 11:51 时光旅行的懒猫 阅读(505) 评论(0) 推荐(0)
摘要:题目链接http://poj.org/problem?id=3750用链表解决的约瑟夫问题写的比较麻烦比较长View Code 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 struct node 5 { 6 int num; 7 char name[200]; 8 struct node*next; 9 };10 struct node*creat(int n)11 {12 int i;13 struct node*p,*tail,*head;14 p=(str... 阅读全文
posted @ 2012-07-17 19:04 时光旅行的懒猫 阅读(531) 评论(0) 推荐(0)
摘要:高精度阶乘问题以前从没做过高精度的问题 上午做的时候把高精度的加减乘都看了一遍 大概了解了下怎么做题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1042这个是看着乘法比着写的1、判断乘后大数的位数,此题约为40000;2、选择由那种类型数组存储,一般由int存储,一个数能存5位(10000*100000<2^31);3、确定数组长度,此题约为40000/5=8000;4、计算数组中每个数与普通数的乘积并存入数组;5、计算数组中每个数乘普通数的进位,加入高一位数组;6、输出时先计算使用了多少个的数组,然后向前输出数组。View Code 1 # 阅读全文
posted @ 2012-07-16 23:09 时光旅行的懒猫 阅读(160) 评论(0) 推荐(0)
摘要:简单DP题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1257View Code 1 #include <stdio.h> 2 #define M 100000 3 int x[M],y[M]; 4 int main() 5 { 6 int n,i,j,c; 7 y[0]=0; 8 while(scanf("%d",&n)!=EOF) 9 { 10 c=0; 11 for(i=0;i<n;i++) 12 { 13 scanf(... 阅读全文
posted @ 2012-07-16 22:58 时光旅行的懒猫 阅读(200) 评论(0) 推荐(0)