自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aszxqw

新博客地址 http://yanyiwu.com

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

原创 POJ 2029 Get Many Persimmon Trees [dp]

题意:给一个矩阵,里面分布着n个星号。给定一个小矩阵,问最大可以圈进多少个星号。思路:dp方程:dp1[i][j]=dp1[i-1][j]+dp1[i][j-1]-dp1[i-1][j-1]+a[i][j];//代表从(1,1)到(j,i)圈进的星数。dp2[i][j]=dp1[i][j]-dp1[i-ty][j]-dp1[i][j-tx]+dp1[i-ty][j-tx];

2012-03-30 19:59:25 660

原创 POJ 2181 Jumping Cows [贪心]

题意: 给定一个数字串,按奇偶顺序挑选几个数字,+奇选的数字-偶选的数字,问怎样顺序挑选使最后的和最大。思路:O(n)贪心。本质上其实是在对这个串进行分割,分割成若干段,每个段里面有一个最大值,一个最小值,且最大值在最小值前面。O(N)去遍历,先找出最大值,然后找出最小值,就算完成一个子段。至于最后的子段肯定是只有最大值,所以只需在读取的串最后面加一个数字0即可。

2012-03-29 20:29:06 832

原创 POJ 2184 Cow Exhibition [dp 背包]

题意:给定两串数字,有正有服,求出最大和,且这个和的状态下满足任一边都不为负。思路:dp。说是背包,但是其实完全不懂背包的也可以做出来。本质就是用dp数组来记录状态,然后依次增加状态和更新而已。。值得注意的就是对负值平移成非负的。linux环境下vim编辑器a掉的第二道题,很艰难,没少gdb。强烈意识到要开始改装一下vim成ide了,利其器。#i

2012-03-27 21:31:45 696

原创 POJ 2192 Zipper [dfs+剪枝 || dp]

题意:给定三个字符串,如果前两个可以拼装成第三个,则输出yes,否则输出no。思路:1:DFS:最直观的思路是可以用dfs去搜,从第三个字符串为目标串去dfs(0,0,0)。如果在第一个串里字符匹配,则dfs(i+1,j,k)。这种dfs本质所在搜一刻二叉树。但是我觉得这种ac了说明数据弱,否则因为这种dfs需要回溯,很容易超时。不过ac也是看了disc

2012-03-26 17:43:47 649

原创 POJ2231 Moo Volume [简单dp]

题意:给定n个数字。问任意两数之间的差的总和是多少。思路:先从小到大排序。然后dp转移方程:dp[i]=dp[i-1] + (i-1)*(a[i]-a[i-1]);最后结果是ans=dp[n]*2;(因为噪声计算是双向的)其实与其说是dp,还不如说是找规律。这样的时间复杂度是sort的时间复杂度O(nlogn)。#include#include#

2012-03-24 14:02:53 1754 1

原创 POJ2329 Nearest number - 2 [BFS]

题意:给定一个矩阵。定义好距离的表达式。如果这个矩阵有0,则找出离它最近的非0数填充之,然后这个最近非零数不只一个,则不填充。思路:我不明白这题为啥归类到DP了。很显然是广搜啊。由距离的定义我们可以知道每次广搜都是上下左右地移动即可。不难写,但是要注意就是如果调用stl里面的queue则超时。#include#include#includ

2012-03-24 11:46:10 1024

原创 POJ 2336 Ferry Loading II [贪心 DP]

题意:摆渡:每次可以摆渡n辆车,摆渡要来回的,去和返的时间一样都是t,有m辆车需要摆渡。这m辆车抵达码头的时间给定。问如果摆渡,可以使摆渡完所有的车的时间最少。且输出这个条件下,最少的来回数。思路:贪心+dp。现在要满足总时间最少,则最晚抵达的车要尽早摆渡过岸。假设最晚抵达的车,车号为m的时间为 40。则最后一趟摆渡出发的时间可以是t>=40的区间都可以

2012-03-23 22:45:25 1075

原创 POJ 2346 Lucky tickets [DP]

题意:n位长的十进制数序列显然有10^n种。问满足前n/2序列数和等于后n/2序列数和的种数多少。思路:dp [ i ][ j ][ k ]:代表前i位和为j,后i位和为k的种类数。转移方程:dp[i][j][k]+=dp[i-1][j-wj][k-wk];#include#include#include#include#include

2012-03-23 13:17:20 1105

原创 POJ 2353 Ministry [DP]

题意:给定一个m x n矩阵,要求从上到下寻找一条最短路径,这条最短路径顺序必须是从小到下,每一层的时候向左向右都行。思路:申请数组如下:dp [ i ] [ j ] :抵达第i层第j个点的最小消耗。pre [ i ] [ j ]:抵达第i层第j个点的前一个点,即保存路径。因为每个点的pre点只有三种情况,上左右,所以当 pre [ i ] [ j ]==j时,即代表是

2012-03-22 18:48:44 847

原创 POJ 2356 Find a multiple [抽屉原理]

