- 博客(54)
- 资源 (14)
- 收藏
- 关注
原创 ACM继续中,待期末考试及作业完成后keep on going
<br /> 最近各科的作业全部上来了,导致ACM没有时间做,计划元旦前后将所有作业搞定,之后准备考试,还有一段时间的GRE班,估计下次做题学算法的时候已经快要过年了。不管怎么样,过年期间也不可松懈,争取每天也做2-3题,为明年校赛做准备,加油吧<br /> 坚定走自己的路,积极地过好每一天,沉下心来每天实实在在练练编程,把握住未来的机会!加油!<br /> 发一篇心情日志自我鼓励一下
2010-12-29 23:45:00 2091 1
ACM继续中,待期末考试及作业完成后keep on going
最近各科的作业全部上来了,导致ACM没有时间做,计划元旦前后将所有作业搞定,之后准备考试,还有一段时间的GRE班,估计下次做题学算法的时候已经快要过年了。不管怎么样,过年期间也不可松懈,争取每天也做2-3题,为明年校赛做准备,加油吧 坚定走自己的路,积极地过好每一天,沉下心来每天实实在在练练编程,把握住未来的机会!加油! 发一篇心情日志自我鼓励一下...
2010-12-29 23:45:00 71
转载 POJ 2085 Inversion 数学题
对于任意一个序列i, i + 1, ..., j其最大的inversion number是全部逆序的情况,即j, j - 1, ..., i + 1, i,值记为in(i, j) = (j - i + 1) * (j - i) / 2所以这个问题的解决的步骤如下:(1)对于输入n, seq, 从后往前考虑找到可以涵盖seq值的i, 即in(i, n) >= seq(2)由(1)可知,i -> n足够用来表示值为seq的insersion number,所以1-> i - 1只要按照升序打印即可(3)剩下的i
2010-12-20 23:37:00 2268
POJ 2085 Inversion 数学题
对于任意一个序列i, i + 1, ..., j其最大的inversion number是全部逆序的情况,即j, j - 1, ..., i + 1, i,值记为in(i, j) = (j - i + 1) * (j - i) / 2所以这个问题的解决的步骤如下:(1)对于输入n, seq, 从后往前考虑找到可以涵盖seq值的i, 即in(i, n) >= seq(2)由(1)可知,i -&...
2010-12-20 23:37:00 195
原创 POJ 1068 Parencodings 模拟题
这题勾起我伤心的回忆啊就是这题,在北信夏令营测试上面作为D题原题,卡了我两三个小时,眼睁睁看着做过此题的ACMER们抢走机会,痛哉~Orz知耻而后勇,AC300发誓坚持到底,为尊严而战
2010-12-17 23:29:00 2114
POJ 1068 Parencodings 模拟题
这题勾起我伤心的回忆啊就是这题,在北信夏令营测试上面作为D题原题,卡了我两三个小时,眼睁睁看着做过此题的ACMER们抢走机会,痛哉~Orz知耻而后勇,AC300发誓坚持到底,为尊严而战算法分析:其实这就是个简单的模拟题,用数组做就行,根本没必要用栈,当时还在反复想怎么用栈的STL,晕。用一个数组sequence很容易根据给出的P序列来还原括号序列,1代表作左括号,0代表右括号,每次赋值...
2010-12-17 23:29:00 68
转载 C++中的64位整数
在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。 那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展了。不同的编译器对64位整数的扩展有所不同。基于ACM的需要,下面仅介绍VC6.0与g++编译器的扩展。 VC的64位整数分别叫做
2010-12-17 23:11:00 1894
C++中的64位整数
在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。 那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展了。不同的编...
2010-12-17 23:11:00 189
转载 POJ 1061 青蛙的约会 数学题
<br /> <br />开始用了暴力枚举,后来一看数据这么大,估计肯定超时,无奈上网搜索了一下,考察的是扩展欧几里德算法,还有比较大的整数_int64的处理。<br />转自http://apps.hi.baidu.com/share/detail/16229280<br /> 设过s步后两青蛙相遇,则必满足以下等式:<br /> (x+m*s)-(y+n*s)=k*l(k=0,1,2....)<br /> 稍微变一下形得:<br /> (n-m)*s+k*l=x-y<br /> 令
2010-12-17 23:08:00 1689
POJ 1061 青蛙的约会 数学题
开始用了暴力枚举,后来一看数据这么大,估计肯定超时,无奈上网搜索了一下,考察的是扩展欧几里德算法,还有比较大的整数_int64的处理。转自http://apps.hi.baidu.com/share/detail/16229280 设过s步后两青蛙相遇,则必满足以下等式: (x+m*s)-(y+n*s)=k*l(k=0,1,2....) 稍微变一下形得: (...
2010-12-17 23:08:00 103
原创 POJ 2260 Error Correction 模拟题
<br />#include <iostream>using namespace std;int main(){ int n,rc[101][101]; int i,j,tempsr[101],tempsc[101],x[101],y[101]; while(cin>>n,n!=0){ for (i = 0;i < n;i++) for (j = 0;j < n;j++) cin>>rc[i][j]; //若行的奇数和的个数不等于列的奇数和的个数则Corru
2010-12-17 21:21:00 1666
POJ 2260 Error Correction 模拟题
#include <iostream>using namespace std;int main(){ int n,rc[101][101]; int i,j,tempsr[101],tempsc[101],x[101],y[101]; while(cin>>n,n!=0){ for (i = 0;i < n;i++) for (j =...
2010-12-17 21:21:00 86
原创 POJ 1050 求最大子矩阵和 动态规划
<br />在王晓东算法书上有讲解,是最大子序列和问题的拓广<br />#include <iostream>using namespace std;int rec[102][102];int b[100];int main(){ int n,k,s,sum,max; int i,j; cin>>n; for (i = 0;i < n;i++) for (j = 0;j < n;j++) { cin>> rec[i][j]; } s = 0;
2010-12-17 19:17:00 1550
POJ 1050 求最大子矩阵和 动态规划
在王晓东算法书上有讲解,是最大子序列和问题的拓广#include <iostream>using namespace std;int rec[102][102];int b[100];int main(){ int n,k,s,sum,max; int i,j; cin>>n; for (i = 0;i < n;i++) fo...
2010-12-17 19:17:00 80
原创 POJ 1141 Brackets Sequence 动态规划
在刘汝佳黑书上有详细的解析,自己明天这两种算法自己实现一下,作为对动态规划的深入理解学习先转一个题解http://blog.163.com/leyni@126/blog/static/16223010220103155534476/?fromdm&fromSearch&isFromSearchEngine=yes问题:括号匹配问题。给出一个由括号组成字符串,加最少的括号使之匹配。思路:设f[i][j]为从i到j这段字串达到匹配所需最少括号数。初始状态:f[i][i] = 1;状态转移:f[i][j] = m
2010-12-15 23:48:00 2065
POJ 1141 Brackets Sequence 动态规划
在刘汝佳黑书上有详细的解析,自己明天这两种算法自己实现一下,作为对动态规划的深入理解学习先转一个题解http://blog.163.com/leyni@126/blog/static/16223010220103155534476/?fromdm&fromSearch&isFromSearchEngine=yes问题:括号匹配问题。给出一个由括号组成字符串,加最少的括号使之...
2010-12-15 23:48:00 74
原创 POJ 1651 Multiplication Puzzle 动态规划及搜索
这是一道比较简单的DP,通过分析可以设最后拿走的牌为i,则所求的最优解就是i左边和右边子列的最小连乘积再加上x[a]*x[i]*x[b],应为i将原来的序列划分为两个子列,这两个子列符合“最有子结构”和“重叠子问题”的dp特点,他们的最优解互相之间没有影响,只会影响全局问题的最优解,在POJ discuss中的解析比较经典,摘录如下,以后做题可以常常看看discuss,就当学习,但是还是要独立思考为主对于整个牌的序列,最左端和最右端的牌是不能被取走的,除这两张以外的所有牌> ,必然有一张最后取走。取走这
2010-12-14 23:35:00 2471
POJ 1651 Multiplication Puzzle 动态规划及搜索
这是一道比较简单的DP,通过分析可以设最后拿走的牌为i,则所求的最优解就是i左边和右边子列的最小连乘积再加上x[a]*x[i]*x[b],因为i将原来的序列划分为两个子列,这两个子列符合“最优子结构”和“重叠子问题”的dp特点,他们的最优解互相之间没有影响,只会影响全局问题的最优解,在POJ discuss中的解析比较经典,摘录如下,以后做题可以常常看看discuss,就当学习,但是还是要独立思考...
2010-12-14 23:35:00 71
原创 POJ 1029 硬币称量类型二 与POJ 1013类比 模拟题
<br />参考了slayer 的解答http://www.slyar.com/blog/poj-1029-cpp.html 与POJ 1013类比<br />模拟题,抓两点,其一在等式中出现的硬币一定不是假币,其二在不等式中每次都出现即在不等式中出现的次数等于它出现的次数,一定是假币<br />其他情况无法判断输出0<br />#include <iostream>#include <string>using namespace std;const int MAX = 1001;int
2010-12-14 21:14:00 2416
POJ 1029 硬币称量类型二 与POJ 1013类比 模拟题
参考了slayer 的解答http://www.slyar.com/blog/poj-1029-cpp.html 与POJ 1013类比模拟题,抓两点,其一在等式中出现的硬币一定不是假币,其二在不等式中每次都出现即在不等式中出现的次数等于它出现的次数,一定是假币其他情况无法判断输出0#include <iostream>#include <string>...
2010-12-14 21:14:00 68
原创 POJ 1042 钓鱼问题 贪心枚举及动态规划
<br /> <br />题意描述:<br />john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓), john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。john在每个湖中每5分钟钓的鱼数(此题中以5分钟作为单位时间),随时间的增长而线性递减。而每个湖中头5分钟可以钓到的鱼数以及每个湖中相邻5分钟钓鱼数的减少量,input中均会给出。并且John从任意一个湖走到它下一个湖的时
2010-12-14 18:55:00 5863 2
POJ 1042 钓鱼问题 贪心枚举及动态规划
题意描述: john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓), john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。john在每个湖中每5分钟钓的鱼数(此题中以5分钟作为单位时间),随时间的增长而线性递减。而每个湖中头5分钟可以钓到的鱼数以及每个湖中相邻...
2010-12-14 18:55:00 101
原创 2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练。AC的题如下NEUOJ 1112 I Love Apple DescriptionSo many people love apple and there is a problem about apple.An Apple Word is a word that consists of only the l
2010-12-12 19:34:00 3513 2
2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练。AC的题如下NEUOJ 1112I Love AppleDescriptionSo many people love apple and there is a problem about apple.An Apple Word is a word that consists of only the lett...
2010-12-12 19:34:00 110
转载 POJ 3083 Children of the Candy Corn DFS及BFS搜索
<br />///这题不是很理解有待于重做,BFS+模拟,模拟有点麻烦 #include<stdio.h> #include<string.h> #include<queue> using namespace std; queue<int> q; int w,h; char map[45][45]; int dl[4][2]={{0,-1},{-1,0},{0,1},{1,0}}; int vis[45][45]; int dire,k;///指向
2010-12-11 21:44:00 1653
POJ 3083 Children of the Candy Corn DFS及BFS搜索
///这题不是很理解有待于重做,BFS+模拟,模拟有点麻烦 #include<stdio.h> #include<string.h> #include<queue> using namespace std; queue<int> q; int w,h; char map[45][45]; int dl[...
2010-12-11 21:44:00 54
原创 HDU 1176 免费馅饼 动态规划
数塔问题的变形,每一层代表一秒,但要注意下一秒到这一秒,除了左右外还有自己本身这个位置,不能忽略即dp[i][j]=max{dp[i+1][j-1],dp[i+1][j],dp[i+1][j+]}#include using namespace std;int dp[100002][12];int max(int a,int b){ return a>b?a:b;}int main(){ int n,i,j,maxt; int x,t; while(scanf("
2010-12-11 21:18:00 1519
HDU 1176 免费馅饼 动态规划
数塔问题的变形,每一层代表一秒,但要注意下一秒到这一秒,除了左右外还有自己本身这个位置,不能忽略即dp[i][j]=max{dp[i+1][j-1],dp[i+1][j],dp[i+1][j+1]}#include <iostream>using namespace std;int dp[100002][12];int max(int a,int b){ ret...
2010-12-11 21:18:00 72
转载 HDU 1159 最长公共子序列问题 动态规划
<br />HDU 1159 最长公共子序列问题<br />详见杭电刘春英老师PPT<br /> <br /> <br />//DP算法://用f[i][j] 表示字符串a的第i个字母与字符串b的第j个字母比较,得到两串相比时第i和第j个字母之前相同字母的个数// 如果a[i-1]==b[j-1], f(i,j)= f(i-1,j-1)+1;否则,f(i,j)=max(f(i,j-1),f(i-1,j));#include<iostream>#include<string>using n
2010-12-11 20:46:00 2250
HDU 1159 最长公共子序列问题 动态规划
HDU 1159 最长公共子序列问题详见杭电刘春英老师PPT//DP算法://用f[i][j] 表示字符串a的第i个字母与字符串b的第j个字母比较,得到两串相比时第i和第j个字母之前相同字母的个数// 如果a[i-1]==b[j-1], f(i,j)= f(i-1,j-1)+1;否则,f(i,j)=max(f(i,j-1),f(i-1,j));#include<i...
2010-12-11 20:46:00 72
转载 HDU 1160 FatMouse's Speed 动态规划
HDU 1160 FatMouse's Speed设Mice[i].W表示第i只老鼠的重量,Mice[i].S表示第i只老鼠的速度。我们先对Mice进行排序,以W为第一关键字,从小到大,S为第二关键字,从大到小设f[i]为Mice[i]至Mice[n]最长的序列长度。考虑某一个f[i],则有:f[i] = max(f[i], f[j]+1) (1 Mice[j].W,Mice[i].S using namespace std;typedef struct p{ int weight;
2010-12-11 19:32:00 1580
HDU 1160 FatMouse's Speed 动态规划
HDU 1160FatMouse's Speed这是最长上升子序列问题向二维的一个扩展变形设Mice[i].W表示第i只老鼠的重量,Mice[i].S表示第i只老鼠的速度。我们先对Mice进行排序,以W为第一关键字,从小到大,S为第二关键字,从大到小设f[i]为Mice[i]至Mice[n]最长的序列长度。考虑某一个f[i],则有: f[i] = max(f[i], f[j]+1)...
2010-12-11 19:32:00 58
原创 POJ 3070 Fibonacci数列 矩阵乘法及乘幂求法
可以先推算一下,会发现m0,m1,m2,m3等为方阵的乘幂,其第1行第2列就是Fibonacci数列的项,关键是如何求矩阵的乘幂呢?分奇数幂和偶数幂两种情况A(2)^n因为方阵的乘法有结合律,所以A(2)^n=A(2)^(n/2)*A(2)^(n/2),不妨设n是偶数所以求A(n)就可以化成求A(n/2)并作一次乘法,所以递归方程是:A(n)=A(n/2)^2但是如果n为奇数,可以A(n)=A((n-1)/2) * A((n+1)/2或者A(n)=A((n-1)/2)^2 * A(1)#include
2010-12-11 17:16:00 2006
POJ 3070 Fibonacci数列 矩阵乘法及乘幂求法
可以先推算一下,会发现m0,m1,m2,m3等为方阵的乘幂,其第1行第2列就是Fibonacci数列的项,关键是如何求矩阵的乘幂呢?分奇数幂和偶数幂两种情况A(2)^n因为方阵的乘法有结合律,所以A(2)^n=A(2)^(n/2)*A(2)^(n/2),不妨设n是偶数所以求A(n)就可以化成求A(n/2)并作一次乘法,所以递归方程是:A(n)=A(n/2)^2但是如果n为奇数,可以...
2010-12-11 17:16:00 127
转载 POJ 3744 数学题概率题 矩阵乘幂
转的网上的解题报告http://hi.baidu.com/rpsproblem/blog/item/d2cbe67aa1d8b5fd0bd1875f.html,用于备战校赛按照题目的意思,我们很容易推出公式:f[i] = p*f[i-1] + (1-p)*f[i-2];f[i]表示到达位置i的概率(不是安全到达那些很复杂之类的概率,就只是简单的到达的概率),p为题目给的概率由于有炸弹的原因,就不能直接算了。这里我用 x[i]表示第i颗炸弹的位置但如果把整个过程按照炸弹来分阶段,起点为x[i-1]+1
2010-12-11 12:51:00 1895
POJ 3744 数学题概率题 矩阵乘幂
转的网上的解题报告http://hi.baidu.com/rpsproblem/blog/item/d2cbe67aa1d8b5fd0bd1875f.html,用于备战校赛按照题目的意思,我们很容易推出公式:f[i] = p*f[i-1] + (1-p)*f[i-2];f[i]表示到达位置i的概率(不是安全到达那些很复杂之类的概率,就只是简单的到达的概率),p为题目给的概率由于有的原因,就...
2010-12-11 12:51:00 92
原创 POJ2478 Farey Sequence 欧拉函数与素数 数论题
这题主要是求1..n-1中与n互质的数的个数,并且要将其累加起来我写的代码套用了求欧拉数的函数,结果超时#include #include using namespace std;int eun[1000005] = {0};//求1..n-1中与n互质的数的个数int eular(int n){ int ret=1,i; for (i=2;i*i1) ret*=n-1; return ret;}int main(){ int n,i,sum; fo
2010-12-10 21:03:00 1601
POJ2478 Farey Sequence 欧拉函数与素数 数论题
这题主要是求1..n-1中与n互质的数的个数,并且要将其累加起来我写的代码套用了求欧拉数的函数,结果超时,求大牛点拨优化方法#include <iostream>#include <cstdio>using namespace std;int eun[1000005] = {0};//求1..n-1中与n互质的数的个数int eular(int ...
2010-12-10 21:03:00 64
原创 POJ 1321 棋盘问题类似八皇后 dfs搜索
<br />#include <iostream>using namespace std;char qipan[8][8];bool col[8];int m,n,count;//r为行数,k代表已经填充的棋子数,count代表方案数void dfs(int r,int k){ if (k == m) { count++; return; } if (r > n) { return; } for (int i = 0;i < n;i
2010-12-10 15:59:00 1690
POJ 1321 棋盘问题类似八皇后 dfs搜索
#include <iostream>using namespace std;char qipan[8][8];bool col[8];int m,n,count;//r为行数,k代表已经填充的棋子数,count代表方案数void dfs(int r,int k){ if (k == m) { count++; return; }...
2010-12-10 15:59:00 73
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关注的人