自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACM之梦

找一个不放弃的理由!

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

原创 poj1239(两次Dp)

两次dp求解,题目要求在整个是递增子序列的前提下最后一个元素的值要最小,并且在此前提下第一个的值要最大,不看题解根本想不到怎么做。做法:定义两个dp数组dp_min dp_max  第一个记录某个i点往后能延伸 的点序号即dp[i]-i就是末尾最小数的区间,dp_max则相反记录的是某个i之前的序列即i-dp[i]作为之前的最大数的区间。首先从前往后dp弄出租后一个数的最小值,然后从后往前

2014-11-28 17:27:41 1454

原创 poj3160(Tarjan+Spfa)

方法RT,但是一直wa不知道为何,感觉自己的代码写搓了今天起来研究了一下,发现错误好多,机智的找到错误,ac

2014-11-13 23:25:13 1035

原创 hdu3401_分析降维_队列优化

这题很好,但是就是不会做,队列优化那块#include#include#include#includeusing namespace std;#define oo 0x3f3f3f3f#define maxn 2020#define maxm 2020int dp[maxn][maxm];//到第i天为止拥有的股票数为j时能赚的最大金额int ap[maxn

2014-11-13 11:28:16 767

原创 hdu3416(最短路+最大流)

最短路+最大流用Spfa算出 s到各个点的最短路 t到各个点的最短路if( dis1[i] + dis2[i] + map[i][j] ==dis1[t] )满足这种情况说明边在最短路上,所以根据这个方法建边然后最大流解决

2014-11-13 10:08:28 1239

原创 hdu 3280 Equal Sum Partitions (区间dp)

这道非常棘手,几乎没思路,看了题解才会做,感觉对区间dp熟悉。好吧,个人想法理解下这题。们要分出的和最小,那么肯定要用 i - j区间的和与 i-k  k-j区间的和进行比较,比较dp值意外还要比较新加进来的 也就是sum[j]-sum[k] 和 sum[k]-sum[i-1];枚举断点不断跟新,怎么感觉和线段树好像。#include#include#include#incl

2014-11-29 15:08:29 618

原创 hdu 2476 String painter (区间dp)

记得好像在网络赛中看到过,可惜不会做。感觉对区间dp中像这种匹配的问题特别不擅长0.0。枚举长度dp,首先考虑空白串变到第二个串的最小步数,然后在一维dp一下从第一个串变到第二个串的最小步数。为什么这样做呢?想想如果直接从第一个串变到第二个串容易吗?是不是想不到很好的办法实现?!#include#include#include#include#include#include#i

2014-11-29 13:57:58 584

原创 hdu4570(区间dp)