题意:给定n个正数,请你从中找出若干个数,其和刚好是n的倍数。思路:抽屉原理。sum[0]=0;sum[i]=(a[1]+a[2]+a[3]...a[i])%n;如果存在i>0 使得sum[i]=0;则直接输出a[1],a[2],,....a[i]即可满足题意。如果不存在,考虑sum[ j ]-sum[ i ]=a [ i+1 ],a[ i+2 ]....a[

2012-03-22 16:51:48 1704 1

原创 POJ 2385 Apple Catching [DP]

题意:很久很久以前,山上有两棵苹果树,每一分钟,其中一棵就会掉下一颗苹果。树下有一只牛,好吃懒做。每一分钟只可以出现在某一棵苹果树下面,因为他没有买分身斧,dotaer都懂的。问给定一个奔跑次数,怎样奔跑才能吃到的苹果数量最多。思路:dp。申请一个二维数组dp [ j ] [ w ] 。j 代表此状态下 剩余奔跑速度 j 的条件下 ,站在w树下的最大吃到苹果树

2012-03-22 12:57:33 1080

原创 POJ 2392 Space Elevator [DP 多重背包]

题意:给定n种砖块,每种砖块有c个,高度是w,在h高度下可以使用。问怎样累加可以使总高度最高。思路:如果没有h高度约束的话显然是直接全部相加即可。用dp解决,每个高度值 j 是一种状态。所以其实本质是背包问题。因为每种砖块是有限个,所以是多重背包。用二进制优化时间。但是因为h高度约束的问题,每个状态 j 只可能由 高度约束 h >=j 的砖块 有关。所以要先由h高度

2012-03-22 10:32:14 494

原创 POJ1129 Channel Allocation [图染色 暴搜]

题意:给定一个图。如今要给每个点分配一个频段(可视为染上一种颜色)。要求如果某两个点之间有边,则染上的颜色不能相同。为如何颜色可以使使用的颜色数最少。思路:因为数据量N从1到n依次染色,初始时染色点1为颜色1,即color[1]=1;对于每个点,他的颜色可能值用一个has数组表示。如果它与已经染色的点之间有边,则将该has值赋值true。然后遍历该has数组,找

2012-03-14 10:51:33 558

原创 POJ 2676 Sudoku [暴搜]

题意:给定一个9*9矩阵,矩阵值只为0到9;0代表需要你去填充的格子。只能用1到9中的数字填充。问怎样填充可以满足三个约束条件,分别是:横看,竖看,3*3方格看,都刚好是1到9各个数字不重复。思路:暴搜。看了discuss以为很复杂。其实不会。不过就是需要用bool row[N][N];bool col[N][N];bool sqr[N][N];三个哈希数组来判

2012-03-14 09:43:40 448

原创 POJ 2531 Network Saboteur [暴搜]

题意:给定一个图,矩阵表示边权值。问怎样分配N个点进两个集合,可以使这个集合之间的边的权值和 最大。思路:因为N无需任何优化,直接173MS AC掉。#include#include#include#include#include#include#define llong long long#define Min(a,b) (a<b?a:b)#def

2012-03-13 22:23:27 500

原创 POJ1656 Counting Black [简单暴力]

题意:给定100*100的方格,每次涂颜色或者问颜色操作。思路:以为数据量太小,直接暴力模拟而过。A水题真是一种陶冶。#include#include#include#include#include#include#define llong long long#define Min(a,b) (a<b?a:b)#define Max(a,b) (a>b?

2012-03-13 13:29:35 942

原创 POJ1595 Prime Cuts [暴力打表]

题意:给定一个数字n,将1到n中的所有质数按照中心值为c的规定输出,具体规定题目写得很清楚。思路:简单的暴力打表题。调智能车调得郁闷,找个水题A掉缓冲一下心情,所以这题就这么牺牲了。#include#include#include#include#include#include#define llong long long#define Min(a

2012-03-13 13:05:17 1282

原创 POJ1724 ROADS [最短路变形 二维dp+spfa]

题意:给定金钱数量k,城市数量n,单向边数量m。每条单向边有两个指标w:距离;cost:花费金钱数。问在花费小于等于k的情况下,最短的路程是多少。思路:申请一个二维dp[n][k];dp[i][j]代表在花费j的条件下到达第i个城市的最短路程值。这个二维数组dp初始化值为inf。对dp[1][0]=0;然后用spfa进行处理,不断优化整个dp数组的值。但

2012-03-10 11:01:57 858

原创 POJ2421 Constructing Roads [最小生成树 prim]

题意:很裸的最小生成树。思路:将已经建造的边赋值为0,然后进行prim就ok。#include#include#include#include#include#define llong long long#define Min(a,b) (a<b?a:b)#define Max(a,b) (a>b?a:b)#define Abs(a) ((a)>0?(a):

2012-03-08 20:06:23 518

原创 图论算法模板整理

最短路系列:spfa:#define Min(a,b) (a<b?a:b)#define Max(a,b) (a>b?a:b)#define Abs(a) ((a)>0?(a):-(a))#define Mod(a,b) (((a)-1+(b))%(b)+1)int n,m;int d[N];struct { int v,w,next;}edge[2*M]

2012-03-07 19:02:48 1395

原创 BOJ 热身赛 F题 解题报告 [最大流最小割 dinic]

题目在下面链接:点击打开链接F  Panic RoomDescriptionYou are the lead programmer for the Securitron 9042, the latest and greatest in home security software from Jellern Inc. (Motto: We secu

2012-03-01 09:49:15 878

空空如也

空空如也

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

TA关注的人

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