自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 个人拍脑门想起来的100本书

1.      平凡的世界http://www.amazon.cn/dp/B005MVA6WO/ref=tmm_pap_swatch_0?_encoding=UTF8&sr=8-1&qid=1431593269 a.       通过此书可以从一个侧面详细地了解那个年代的中国,读完之后将更珍惜现在的生活。 2.      全球通史http://www.amazon.cn/dp/B0095R0W

2015-05-14 17:31:08 699

原创 poj 3688

#include #include #include using namespace std; const int MAX_N = 10000; const int MAX_M = 100000; int n, m; int a[MAX_N]; bool dp[MAX_M][2]; //dp[i][0]:保存奇数能到 void solve() { memset(dp, false, s

2013-10-15 15:27:52 588

原创 poj 2112 Optimal Milking

floyd + 二分 + 最大流Dinic #include #include #include #include #include using namespace std; const int MAX_K = 30; const int MAX_C = 200; const int MAX_M = 15; const int MAX_V = 240; const int INF

2013-10-02 17:04:55 381

原创 poj 3057

考虑某一个门,能在时间t从该门逃脱的人,应该是距离该门t以内的人,并且其中只有一人能够从该门逃脱。每个时间和门的二元组,都能确定一个对应的能够从中逃脱的人的集合,而通过计算这个二元组和人组成的二分图的匹配数,我们就可以判断所有人是否都可以逃脱。 #include #include #include #include #include using namespace std;

2013-10-02 10:15:13 851

原创 poj 3041 Asteroids 二分图匹配

在N × N 的网格中有K个小行星。小行星的位置为(Ri,Ci)。现在有一个强有力的武器能够用一发光束将一整行或一整列小行星摧毁。现想利用这个武器摧毁所有小行星,问最少要几发光束? (1 (1 (1 二分图建图:        把光束当做顶点,小行星当做连接光束对应的边。由于每个小行星只能由其所在的横坐标或纵坐标的光束所摧毁,故一条边连接两个顶点,其图为二分图。

2013-10-01 11:09:26 397

原创 poj 2488——dfs深度优先遍历

//poj2488 A knight's Journey //给行数列数,求问能否遍历,给出字典序的一种遍历 //深度优先遍历dfs #include #include using namespace std; //visit[row][col] : 存储该点是否被访问过 bool visit[27][27]; //opt[8][2]:表示行走方向,用此来保证字典序 int opt[8][2]

2013-04-01 19:35:23 417

原创 poj1260 —— 最少的钱买完所需珍珠

c表示有多少种珍珠 ai 表示第i种珍珠所需的数量 pi 表示第i种珍珠的价钱 每买一种珍珠都需要付额外的10 * pi的钱,便宜的珍珠可以用贵的珍珠来代替,求最少的钱的总数。 简单动态规划 dp[i] 表示买完第i种珍珠之后,所花费的最少的代价,j从0到i,从j+1开始,全部由第i种代替所需的价钱+前j种所需的价钱的最小值 dp[i] = min(dp[j] + (a[j+1

2013-03-25 10:41:03 712

原创 poj2533 —— 求最长不降子序列

简单动态规划,求最长升序列。 dp[i] 表示从1到i的最长升序列长度。遍历1到i-1,如果a[i] > a[j] ,dp[i] = dp[j] + 1的最大值。 即dp[i] = max{dp[j] + 1,if(a[i] > a[j]),1 求出从1到n 的dp[i],取最大值即为结果。 #include using namespace std; int main() { in

2013-03-25 09:38:45 508 1

原创 poj1159 —— 一个字符串,求最少插入几个字符可以组成回文

一个字符串,求最少插入几个字符可以组成回文。 典型动态规划:求该字符串和其逆字符串的最长公共子序列,用长度减去最长公共子序列长度即可。 wa一次:runtime error:开了一个int 5000*5000的数组(100M),超了内存64M的限制,开成short(50M)即可。 #include using namespace std; short c[5001][5001];

2013-03-25 09:22:25 1210

poj1260 —— 最少的钱买完所需珍珠

c表示有多少种珍珠 ai 表示第i种珍珠所需的数量 pi 表示第i种珍珠的价钱 每买一种珍珠都需要付额外的10 * pi的钱,便宜的珍珠可以用贵的珍珠来代替,求最少的钱的总数。

2013-07-24

poj2488——dfs深度优先遍历

poj 2488——dfs深度优先遍历 //给行数列数,求问能否遍历,给出字典序的一种遍历

2013-07-24

空空如也

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

TA关注的人

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