这题很多人是用二维dp其实一维就可以而且时间复杂度只要n^2。我用的是从前往后推结果wa了,大牛的做法是从后往前推。我推导了半天没发现这有什么不同的地方。。。方程很简单 dp[i] = max{ dp[i] , dp[j] + a[i] *(j-i) } (j>=i && j#include#include#include#include#include#include#i

2014-11-29 11:02:37 561

原创 poj2955(区间dp)

枚举长度和起点,终点自然固定。#include#include#include#include#include#include#include#includeusing namespace std;#define maxn 105int dp[maxn][maxn];char str[maxn];bool match(int i, int j){ if (st

2014-11-29 01:20:33 579

原创 最长递增子序列nlogn算法的一些脑补

nlogn算法是对n^2算法的改进,看到其中有logn很容想到肯定用到了二分。我们定义个dp 那么dp[i]就表示长度为i的子序列最后一个数的最小值。很显然这个数组是单调递增的因此正为了之后的查找提供了方便,在n^2的算法中我们枚举每个结尾的值然后跟之前的值比较然后跟新最长子序列的dp值,现在nlogn算法也是枚举结尾数,但是在与之前的比较时就不需要用n的复杂度,刚才的dp[i]就派上用处了,因为

2014-11-28 23:15:59 685

原创 hdu4512(最长上升公共子序列变形)

题意就是找出最长的一个序列满足如下条件:1、整个序列对称;2、前半段序列非递减 想想其实可以将序列倒序存储到另一个数组,然后比较两个数组的最长上升子序列。注意一点 j#include#include#include#include#include#include#include#includeusing namespace std;typedef long long

2014-11-28 19:51:15 853

原创 hdu1423(最长上升公共子序列)

这题可以作为模板题了。#include#include#include#include#include#include#include#includeusing namespace std;typedef long long lld;#define oo 0x3f3f3f3f#define maxn 505int dp[maxn];int a[maxn], b[m

2014-11-28 19:50:13 951

原创 hdu 1501 Zipper (记忆优化搜索)

这题想到的方法只能是搜索,但是一般的搜索肯定超时,所以可以把一些已经不能成功的情况记录,碰到的时候直接跳了。记忆优化搜索。#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long lld;#define oo

2014-11-27 20:32:43 595

原创 hdu1300(水题也是dp)

这题dp的很巧妙,反正这个题目题意我是没弄清楚,讲的不好。状态方程 dp[i] = max { dp[j-1] + (sum[i] - sum[j-1])*p[i] }  (选择某段进行替换)#include#include#include#include#include#include#include#includeusing namespace std;typedef

2014-11-27 19:18:33 712

原创 hdu1074(状压DP)

这题本来很简单,代码被我写搓了,字母翘错了一个一直不出结果。#include#include#include#include#include#include#include#includeusing namespace std;typedef long long lld;#define oo 0x3f3f3f3f#define maxn 1<<16int mark[

2014-11-27 16:20:30 550

原创 hdu1081 To The Max (dp)

这题要会做前提要会动一行的矩阵如何求最大连续和,然后转换到二维,其实用到了矩阵的压缩,先求出每行到第一行的累加值,然后暴力枚举任意两行,对这两行的压缩完的单行矩阵进行求连续最大和。#include#include#include#include#include#includeusing namespace std;typedef long long lld;#define

2014-11-27 11:54:06 471

原创 hdu1422 重温世界杯 (dp)

初看觉得题难的,仔细分析,每次上次有省的钱的都可以放到这次来用,那么生活费减去真实费用构成了一个序列,那么只要这个序列的和满足不小于0就可以了,这样就转化成求连续和不小于0的最长序列,注意一点:可以循环,城市之间相当于形成了一个环,那么只要开两倍的数组这样就可以构成循环。最后注意一下如果最后的长度大于城市总数要处理一下,那这时候的结果就是城市的个数。#include#include#i

2014-11-27 11:29:54 802

原创 hdu 1024 Max Sum Plus Plus (dp优化)

说实话,这道题能想到这个状态转移返程就很ok了  dp[i][j] 前j个点分成i段的最大和 dp[i][j]=max{ dp[i][j-1] +a[j] , dp[i-1][k] + a[j] }; (a[j]是分在i段还是另外找一段)分析下,数量级有点大啊,于是想到用滚动数组,但是就算用滚动数组这时间n^3肯定超时,所以要将时间,其实dp[i-1][k]相当于之前的dp[i-1][j]的最

2014-11-27 00:42:31 529

原创 hdu 2059 龟兔赛跑 (dp)

这题dp一直以来都不知道怎么做,今天挑战了下,于是推倒出怎么做了,太开心了。其实只一维的dp就ok了,每次到一个发电站,从开始到这个发电站扫一遍,都将起点看看做充电了,肯定会问我那没充电的情况呢?呵呵,其实真正的精髓就在这里,因为我举个例子 假设我现在走到3这个点,那么我是不是要从0开从扫到3,每次都是把0——3中的点作为充电了,那么现在考虑2——3这个情况,2充电然后走到3,那2不充电怎么办

2014-11-26 21:27:02 615

原创 hdu 1080 Human Gene Functions (编辑距离问题)

这题可以说是最长公共子序列的变形,后面+1变为+scores(对应匹配的分数)注意初始化,各个字母对'-'匹配;#include#include#include#include#include#includeusing namespace std;typedef long long lld;#define oo 0x3f3f3f3f#define maxn 1005

2014-11-26 20:12:36 548

原创 hdu 2577 How to Type (dp)

定义两个状态 dp_a dp_b 分别表示灯是亮的和灯是暗的#include#include#include#include#includeusing namespace std;#define oo 0x3f3f3f3f#define maxn 102int dp_a[maxn], dp_b[maxn];char a[maxn];int main(){ i

2014-11-26 19:49:15 573

原创 Dp_关于最大子矩阵的问题总结

我们知道子一行也是矩阵,只不过是特殊情况,首先来一道题,hdu 1506 高度h[i]  我们定义两个数组,分别为向左扩展能到的最左边的下标,和向右扩展能到的最右边的下标。然后两个数组分别从正方向和反反向扫一遍#include#includeusing namespace std;#define LL long longLL num[100005];LL l[100005

2014-11-26 15:51:03 585

原创 hdu1577

一开看了下数据1000,比较小,由于xi

2014-11-21 02:17:59 772

原创 hdu5019(拆分因子)

数学题,第几大的公因子肯定是最大公因子的因子,yi

2014-11-20 23:44:49 698

原创 wuwen

试试

2014-11-20 18:28:40 693

原创 hdu4982(思维题)

赶脚我的思维已经到了极限了,好难懂

2014-11-19 23:15:03 650

原创 hdu4957(贪心)

wa了好久/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing na

2014-11-18 22:45:45 696

原创 hdu4956(分析)

代码写搓了/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing na

2014-11-18 21:07:03 621 1

原创 cf489C

比赛的时候一直wa。自己写的代码冗长的,jie'ji

2014-11-18 09:43:55 593

原创 hdu4932(思维题)

用dp暴力枚举,可惜wa 。。

2014-11-17 16:48:25 571 1

原创 hdu4931

保证Grandpa百分百要赢/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#include

2014-11-17 11:13:29 609

原创 hdu 4908 BestCoder Sequence (思维题)

这题非常的考验思维,开始的时候想到用左边

2014-11-17 10:44:51 638

原创 hdu4907(小技巧)

题意很简单就不说了,这题暴力肯超时,

2014-11-16 17:57:40 593

原创 hdu4885(最短路径)

不是很理解,之后再看看/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#includeusing namespace std;typedef

2014-11-16 17:26:52 721

原创 hdu4883(贪心)

方法很巧妙,仔细看代码/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusin

2014-11-15 12:54:53 557

原创 Best#1_3 hdu4859(最小割)

因为E有两个选择D或者.   其实就暗含了最小割的模型。 最小割的话,就是一部分分到源点一侧,一部分分到汇点一侧。 如果把源点分在一起当成是.   和汇点分在一起当成是D.  那么建图的时候,相邻的建流量为1的边。 如果这个点本来是. 那个连汇点是INF,本来是D的,连源点是INF。如果是这种建图的话,最小割求出来的最小周长。 我们需要的最大周长。 

2014-11-15 11:21:28 605

原创 hdu 3284 Adjacent Bit Counts (dp)

/** this code is made by LinMeiChen* Problem:* Type of Problem:* Thinking:* Feeling:*/#include#include#include#include#include#include#include#include#include#includeusing namespace s

2014-11-14 20:21:00 687

原创 游戏制作第五棒——俄罗斯方块

很久以前就打算做俄罗斯方块,这次终于做成功了,界面不是很好看,现在的技术也就只能到这里了。一下是重要的部分代码方块类#pragma onceclass FangKuai{private:int x;int y;int Style;int direct;int color;public://是否停止bool Is_Stop;//是否被消

2014-11-14 16:52:50 1084

原创 游戏制作第四棒——坦克大战

这次制作的游戏是我第一次使用MFC没有任何辅助情况下制作的,制作过程遇到过诸多困难,主要是SetTimer定时器的应用出问题。这个版本的坦克大战有许多bug,因为没有数据库所以只能由一个地图。与之前用java写的坦克大战比起来,这次的制作更加困难,这也验证了为什么MFC会被淘汰,而java能很挺立。一下是主要代码,只贴上部分的代码坦克类:#pragma once#include"Sho

2014-11-14 16:52:09 1042

原创 游戏制作第三棒——有界面版五子棋

这次的五子棋应用了上次的算法,但是添加了界面。 package chesses;import javax.swing.*;import java.awt.*;import java.awt.event.*;import static net.mindview.util.SwingConsole.*;public class playchess extends JFr

2014-11-14 16:50:56 838

原创 游戏制作第二棒——flappy birds

这次的改进测底的解决了之前的bug,终于可以正常的玩了。#include"stdafx.h"#include#include#include#include#include#includeusing namespace std;#define PR_Box cout#define PR_Gold cout#define PR_Ag cout#defi

2014-11-14 16:48:11 928

空空如也

空空如也

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

TA关注的人

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