自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王老大

如果这是你所爱的,要坚持,并踏实。

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

原创 poj 1375 Intervals(解析几何 过圆外一点求与圆的切线)

题目大意:给出一个光源,给出一些圆,求投影区间。如图,先可以求出角a,通过半径与PQ距离,而角b也可以求出。那么就可以求出两条切线与Y轴的夹角,分别为a+b,b-a。之后利用角度求出各投影线段的左右顶点,排序判断即可。

2015-04-23 20:48:36 902

原创 poj 3009 Curling 2.0 (DFS)

题目大意要求把一个冰壶从起点“2”用最少的步数移动到终点“3”其中0为移动区域,1为石头区域,冰壶一旦想着某个方向运动就不会停止,也不会改变方向(想想冰壶在冰上滑动),除非冰壶撞到石头1 或者 到达终点 3 冰壶撞到石头后,冰壶会停在石头前面,此时(静止状态)才允许改变冰壶的运动方向,而该块石头会破裂,石头所在的区域由1变为0. 也就是说,冰壶撞到石头后,并不会取代石头的位

2015-04-22 20:27:01 435

原创 POJ 3903 Stock Exchange (LIS模版题)

题目跟poj2533一样,改一下数组大小完美A过。#includeconst int N = 100001;int a[N], f[N], d[N]; // d[i]用于记录a[0...i]的最大长度int bsearch(const int *f, int size, const int &a) { int l=0, r=size-1; while( l <=

2015-04-22 19:22:07 467

原创 poj 2250 Compromise (LCS)

题目大意:给出两段文字,求出最长的公共单词串。直接是以前的代码改一点就A了。#include #include #include using namespace std;char s1[35][100],s2[35][100],s[35][100];int len1,len2,dp[105][105],mark[105][105],l;void LCS()

2015-04-21 19:57:41 477

原创 poj 2127 Greatest Common Increasing Subsequence (记录路径LICS)

题意:求最长递增公共子序列这道题需要将该序列输出,这就牵涉到了路径记录的问题.#include #include #include using namespace std;int a[505],b[505],dp[505],n,m,cnt;int mark[505][505],ans[505];int LICS(){ int i,j,MAX,k; memset

2015-04-20 16:55:01 494

原创 POJ 2533 Longest Ordered Subsequence (模版LIS)

题意:输出最长递增子序列的长度思路:直接裸LIS,#includeconst int N = 1001;int a[N], f[N], d[N]; // d[i]用于记录a[0...i]的最大长度int bsearch(const int *f, int size, const int &a) { int l=0, r=size-1; while( l <= r ){

2015-04-20 15:29:50 426

原创 HDU 1503 Advanced Fruits (LCS升级版)

题目大意:将两个字符串结合起来,他们的公共子串只输出一次根据LCS的原理,将每个字符都进行标记,看两个字符串中对应的字符究竟处于什么状态,然后输出,其标记为公共子串的字符只输出一次即可,也是一道模板题了。http://blog.csdn.net/libin56842/article/details/9618529#include #include #include using

2015-04-19 11:16:21 561

原创 HDU1159 && POJ1458 Common Subsequence (LCS模版题)

题目大意:求出两个串的公共子序列的长度LCS的入门题,读懂题了直接模板就可以#include #include using namespace std;const int N=1000;int a[N][N];int LCS(const char *s1, const char *s2){// s1:0...m, s2:0...n int m = strlen(s

2015-04-17 20:43:07 498

原创 POJ 2533 Longest Ordered Subsequence (DP最长上升子序列)

题目的大意是:给出一序列,求出该序列的最长上升子序列的最大长度。思路:a: 1 7 3 5 9 4 8dp: 1 2 2 3 4 3 4#include #include using namespace std;const int MAXN = 1005;int main(){ int n; while( cin>>n ) {

2015-04-17 20:05:29 413

原创 POJ 1163 The Triangle (简单 DP 数字的最大路线和)

