自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sp_

  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDOJ 3552 I can do it!

题目大意:给定N个元素,每个元素含Ai,Bi两个数。将N个元素分为A,B两类。求max(x∈Set A) {Ax}+max(y∈Set B) {By}.思路:按A从大到小排序。循环中不断更新保证了b记录当前B类中最大的B,则分为两类A:i~N-1 ,B:0~i。不错的算法,学习了。#include using namespace std; struct TT { int A,B; }; TT p[100005]; int cmp(const void *a,const void

2010-08-18 22:26:00 453

原创 POJ 1458 || HDOJ 1159 Common Subsequence (DP)

<br />题目大意:最长公共子序列。<br /> <br />思路:LCS(i,j)定义为 str1 的前i个序列 与 str2 的前j个序列 的最长公共子序列长度。<br /> <br /> LCS(i,j) =LCS(i-1,j-1)+1             (str1 [i] == str2 [j])<br />                     =max( LCS(i-1,j) ,LCS(i,j-1) )        (str1 [i] != str2 [j])<br /> <br /

2010-08-16 14:52:00 575

原创 POJ 1113 WALL(凸包-计算几何)

<br />题目大意:给出城堡的若干点,要求在其周围建围墙,使距离城堡>=L,并使长度最短。<br />思路:<br />求出若干点的凸包,每个边平行向外延伸L,断开处用圆弧连接,圆弧的端点连接原凸包顶点,则分别与两边垂直,则圆心角与内夹角互补。<br />设凸包为n边形,则凸包内角和为(n-2)*PI ,则凸包外所有圆心角和为n*PI-(n-2)*PI=2*PI,刚好为一半径为L的圆周长。<br /> <br />求凸包时 按y从小到大排 y相同按x从小到大排。<br /> <br />#include

2010-08-14 18:51:00 487

原创 POJ 3468 A Simple Problem with Integers (线段树)

题目大意:给一序列,对子序列的每个数进行增量,查询某子序列的和。思路:建立一线段树,节点保存区间左右端点,区间插入的和,区间的增量(必须满足区间吻合),左右孩子。增量的时候注意在往下一个节点查找的同时,必须把增量累加到大的区间里,直到查找到区间吻合的。nInc 必须用64位整型,否则WA。查询的时候把nInc往下带1600+ms,不往下带1500+ms,竟然时间更短。······#include using namespace std ; struct Node { int L,R; Nod

2010-08-11 18:13:00 432

原创 POJ 3264 Balanced Lineup(RMQ 线段树)

题目大意:RMQ问题。RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题思路:建立一线段树,每个节点保存区间范围,区间内最值,左右孩子。#include using namespace std; const int MyMin=0x80000000; const int MyMax=0x7fffffff; struct N

2010-08-10 16:11:00 432

关于C语言宏定义技巧

C语言宏定义技巧 就是关于C语言宏定义的一些技巧

2010-10-06

空空如也

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

TA关注的人

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