自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 POJ 3299 水

水题。。模拟公式

2014-04-30 14:48:10 584

原创 POJ 2828 线段树

题意:n个人陆续到一个队列排队,但是有的人可能会插队,题目给出第i个人插在pos[i]的位置,问最后队列的情况如何。 建一棵(1,n)的线段树,每个节点的值表示该区间的空位,从最后一个人往前插,这样pos的意义就成了插入是他前面有几个空位

2014-04-30 09:11:21 474

原创 HDU 1394 线段树 || 归并排序

给你一个有0--n-1数字组成的序列,然后进行这样的操作,每次将最前面一个元素放到最后面去会得到一个序列,那么这样就形成了n个序列,那么每个序列都有一个逆序数,找出其中最小的一个输出! 暴力。。线段树。。。归并排序。。。都可以 暴力:

2014-04-29 19:41:07 597

原创 HDU 3744 水

题目意思:  有n个人在比m米的比赛,现在给出这n个人的当前位置,(起点为0,0-399),以及这n个人的排名,问我么给出的排列是否正确 暴力求解。。

2014-04-29 17:11:34 510

原创 POJ 2299 && HDU 3743 归并排序

归并排序求逆序对 模板题

2014-04-29 16:53:10 587

原创 POJ 2299 && HDU 3743 离散化+线段树

给出一个长度为n的数列,你每一次可以随意交换其中两个数字的位置。问你至少交换几次,才能使得这个数列是个单调递增数列。 最多50W

2014-04-29 16:05:06 674

原创 HDU 2899 二分

函数图像是开口向上的抛物线

2014-04-29 10:42:20 538

原创 HDU 1337 水

规律。。 #include "stdio.h" #include "math.h" int main() { int n,a; scanf("%d",&n); while (n--) { scanf("%d",&a); printf("%d\n",(int)sqrt((double)a)); } return 0;

2014-04-28 15:42:19 543

原创 HDU 1421 DP

先qsort dp[i][j]=min(dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]),dp[i-1][j]);

2014-04-28 14:41:10 484

原创 HDU 1466 DP

n条直线互不平行且无三线共点的最多交点数max=1+2+……(n-1)=n(n-1)/2, 所以n=20的话,最大的交点数是190 本题是求有多少种交点数: 容易列举出N=1,2,3的情况: 0 0,1 0,2,3 如果已知的情况,我们来分析加入第N条直线的情况(这里N=4): 1、第四条与其余直线全部平行 => 无交点; 2、第四条与其中两条

2014-04-28 13:54:17 459

原创 HDU 1494 DP

dp方程:  dp[i][j]=max( dp[i-1][j-1],dp[i-1][j+5]); i=

2014-04-28 09:12:30 475

原创 HDU 1502 DP+大数

转移方程  ans[n][n][n]=ans[n-1][n][n]+ans[n][n-1][n]+ans[n][n][n-1];

2014-04-27 09:54:46 466

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

对矩阵进行压缩   然后爆搜即可 勉强分到DP里吧

2014-04-26 16:29:54 448

原创 HDU 1513 最长公共子序列拓展DP

将原字符串倒置,然后与原字符串求最长公共子序列,   ans=n-dp[n][n]。

2014-04-26 15:47:00 590

原创 HDU 1559 最大子矩阵

对数据进行压缩  然后枚举每个矩形即可 #include "stdio.h" #include "string.h" #include "math.h" int a[1001][1001]; int main() { int ans,count,k,t,n,m,x,y,i,j; scanf("%d",&t); while (t--) { scanf("%d%d%d%d",&n,&

2014-04-26 15:05:16 483

原创 HDU 1428 最短路+记忆化搜索

