自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yonah潇的专栏

悲观的头脑。乐观的意志,

  • 博客(8)
  • 收藏
  • 关注

原创 poj 1080 Human Gene Functions 解题报告(附详细分析)

动态规划题,是最长上升子序列的变形

2013-11-27 22:19:08 959

原创 poj1458 Common Subsequence 最长公共序列 解题报告(附详细分析)

这道题是动态规划的典型题目。动态方程:if(str1[i] == str2[j])MaxLen[i][j] = MaxLen[i-1][j-1] + 1;//比较到两个字母相同时,把前一状态的值加1就得到当前的最长公共序列elseMaxLen[i][j] = max(MaxLen[i][j-1], MaxLen[i-1][j]);//比较到两个字母不同时,分别将两个字符

2013-11-27 22:05:36 702

原创 POJ 1631 Bridging signals 解题报告(附详细分析)最长上升子序列的dp+二分

这道题是最长上升子序列的问题。常规思路是用动态规划,时间复杂度是n ^ 2,结果会超时。思路:input 1 7 3 5 9 4 8dp[1]=1;因为7>1dp[2]=dp[1]+1=2; 因为3>1, 3<7,dp[3]=dp[1]+1=2;因为5>3, 5dp[4]=dp[3]+1=3;因为9>5,dp[5]=dp[4]+1=4;因为43

2013-11-26 23:02:19 766

原创 动态规划Always On the Run poj 1476解题报告(附详细分析)

这道是动态规划,动态方程不难想,只是要实现数据的录入需要一些技巧。以第i次飞行和第m个城市作为状态dp动态转移方程:dp[i][m] = min {dp[i][m] ,,dp[i-1][j]+map[j][m][p]}   其中的map[i][k][p]是指第j城市到第k城市的第p个航班的费用,具体看代码和注释。#include using namespace std;const

2013-11-23 11:39:03 1215

原创 poj 1338 ugly numbers和poj 2247Humble Numbers 解题报告(附详细分析)

题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1338最直观的思路是验证每个数是否是ugly number,但是很费时间,效率低。于是,我们需要从另一个角度思考,把1500个ugly number存在一个数组里。需要时直接调用。思路:ugly number都是由2,3或5相乘得到,12=2*13=3*14=2*2

2013-11-18 16:02:44 1201

原创 ACM常用素数判断筛选法及其优化

一般的求解n以内素数的算法#include #include #define N 10000int prime[N+1];int main(){ int i, j, num = 0; for(i=2; i<N; i++) { for(j=2; j<=sqrt(i); j++) if( j%i==0 ) break; if( j>sqrt(

2013-11-16 13:28:30 1228

原创 水题poj1423 解题报告

poj1423是一道纯数学题目,原题的意思是输入一个数1 这道题目的数据庞大,达10^7,高精度模拟显然不行。因此n我们必须另外想方法。 要知道一个数字的位数是多少,我们可以用log10函数求得。例如,对于一个数,N=10,10!=3628800,而log10(3628800)=6.559763033,那么只要将这个数向上取整,就是7,就是10!的位数。于是我们可以得到

2013-11-11 22:22:22 678

原创 插入排序算法

直接插入排序实例,在例子中理解算法思想比较具体,容易理解,比起直接看文字表达效果好。递增排序对有6个元素的数组进行排序#include using namespace std;int main(){ int A[6]; for(int i = 0; i < 6; i++) cin >> A[i]; for(int j = 1; j //设定插入的

2013-11-08 23:29:32 598

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除