自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Czy

A stupid bird...

  • 博客(11)
  • 资源 (6)
  • 收藏
  • 关注

原创 Sicily 1828 Minimal(动态规划)

//动态规划//这题的关键在于先排序,只有先排序,后面动规的思路才能出来,我就是想不到得先排序,卡了好久还得别人提醒//我是NC不解释//题意是对2个集合寻找N对数对,使得数对的距离之和最小//如果你先排好序,那么用DP(i,j)表示A集合的前i个点与B集合前j个点的最优值//那么对于第i+1个A集合的点而言,他的最优解就是前i个点与B集合前j个点的最优值加上第i+1个点与第j+1个点的距离//或许i+1与j+1配对不是最好的,它可能比上一个状态DP(i+1,j)要差//综上

2010-09-29 01:14:00 3540

原创 Sicily 1034 Forest(DFS)

//图的遍历,DFS,统计森林的宽度和深度,加上对环的判断//一道这么简单的题我一开始用BFS,结果WA到吐血,唉,我这个大水人#include#include#includeusing namespace std;bool vis[105],ok;int width[105];vector E[105];//邻接表int N,M,W,D,in[105];void dfs(int u,int d){ if(vis[u])//发现已搜过的点,证明存在环 {

2010-09-19 00:15:00 4130

原创 POJ 3414 Pots(BFS倒水问题)

//BFS倒水问题,对于需要打印解得广搜题,必须保存搜索状态和状态的父亲指针,然后逆推,根据状态和状态之间的关系//判断属于那一种情况,并将解记录,还有POJ的1606也是同样类型的题,只不过要求有点点不一样,规模也有点点不一样//代码也就不重复贴了~#include#include#include#includeusing namespace std;bool vis[105][105];int A,B,C;vector ans;struct State{

2010-09-18 15:21:00 3532

原创 Sicily 1153 马的周游问题(DFS深度优先搜索)

//经典的深度优先搜索,必须剪枝才能通过,而且剪枝策略十分神奇,先走下一步可行拓展数最少的,看了大牛的题解才会的//也就是说假如当前结点有8个可以走的拓展点,对每个可行拓展点再计算它的可行拓展数,然后排序,先走那个可行拓展数最小的//就是先走那个最没前途的点,这样会更快,因为它这么没前途,要从其它点到达它就更难了,所以先走#include#include#include#includeusing namespace std;int dir[8][2] = {-1,-2,-1,

2010-09-18 01:29:00 4234 1

原创 POJ 3311 Hie with the Pie(Floyd+状态压缩DP)

//Floyd + 状态压缩DP//题意是有N个城市(1~N)和一个PIZZA店(0),要求一条回路,从0出发,又回到0,而且距离最短//也就是TSP(旅行商)问题,首先不难想到用FLOYD先求出任意2点的距离dis[i][j]//接着枚举所有状态,用11位二进制表示10个城市和pizza店,1表示经过,0表示没有经过//定义状态DP(S,i)表示在S状态下,到达城市I的最优值//接着状态转移方程:DP(S,i) = min{DP(S^(1#define INF 100000000

2010-09-17 14:11:00 5046

原创 POJ 1077 Eight(BFS八数码问题)

#include#includeusing namespace std;typedef int State[9];const int MAXS = 1000003;State st[MAXS],goal = {1,2,3,4,5,6,7,8,0};int dir[4][2] = {-1,0,1,0,0,-1,0,1};int head[MAXS],next[MAXS],fa[MAXS];//父亲指针用来记录状态之间的关联,方便打印解vector ans;//保存方案voi

2010-09-16 10:41:00 1186

原创 POJ 1657 Distance on Chessboard(搜索题)

//搜索题,王用宽搜解决,后用点和点的斜率解决,只有两种情况,要么1,要么2。//车直线判断即可,要么1,要么2。//象斜率判断加所在格子的黑白情况进行判断,我想出了一个好方法。行列同奇同偶,为白色,行列奇偶互异为黑色。//象如果在黑色格子上,他永远到不了白色格子,这是性质。#include#includeusing namespace std;bool vis[64];int dir[8][2] = {-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,

2010-09-12 17:05:00 858

原创 POJ 1102 LC-Display(模拟题)

//模拟题//将每个数字从上到下划分成5个部分,将打印分为5种类型//1:空白 2:- 3:左| 4:右| 5:| |两竖,同时设置5个部分的打印接口//接着LCD数组存放这个每个数字每个部分的打印类型#includeusing namespace std;int S,N,len;int data[10];int LCD[10][5] = {1,4,0,4,1, 0,3,0,3,0, 1,3,1,2,1, 1,3,1,3,1, 0,4,1,3,0, 1,2,

2010-09-10 14:04:00 971

原创 POJ 1157 LITTLE SHOP OF FLOWERS(动态规划)

//动态规划//设S[i,k]表示第i种花束摆在第k个之前(包括第k个)的任意某个花瓶中,前i种花束能够获得的最大美学值(之和)//原问题的最优值即为S[F,V]//S[i,k] = max{S[i-1,k-1]+A(i,k),S[i,k-1]},(i>1,k>i);//初始条件为://S[1,1] = A[1,1]; //S[1,k] = max{A(1,k),S[1,k-1]},(k>1);//S[i,i] = S[i-1,i-1]+A(i,i), (i>1) //要点,

2010-09-09 23:01:00 868

转载 sscanf 用法详解

<br /> <br /> <br /> <br />名称:<br />sscanf() - 从一个字符串中读进与指定格式相符的数据.<br /> <br />函数原型:<br />Int  sscanf( string str, string fmt, mixed var1, mixed var2 ... );<br />int  scanf( const char *format [,argument]... );<br /> <br />说明:<br />sscanf与scanf类似

2010-09-08 00:01:00 924

原创 POJ 1160 Post Office(动态规划)

//经典动态规划//dp(i,j)表示用i个邮局,从1到j村庄的最优解//dis(i,j)表示只用1个邮局从i到j村庄的最优解,显然取i,j中点的村庄作为邮局点是最优的//动态转移方程:dp(i,j) = min{dp(i-1,k) + dis(k+1,j)}(i #define INF 1000000000using namespace std;int d[305];int dp[35][305],dis[305][305];int n,m;void init(){

2010-09-07 16:09:00 3433

程序设计导引及在线实践

程序设计导引及在线实践,poj上推荐的书,十分适合ACM初学者

2010-04-25

浙江大学ACM例程模板

浙江大学ACM专用模板,十分深入,适合高水平选手使用

2010-04-25

吉林大学ACM例程模板

一份相当不错,相当全面的ACM模板,十分实用参加ACM比赛的人,十分推荐。

2010-04-25

谭浩强C++程序设计

谭浩强C++程序设计 内附图片,源代码,正文 PDF格式,内容实用简洁明了 是一本不错的学习C++的入门书籍

2010-01-02

空空如也

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

TA关注的人

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