他考虑从A区域到B区域仅当存在一条从B到机房的路线比任何一条从A到机房的路线更近(否则可能永远都到不了机房了…” 这句话一定要理解清楚。就是说,对于当前位置,如果下一个状态与终点的最短距离大于或者等于当前位置到终点的最短距离,那么这个下一个状态是不可取的!到此,就能明白,此题就是求出所有点与终点的最短距离,然后再从起点进行记忆化搜索。 #include "queue" #include

2014-04-26 14:43:51 616

原创 HDU 1355 贪心模拟

水贪心模拟 按照从大到小anshunxu

2014-04-25 10:33:05 550

原创 HDU 1864 背包

01背包 水 注意判断好发票是否可用即可 #include "stdio.h" #include "math.h" #include "string.h" int num[31],dp[3001000]; int main() { int n,a,m,b,c,k,ok,i,j; double x,q,sum; char ch,str[101]; while (scanf("%lf%

2014-04-23 14:32:55 508

原创 HDU 1861 模拟

水题模拟 #include "stdio.h" #include "string.h" int main() { int ans,x,y,n; double sum; int a[101]; char ch,str[101]; memset(a,-1,sizeof(a)); sum=0;ans=0; while (scanf("%d",&n)!=EOF) { if (n==-

2014-04-23 12:14:50 528

原创 HDU 2955 背包

背包问题 转移方程:

2014-04-23 11:49:10 474

原创 HDU 1331 poj 1579记忆化搜索

记忆化搜索 水 #include "stdio.h" #include "string.h" int dp[21][21][21]; int dfs(int a,int b,int c) { if (dp[a][b][c]) return dp[a][b][c]; if (a<=0 || b<=0 || c<=0) return 1; if (a<b && b<c) return

2014-04-23 10:50:30 504

原创 HDU 1978 DP

简单DP #include "stdio.h" #include "string.h" #include "math.h" int main() { int t,n,m,i,j,x,y; int a[101][101]; int dp[101][101]; scanf("%d",&t); while (t--) { scanf("%d%d",&n,&m); for (i=1;

2014-04-23 10:35:11 440

原创 HDU 3336 记忆化搜索

参考这个写的: http://blog.csdn.net/akof1314/article/details/5473837 #include "stdio.h" #include "string.h" char str[200010]; int b[200010]; int main() { int t,n,ans,k,i,j,m; scanf("%d",&t); while (

2014-04-21 15:28:32 444

原创 HDU 1078 记忆化搜索

记忆化搜索模板

2014-04-21 14:06:03 454

原创 HDU 1059 背包

#include "stdio.h" #include "string.h" int main() { int Case,k,key,sum,i,j; int dp[60010]; int a[10]; Case=1; while (scanf("%d",&a[1])!=EOF) { sum=a[1]; for (i=2;i<=6;i++) { scanf("%d"

2014-04-21 09:50:43 427

原创 HDU 1544 水爆搜

从每个位置往两边枚举即可 #include "stdio.h" #include "string.h" int main() { int le,sum,a,b,i; char str[5100]; while (gets(str)) { le=strlen(str); sum=le; for (i=1;i<=le-2;i++) { a=b=i; a

2014-04-15 20:42:05 591

原创 HDU 1557 水爆搜

#include "stdio.h" int n,sum,key; int a[21]; void dfs(int w,int k,int cnt) { if (k>n) return ; if (w==k) dfs(w,k+1,cnt); else { cnt+=a[k]; if (cnt>=key && cnt-a[w]<key) sum++; dfs(w,k+1,

2014-04-15 20:32:25 559

原创 BZOJ 1798 线段树 双LAZY操作

线段树裸题   双LAZY操作  记录 mul和add

2014-04-15 11:09:56 448

原创 HDU 1195 双广

双广模板题 #include "iostream" #include "algorithm" #include "queue" using namespace std; struct node { int x[4]; int step; }; int a,b,ans; int hash1[10][10][10][10],hash2[10][10][10][10]; void b

2014-04-10 15:23:02 534

原创 HDU 1732 BFS

推箱子升级版 一共只有三个箱子,8*8

2014-04-08 17:03:02 471

原创 HDU 1728 搜索

#include "iostream" #include "algorithm" #include "queue" using namespace std; int dir[4][2]={1,0,-1,0,0,1,0,-1}; struct node { int x,y,k; }; int k,x1,x2,y1,y2,ok,n,m; int hash[201][201]; char m

2014-04-02 10:45:01 442

空空如也

空空如也

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

TA关注的人

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