自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 POJ 1001 大数

无聊水一道。。各种坑爹

2014-05-23 10:05:16 460

原创 HDU 2870 DP 最大完全子矩阵

HDU 1505 升级版枚举a,b,c  各做一遍最大完全子矩阵

2014-05-21 10:18:57 512

原创 HDU 1506 DP 最大完全子矩阵

记录每个#include "stdio.h"int le[100010],ri[100010];__int64 ans,x,a[100010];int main(){ int n,i; while (scanf("%d",&n)!=EOF) { if (n==0) break; for (i=1;i<=n;i++)

2014-05-21 09:40:20 529

原创 HDU 2159 完全背包模板题

#include "stdio.h"#include "string.h"int max(int a,int b){ if (a<b) return b; else return a;}int main(){ int n,m,k,s,i,j,l,ans; int hash[101][101]; int a[101],b[101]; while (

2014-05-20 19:43:24 722

原创 POJ 1088 DP || 记忆化搜索

按高度从小到大排序一遍

2014-05-20 16:56:22 484

原创 POJ 2081 水

暴力打表#include "stdio.h"#include "string.h"bool hash[3020000];int a[500010];int main(){ int i,x,n; memset(hash,true,sizeof(hash)); a[0]=0; a[1]=1; hash[0]=false; hash[1]

2014-05-20 16:06:51 494

原创 POJ 2955 区间DP

求最多能匹配的括号数*2

2014-05-20 15:48:50 460

原创 POJ 1661 记忆化搜索

测试数据:103 8 17 200 10 80 10 134 14 3

2014-05-20 15:18:26 526 1

原创 HDU 1508 DP || 记忆化搜索

DP:#include "stdio.h"#include "string.h"__int64 dp[100010],a[100010];char str[100010];int main(){ int n,i; while (gets(str)) { if (str[0]=='0') break; n=strlen(str

2014-05-19 16:21:05 568

原创 HDU 1208 DP || 记忆化搜索

DP:#include "stdio.h"#include "string.h"int main(){ int i,j,n; char ch; __int64 dp[101][101],a[101][101]; while (scanf("%d",&n)!=EOF) { if (n==-1) break; for (

2014-05-19 13:51:30 553

原创 HDU 2476 区间DP

先是考虑将所有与目标字符串不相同的刷成目标串:dp[i][j]表示刷i-j区间,初始条件:dp[i][j]=dp[i+1][j]+1;对于k=(i+1...j )如果str[k]==str[i],则dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k+1][j]),,因为刷i的时候可以与k同时刷。上面是对初始串与目标串完

2014-05-18 17:44:51 476

原创 HDU 4283 区间DP

#include "stdio.h"#include "string.h"#define inf 2000000000;int min(int a,int b){ if (a<b) return a; else return b;}int main(){ int ii,t,n,i,j,k,s,e; int dp[101][101],a[101],sum[10

2014-05-16 16:43:01 532

原创 HDU 3182 状压DP

每个汉堡有价值a,和消耗b,

2014-05-14 10:04:39 582

原创 HDU DP 简单题

横竖分别求一下 最大不连续字段和即可#include "stdio.h"#include "string.h"int dp[200001];struct comp{ int no,yes;}b[2];int Max(int a,int b){ if (a<b) return b; else return a;}int main(){ int

2014-05-13 11:04:12 592

原创 HDU 2577 DP || 贪心

DP:#include "stdio.h"#include "string.h"int Min(int a,int b){ if (a<b) return a; else return b;}int main(){ int n,i,le; int a[1001],b[1001]; char str[1001]; while(scan

2014-05-13 09:49:00 569

原创 POJ 2761 离线线段树

题意:给出每只狗的pretty value,然后多次询问,每次输出区间[i,j](狗站成一排,从第i只到第j只)的第k小的值是多少。区间之间有交叉,但是没有完全包含。

2014-05-12 15:29:43 746 2

原创 HDU 3333 离线线段树

线段树 给定一个序列,求区间出现的数的数值和,若有多个,只计算一次

2014-05-07 16:30:56 478

原创 HDU 4417 离线线段树

给出 n 个数,m个询问,对于 每个询问 输出[l,r]区间里面 大于 h 的数个数

2014-05-05 19:43:41 548

原创 FZU 2136 线段树+思路

对于每个数,我们可以求出以当前这个点为最大值能够向左右两边扩展的范围,假设每个数的左边和右边扩展到l[i] , r[i]的位置。接下来我们只要枚举这n个数,然后枚举1~这个数的区间长度,并更新ans数组即可。#include "stdio.h"#include "string.h"int Min(int a,int b){ if (a<b) return a; else r

2014-05-05 16:18:20 498

原创 FZU 2092 记忆化搜索 || BFS

BFS:#include "queue"#include "iostream"#include "algorithm"using namespace std;int dir[5][2]={1,0,-1,0,0,1,0,-1,0,0};int value[12][12][211];int hash[11][11][11][11][210];struct node{ in

2014-05-04 09:29:13 601

空空如也

空空如也

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

TA关注的人

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