• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
GarySE
博客园 | | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2013年8月19日

hdu 1081 矩阵最大连续子序列
摘要: 问题描述:二位平面图,每一个坐标都有值,正值或负值,求任意矩形中和的最大值问题解决方案:求解图中每一个坐标为起点,求任意长度宽度的矩形的和#include#includeusing namespace std;int in[101][101],d[101][101],maxx,n;void ope(int bx, int by){ memset(d,0,sizeof(d)); int i,j,k; for(i=bx; i maxx ) maxx=d[i][j]; } }int main(){ int i,j,k; ... 阅读全文
posted @ 2013-08-19 00:57 GarySE 阅读(120) 评论(0) 推荐(0)
 
hdu 2546 典型01背包
摘要: 分析:每种菜仅仅可以购买一次,但是低于5元不可消费,求剩余金额的最小值问题。。其实也就是最接近5元(>=5)时, 购买还没有买过的蔡中最大值问题,当然还有一些临界情况1、当余额充足时,可以随意购买菜,即∑p - max_p +5 #includeusing namespace std;bool my[1001];//统计余额情况int main(){ int n,c[1001],m; while(cin >> n) { int i,j,k,s,re; if(!n)break; for(s=0,i=1... 阅读全文
posted @ 2013-08-19 00:50 GarySE 阅读(142) 评论(0) 推荐(0)
 
hdu 1159 Palindrome(回文串) 动态规划
摘要: 题意:输入一个字符串,至少插入几个字符可以变成回文串(左右对称的字符串)分析:f[x][y]代表x与y个字符间至少插入f[x][y]个字符可以变成回文串,可以利用动态规划的思想,求解状态转化方程:f[x][y]=0 初始化f[x][y]=f[x+1][y-1] s[x]==s[y]时f[x][y]=MIN ( f[x+1][y] , f[x][y-1] )+1 s[x] != s[y]时代码展示一开始没有将算的的数据存放到数组中,使得有些数据重复计算好多次,TLE 。 f[x][y]可以记录值空间复杂度挺高的,f数组仅仅用到一半的存储空间,可以通过x与y计算,将二维数组转换成一维数组 f[(m 阅读全文
posted @ 2013-08-19 00:22 GarySE 阅读(284) 评论(0) 推荐(0)
 
 

2013年8月16日

排列、组合问题(递归)
摘要: 这里主要介绍字符串排列组合问题,高中数学常见的题目,不用详细介绍,看例子就可以解决问题"1212" 全排列结果为1212,1221,1122,2112,2121,2211组合结果是 1,2,12我所理解的排列组合结果是 1,2,12,21解决方案:主要是利用递归思想排列问题:求n个字符排列问题简化求n-1个字符排列问题,逐层递归到1个字符。有n个字符的序列第一个字符与后面每一个前面没有重复的字符交换,避免了重复序列,然后求n-1个字符全排列 f(char *s, int index,int len)index为第一个下标,len是s总长度组合问题:先按照递增排序,然后挑出无 阅读全文
posted @ 2013-08-16 21:01 GarySE 阅读(739) 评论(0) 推荐(0)
 
动态规划--背包问题(01背包、完全背包、多重背包)
摘要: 01背包(ZeroOnePack):有N件物品和一个容量为V的背包。(每种物品均只有一件)第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。完全背包(CompletePack):有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。多重背包(MultiplePack):有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大 阅读全文
posted @ 2013-08-16 00:44 GarySE 阅读(569) 评论(0) 推荐(0)
 
动态规划---最长公共子序列 hdu1159
摘要: hdu1159 题目要求两个字符串最长公共子序列,状态转换方程 f[i][j]=f[i-1][j-1]+1; a[i]=b[j]时 f[i][j]=MAX{f[i-1][j],f[i][j-1]} a[i]!=b[j]时f[i][j]记录a字符串 i 前子串 与 b字符串 j 前子串最长公共子序列 初始化后,自底向上,逐步求解 动态规划的思想没有搞清楚,递归超时。。犯了很低级的错误动态规划尽可能地减少重复运算,记忆化搜索很关键正确代码:#include#include#define MAX(a,b) ((a)>(b)?(a):(b))using namespace std;ch... 阅读全文
posted @ 2013-08-16 00:18 GarySE 阅读(387) 评论(0) 推荐(0)
 
 

2013年8月14日

POJ 2502 Dijsktra
摘要: 1 POJ 2205 subway 600K 0MS 2 题意:乘坐地铁从家到学校,地铁40km/h 步行10km/h , 已知各个站点的x,y坐标,输入的信息每个列次用-1,-1隔开,要求花费的时间最少 3 解决方案:把家和学校各看成一个站点,求出相邻站点的权值(路程/速度),以站点数量建立map,保留两站之间的距离,然后dijsktra算法寻找两站点间最短路径 4 问题:结束条件EOF,sign初始值 5 #include 6 #include 7 #define MAX 10000000.0 8 using namespace std; 9 double pt[202][... 阅读全文
posted @ 2013-08-14 00:11 GarySE 阅读(294) 评论(1) 推荐(0)
 
 

2013年8月12日

二叉树前序、中序、后序遍历之间的关系(递归)
摘要: 递归、二叉树遍历方式之间的关系 阅读全文
posted @ 2013-08-12 23:44 GarySE 阅读(703) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3