- 博客(72)
- 资源 (14)
- 收藏
- 关注
原创 POJ 3624 0-1背包问题 动态规划
第一道背包问题,0-1背包,参考网上一位大牛写的做的。状态方程:dp[i][w] = max{dp[i-1][w], dp[i-1][w-obj[i].wei] + obj[i].val]},但这样会超内存,需要一个空间复杂度的优化将dp改为一维,这招看来以后得常用,具体见转载的《背包九讲》。 明天好好读读《背包九讲》,在多做几道dp变形题,练习在于精不在多。#include using namespace std;const int mMax = 3500;//待选物品个数con
2010-11-30 23:57:00 2600
POJ 3624 0-1背包问题 动态规划
第一道背包问题,0-1背包,参考网上一位大牛写的做的。状态方程:dp[i][w] = max{dp[i-1][w], dp[i-1][w-obj[i].wei] + obj[i].val]},但这样会超内存,需要一个空间复杂度的优化将dp改为一维,这招看来以后得常用,具体见转载的《背包九讲》。 明天好好读读《背包九讲》,在多做几道dp变形题,练习在于精不在多。#include <i...
2010-11-30 23:57:00 106
原创 POJ 1565 Skew Binary pow函数使用
这题是水题,主要是用到了C++字符串和cmath中的pow函数。 最近可有点多,做POJ时间不够,还是要抓紧一些,尤其是动态规划、搜索题等要多练。#include #include #include using namespace std;int main(){ string s; while(1){ cin>>s; if (s == "0") break; long result = 0; int k = 1; string::i
2010-11-30 22:24:00 1740
POJ 1565 Skew Binary pow函数使用
这题是水题,主要是用到了C++字符串和cmath中的pow函数。 最近课程有点多,做POJ时间不够,还是要抓紧一些,尤其是动态规划、搜索题等要多练。#include <iostream>#include <string>#include <cmath>using namespace std;int main(){ string s;...
2010-11-30 22:24:00 134
原创 POJ 1326 飞机里程 四舍五入处理
今天主要是学习了一下DP,三个使用前提:最有子结构、子问题重叠性、无后效性,今后重点练dp题,至少做30题加深理解 这题纯粹为了练习编码速度。#include #include using namespace std;int main(){ int c,miles = 0; string a; char b; while(cin>>a && a[0] != '#'){ if (a[0] != '0') { cin>>a>>c>>b;
2010-11-28 21:33:00 1612
POJ 1326 飞机里程 四舍五入处理
今天主要是学习了一下DP,三个使用前提:最优子结构、子问题重叠性、无后效性,今后重点练dp题,至少做30题加深理解 这题纯粹为了练习编码速度。#include <iostream>#include <string>using namespace std;int main(){ int c,miles = 0; string a; cha...
2010-11-28 21:33:00 110
原创 POJ 1547 Clay Bully 结构体数组使用题意理解
这题很简单,可以设置结构体保存三维及姓名,求出体积最大的人和最小的人输出即可。 由于没有注意输出"."而贡献了一次WA,囧#include #include #include using namespace std;struct stu{ stu(){} string name; int d;}s[1000];int comp(const void * a,const void * b){ return ((stu*)a)->d - ((stu*)b)
2010-11-27 20:47:00 1921
POJ 1547 Clay Bully 结构体数组使用题意理解
这题很简单,可以设置结构体保存三维及姓名,求出体积最大的人和最小的人输出即可。 由于没有注意输出"."而贡献了一次WA,囧#include <iostream>#include <algorithm>#include <string>using namespace std;struct stu{ stu(){} string ...
2010-11-27 20:47:00 79
原创 POJ 1015 公正陪审团问题 动态规划
这题想了很久,是经典的动态规划问题,感觉有点难度,在网上看了很多讨论。 看了动态规划还要好好加强。#include using namespace std;int main(){ long i,j,k,l,n,m,t1,maxf,count; long p[210],d[210],f[210],s[210]; long can[30]; long res[30][1000],from[30][1000]; count=0
2010-11-27 19:56:00 2658
POJ 1015 公正陪审团问题 动态规划
这题想了很久,是经典的动态规划问题,感觉有点难度,在网上看了很多讨论。 看了动态规划还要好好加强。#include <iostream>using namespace std;int main(){ long i,j,k,l,n,m,t1,maxf,count; long p[210],d[210],f[210],s[210]; lo...
2010-11-27 19:56:00 102
原创 POJ 1316 self numbers 整数各位相加处理
这题很简单,直接贴AC代码了#include #include #define MAXN 10000using namespace std;int num[MAXN];int dnum(int i){ int sum = i; int temp; while (i > 0) { temp = i%10; sum += temp; i = (i-temp)/10; } return sum;}int main(){ int i,j;
2010-11-27 16:24:00 1592
POJ 1316 self numbers 整数各位相加处理
这题很简单,直接贴AC代码了#include <iostream>#include <string.h>#define MAXN 10000using namespace std;int num[MAXN];int dnum(int i){ int sum = i; int temp; while (i > 0) { te...
2010-11-27 16:24:00 73
原创 POJ 2479 最大数字连续和 动态规划
在输入的同时,进行一次DP,计算出从左到右的最大值,并把它保存在数组dp的对应的下标元素中,这样之后,对于下标为i的元素,它其中保存的便是前面所有元素可能的最大连续和。再从右到左进行一次DP,计算从右到左的最大连续和。假设此时已经算到下标为i的元素,那么将sum+dp[i-1]与ans进 行比较,将ans取较大者。最后当i到2的时候ans中的值即为所求的最大值。#include using namespace std;int dp[100001],num[100001];const i
2010-11-27 15:31:00 4289
POJ 2479 最大数字连续和 动态规划
在输入的同时,进行一次DP,计算出从左到右的最大值,并把它保存在数组dp的对应的下标元素中,这样之后,对于下标为i的元素,它其中保存的便是前面所有元素可能的最大连续和。再从右到左进行一次DP,计算从右到左的最大连续和。假设此时已经算到下标为i的元素,那么将sum+dp[i-1]与ans进 行比较,将ans取较大者。最后当i到2的时候ans中的值即为所求的最大值。#include <i...
2010-11-27 15:31:00 95
原创 POJ 1298 字母加密 STL String的使用及审题重要性
这题很简单,但由于审题不清WA了很多次,太不应该Any non-alphabetical character should remain the same, and all alphabetical characters will be upper case.即只要不是字母就不变,如下写法错误if(*it == ' ' || *it == ',') continue;另外,对C++ String的使用中如何将空格也输入也是一个难点,getline不太好用,这里用了一个C的string作为中间量,借助C函
2010-11-26 17:06:00 1507
POJ 1298 字母加密 STL String的使用及审题重要性
这题很简单,但由于审题不清WA了很多次,太不应该Any non-alphabetical character should remain the same, and all alphabetical characters will be upper case.即只要不是字母就不变,如下写法错误if(*it == ' ' || *it == ',') continue;另外,对C...
2010-11-26 17:06:00 73
转载 C++ STL string类相关
<br />之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 <br />担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== <br />进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 <br /><br />首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>。如下: <br />#inc
2010-11-26 16:07:00 1693
C++ STL string类相关
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用=进行赋值操作,==进行比较,+做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。首先,为了在我们的程序中使用string类型,我们必须包含头文件<...
2010-11-26 16:07:00 62
原创 POJ 1247 数组首尾求和判定相等 枚举法
此题把题意弄懂后就很容易,S顺时针走,E逆时针走,确定一个分割点该处两人相遇时途经的客人数之和相等,直接枚举。#include using namespace std;//s顺时针走,e逆时针走,问他们在哪里相遇时路径上面经过的数字之和相等//直接用枚举法int main(){ int table[32]; int n,sum1,sum2,i,j; while(cin>>n,n!=0){ for (i = 1;i >table[i]; for (i = 1;i
2010-11-25 23:22:00 1757
POJ 1247 数组首尾求和判定相等 枚举法
此题把题意弄懂后就很容易,S顺时针走,E逆时针走,确定一个分割点该处两人相遇时途经的客人数之和相等,直接枚举。#include <iostream>using namespace std;//s顺时针走,e逆时针走,问他们在哪里相遇时路径上面经过的数字之和相等//直接用枚举法int main(){ int table[32]; int n,sum1,sum...
2010-11-25 23:22:00 93
原创 POJ 1847 最短路问题 dijkstra算法的实现
首先自己练习了一下实现dijkstra算法,可以把dj算法与prim算法对比记忆,要理解pre数组、min数组、V标记数组的含义!//单源最短路径,dijkstra算法,邻接阵形式,复杂度O(n^2)//求出源s到所有点的最短路经,传入图的顶点数n,(有向)邻接矩阵mat//返回到各点最短距离min[]和路径pre[],pre[i]记录s到i路径上i的父结点,pre[s]=-1//可更改路权类型,但必须非负!//可以把dj算法与prim算法对比记忆,要理解pre数组、min数组、V标记数组的
2010-11-25 22:30:00 3640
POJ 1847 最短路问题 dijkstra算法的实现
首先自己练习了一下实现dijkstra算法,可以把dj算法与prim算法对比记忆,要理解pre数组、min数组、V标记数组的含义!//单源最短路径,dijkstra算法,邻接阵形式,复杂度O(n^2)//求出源s到所有点的最短路经,传入图的顶点数n,(有向)邻接矩阵mat//返回到各点最短距离min[]和路径pre[],pre[i]记录s到i路径上i的父结点,pre[s]=-1//...
2010-11-25 22:30:00 91
转载 华东理工某ACMer总结
<br /> <br />做算法和作技术哪个难? 都很难, 没有可比性. 但是算法做得好的可以转行做技术, 技术做得好的想转行做算法却很困难.<br /><br />我是08年下半年将近期末的时候加入华理ACM队的. 我高中的时候没有编程经验, 数学也不好, 高考数学刚及格. 因为第二工业大学的网络工程专业的分数是最低的, 所以就比较巧合地步入了计算机行业. 大一有一门C++课程, 当时我在第一次上机的时候就深深的被C++迷住了. C++是一门极其优美的语言, 相比于高中计算机课上一笔带过的VB, 我最喜欢
2010-11-24 23:26:00 2664
华东理工某ACMer总结
做算法和作技术哪个难? 都很难, 没有可比性. 但是算法做得好的可以转行做技术, 技术做得好的想转行做算法却很困难.我是08年下半年将近期末的时候加入华理ACM队的. 我高中的时候没有编程经验, 数学也不好, 高考数学刚及格. 因为第二工业大学的网络工程专业的分数是最低的, 所以就比较巧合地步入了计算机行业. 大一有一门C++课程, 当时我在第一次上机的时候就深深的被C++迷住了. C++是一...
2010-11-24 23:26:00 227
转载 各位acmer 学累的时候不妨来看看
2 学习资料说明 入门其实有两种方法:1 自己看竞赛书,看别人的程序等等。2 上题库(如:pku和zju)做题。第一种可以较为系统的学到东西,但是时间久了就会无聊,而且长久实践不足,编程能力永远得不到真正的提高。第二种虽然看着自己AC很兴奋,看着自己的帐号排名提高很开心,但是学习不系统,对较深的知识学习不足,总停留在做简单题的份上。 最好的方法就是两种方法相结合。作为入门者还是要以多看简单竞赛书多看题目和程序为主(例如:《信息奥赛辅导教材》、《基本算法稿》、《06暑假培训》和《基本算法C
2010-11-24 23:23:00 1650
各位acmer 学累的时候不妨来看看
入门其实有两种方法:1 自己看竞赛书,看别人的程序等等。2 上题库(如:pku和zju)做题。第一种可以较为系统的学到东西,但是时间久了就会无聊,而且长久实践不足,编程能力永远得不到真正的提高。第二种虽然看着自己AC很兴奋,看着自己的帐号排名提高很开心,但是学习不系统,对较深的知识学习不足,总停留在做简单题的份上。 最好的方法就是两种方法相结合。作为入门者还是要以多看简单竞赛书多看题目和程...
2010-11-24 23:23:00 59
原创 POJ 3615 牛的最小最大起跳高度问题 Floyd算法的变形应用
此题求牛从起点到终点路径中最大权值最小的那条路径,将Floyd算法稍作修改即可,注意此题输入输出处理不当可能引起超时,一般scanf及printf更节省时间。#include #include #define MAX_VEX 305#define MAX_WEI 1000005using namespace std;int A[MAX_VEX][MAX_VEX];//用cin,cout会超时int main(){ int N,M,T,i,j,k,h; int
2010-11-24 22:48:00 1786
POJ 3615 牛的最小最大起跳高度问题 Floyd算法的变形应用
此题求牛从起点到终点路径中最大权值最小的那条路径,将Floyd算法稍作修改即可,注意此题输入输出处理不当可能引起超时,一般scanf及printf更节省时间。#include <iostream>#include <cstdio>#define MAX_VEX 305#define MAX_WEI 1000005using namespace std...
2010-11-24 22:48:00 77
原创 多源最短路径Floyd算法邻接矩阵形式C++实现
多源最短路径Floyd算法邻接矩阵形式C++实现,输入点数、边数和起点、终点、权值,输出最短路径及权值#include #define MAX_VEX 305#define MAX_WEI 1000005using namespace std;int A[MAX_VEX][MAX_VEX],Path[MAX_VEX][MAX_VEX];//输出最短路径void prn_pass(int j , int k){ if (Path[j][k]!=-1) { prn_
2010-11-24 22:00:00 6774
多源最短路径Floyd算法邻接矩阵形式C++实现
多源最短路径Floyd算法邻接矩阵形式C++实现,输入点数、边数和起点、终点、权值,输出最短路径及权值#include <iostream>#define MAX_VEX 305#define MAX_WEI 1000005using namespace std;int A[MAX_VEX][MAX_VEX],Path[MAX_VEX][MAX_VEX];//输...
2010-11-24 22:00:00 153
原创 POJ 3522 变形kruskal算法及并查集的实现
此题对kruskal算法做了变形,不是求最小生成树,而是求最大边权值与最小边权值之差最小的生成树,同样可以用kruskal算法的实现方法,采用并查集。如果求最小生成树要将边加入到堆中,并且不需要遍历所有的生成树情况//此题对kruskal算法做了变形,不是求最小生成树//而是求最大边权值与最小边权值之差最小的生成树//同样可以用kruskal算法的实现方法,采用并查集#include #include #include #define inf 10000000//边权值的上界us
2010-11-23 21:02:00 1898
POJ 3522 变形kruskal算法及并查集的实现
此题对kruskal算法做了变形,不是求最小生成树,而是求最大边权值与最小边权值之差最小的生成树,同样可以用kruskal算法的实现方法,采用并查集。如果求最小生成树要将边加入到堆中,并且不需要遍历所有的生成树情况//此题对kruskal算法做了变形,不是求最小生成树//而是求最大边权值与最小边权值之差最小的生成树//同样可以用kruskal算法的实现方法,采用并查集#incl...
2010-11-23 21:02:00 82
原创 POJ 1019 数字长串大数处理
这题开始用常规思路总是超时,后来参考鸵鸟兄写的算法总算AC,注意内联函数及_int64类型的运用。 Int64 值类型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数。 Int64 为比较此类型的实例、将实例的值转换为它的字符串表示形式以及将数字的字符串表示形式转换为此类型的实例提供了相应的方法。 编译用VS2008才不出错,老版本VC++ 6.0报错#include #include u
2010-11-23 18:52:00 2038
POJ 1019 数字长串大数处理
这题开始用常规思路总是超时,后来参考鸵鸟兄写的算法总算AC,注意内联函数及_int64类型的运用。 Int64 值类型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数。Int64 为比较此类型的实例、将实例的值转换为它的字符串表示形式以及将数字的字符串表示形式转换为此类型的实例提供了相应的方法。编译...
2010-11-23 18:52:00 64
原创 POJ 2421 图的最小生成树 prim算法 模板代码的利用
这题调试了很久,开始自己试图按照自己的理解实现prim算法,但是总是出错。后来参考了网上的算法模板,总算把此题解决。算法模板可以用,但不可以滥用,最好是理解使用的细节,代码库不在多,好用是关键! 基本算法是:修好的路的边权值赋为0,再用prim求最小生成树输出权值。#include #define MAXN 200#define inf 10000typedef int elem_t;using namespace std;elem_t prim(int n,elem_
2010-11-22 20:45:00 2916
POJ 2421 图的最小生成树 prim算法 模板代码的利用
这题调试了很久,开始自己试图按照自己的理解实现prim算法,但是总是出错。后来参考了网上的算法模板,总算把此题解决。算法模板可以用,但不可以滥用,最好是理解使用的细节,代码库不在多,好用是关键! 基本算法是:修好的路的边权值赋为0,再用prim求最小生成树输出权值。#include <iostream>#define MAXN 200#define inf 1000...
2010-11-22 20:45:00 90
原创 POJ 1016 循环数 字符串处理与英文理解
这题挺简单,但是题目稍微有点长,基本没什么算法。#include #include using namespace std;string transfer(string s){ int num[10] = {0}; char res[80]; int i; int j = 0; for (i = 0 ; i 0 && num[i] = 10) { res[j++] = num[i]/10 + '0'; res[j++] = num[i]%10
2010-11-22 20:07:00 1590
POJ 1016 循环数 字符串处理与英文理解
这题挺简单,但是题目稍微有点长,基本没什么算法。#include <iostream>#include <string>using namespace std;string transfer(string s){ int num[10] = {0}; char res[80]; int i; int j = 0; for (i = 0 ...
2010-11-22 20:07:00 62
原创 android移动开发平台的搭建
<br /> 今天看了联通沃商店的上海发布会,开复老师直言手机平台移动互联网的未来市场前景是当前PC平台市场的14倍,并做了一些数据分析,感觉智能手机软件开发今后的确是一个很热的方向。但还是想先把算法及编程功底打牢,再学习日新月异的技术也很容易了,不管怎么变,算法及编程永远是核心。<br /> 今天搭建了android开发平台,并做一些初步了解,摘录资料如下:<br /> The steps below provide an overview of how to get started wit
2010-11-22 13:05:00 1983
android移动开发平台的搭建
今天看了联通沃商店的上海发布会,开复老师直言手机平台移动互联网的未来市场前景是当前PC平台市场的14倍,并做了一些数据分析,感觉智能手机软件开发今后的确是一个很热的方向。但还是想先把算法及编程功底打牢,再学习日新月异的技术也很容易了,不管怎么变,算法及编程永远是核心。 今天搭建了android开发平台,并做一些初步了解,摘录资料如下: The steps below provide an...
2010-11-22 13:05:00 163
LibSVM Java API调用示例程序
2012-12-16
基于机器学习SNS隐私向导分类器的C++及WEKA实现源码
2012-06-03
基于机器学习的SNS隐私保护策略推荐向导的设计与实现
2012-06-03
基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序
2012-04-24
基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序共享版
2012-04-24
基于Kmeans算法、MBSAS算法及DBSCAN算法的newsgroup18828文本聚类器
2012-04-17
基于贝叶斯及KNN算法的newsgroup文本分类器免积分下载版
2012-03-31
基于贝叶斯及KNN算法的newsgroup文本分类器
2012-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人