题目大意:从三角形顶部数字走,每次只能走到这个数字的左下角或者右下角的数字,直到底部,计算走过的线路的数字之和,求这个和的最大值。#include #include #include using namespace std;const int MAXN = 105;int dp[MAXN][MAXN], a[MAXN][MAXN];int main(){

2015-04-17 18:43:46 632

原创 POJ 2559 Largest Rectangle in a Histogram (DP最大矩形面积)

给定从左到右多个矩形,已知这此矩形的宽度都为1,长度不完全相等。这些矩形相连排成一排,求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确定的范围。l[i]表示大于等于h[i]的最左边的位置,r[i]表示大于等于h[i]的最右边的位置,这样可以预处理出l[],r[],然后ans = max(ans, r[i] - l[i] + 1) * h[

2015-04-16 19:55:27 675

原创 POJ 2479 Maximum sum ( DP )

题目大意: 对整数串S,求其两个不相交的子串s1、s2,使得s1+s2的值最大。方法:DP, lt[i]代表以第i个元素结尾的串最大值 rt[i]代表以第i个元素开头的串的最大值 那么设置一个rtm[i]代表取后i个元素之中最大连续子串的和很显然,lt[i]=max(a[i],lt[i-1]+a[i]); rt[i]=max(a[i],rt[i+1]+a[i]); rtm[i]=ma

2015-04-15 20:41:16 481

原创 POJ 3670 Eating Together (①O(n)的dp,②最长字段和)

题目大意:找到队列中不符合非升(降)序趋势的编号个数,分别判断升序跟降序的个数,最后取最小。#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 30005int n;int cow[maxn];int f[maxn][5];int

2015-04-15 18:38:29 735

原创 POJ 3671 Dining Cows (DP)

题目大意:给你一串只有1,2的数字,让你改变最少的次数,让这个序列变成非递减的。思路:动态规划,判断分界点,开一个dp[30010][2]的数组,其中dp[i][j]表示把第i个数改成j最少要花多少次那么状态转移方程就列出来了:令a=1 j!=a[i]0 j==a[i]那么dp[i][1]=dp[i-1][1]+a;dp[i][2]=min(dp[i-1][1],dp[i-

2015-04-14 20:18:32 677

原创 POJ 2586 Y2K Accounting Bug

题意很难理解,让我先去学习一会英语...... 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299234147大意是一个公司在12个月中,或固定盈余s,或固定亏损d.但记不得哪些月盈余,哪些月亏损,只能记得连续5个月的代数和总是亏损(先处理处理完1~5月后,剩下的月份可以根据“连续5个月经营之和为亏损”这个条件进行

2015-04-13 18:38:39 427

原创 POJ 2019 Power of Cryptography

技巧。#include#includeusing namespace std;double n,p;int main(){ while(cin>>n>>p){ cout<<pow(p,1/n)<<endl; }}

2015-04-13 18:25:40 503

原创 HDU 1712 ACboy needs your help (分组背包问题)

有n门课程,和m天时间,完成a[i][j]得到的价值为第i行j列的数字,求最大价值...... 看过背包九讲的话,做这个就容易多了,其实就是简单的分组背包问题。 #include #include using namespace std;int A[105][105];int dp[105];int main(){ int n, m;

2015-04-02 20:13:32 365

原创 HDU 2159 FATE (二维完全背包)

Problem Description最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s

2015-04-02 18:43:12 399

原创 POJ 1328 Radar Installation 贪心

题目大意: 假设有一条无限长的海岸线,海岸线以上部分有n个岛屿。在海岸线上有雷达,每个雷达能够探测的范围为半径为r的圆,当且仅当一个岛屿与雷达的距离小于等于r时,岛屿能被雷达探测到。给出所有岛屿的坐标和雷达的半径。求最少需要用多少个雷达,使得所有的岛屿都被探测到。图中ABCD为海岛的位置。假设本题半径为2(符合坐标系),那么A点坐标为(1,1)以此类推。 在题中,记录每个点的坐标,并把一个点新加

2015-04-01 14:40:35 483

空空如也

空空如也

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

TA关注的人

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