自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 HDU - 1217 Arbitrage(floyd)

题目大意:n 种钱币间进行各种汇率交换,如果能赚就 Yes,否则 No 解题思路:国家为点,汇率为边建图,用 floyd 处理,最终自己到自己的权值大于 1 说明有一个环能赚#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<cmath>#include<string.h>#i

2017-09-22 16:21:45 221

原创 POJ - 1847 Tram(spfa)

题目大意:火车从一点开到另一点,轨道上有很多岔路口,每个路口都有好几个方向,默认是第一个方向,如果要选择别的方向的话要进行一次换向操作 ,给定一个起点一个终点 ,问最少进行几次操作能够到达终点 , 如果开不到输出 -1 解题思路:转换次数作为权值,第一个路口是 0,别的是 1,求最短路#include<iostream>#include<stdio.h>#include<stdlib.h>#

2017-09-22 16:14:07 246

原创 POJ - 3660 Cow Contest (floyd)

题目大意:给出 n 头牛的强弱关系,问有几头牛能够确定排名 解题思路:为每个关系建立一条边,间接有关的用 floyd 建好,然后统计与剩余 n-1 个点都相连的点的个数#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<cmath>#include<string.h>#incl

2017-09-22 16:04:12 201

原创 POJ - 1502 MPI Maelstrom(dijkstra/spfa)

题目大意:给出一个 n×n 邻接矩阵的下三角,x 表示不可达,A(i, j) = A(j, i),i == j 时为 0,求 1 到其余点最小花费时间中的最大值 解题思路:裸最短路 dijkstra: Time(ms):16 Mem(MB):0.2#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorith

2017-09-17 10:17:15 241

原创 POJ - 3259 Wormholes(bellman)

题目大意:n 个点 m 条边 w 个虫洞,m 行三个数表示 a 到 b 花费时间 c,w 行表示 a 到 b 时间逆流 c,即花费时间 -c,虫洞是单向的,问能否回到从前 解题思路:就是判断有无负环,权值能够无限减小。道路是双向的,虫洞是单向的,边的数组大小应该是 m×2+w ,贡献了一发 RE#include<iostream>#include<stdio.h>#include<algori

2017-09-17 10:08:40 188

原创 POJ - 1860 currency exchange(bellman)

题目大意:n 个城市 m 条道路,每条路都有一个承载量,求最大承载量。 解题思路:最大生成树,无向图,dijkstra。对于每条路线来说,最大承载量是该条路线所有道路承载量中的最小值#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>

2017-09-17 09:59:12 264

原创 POJ - 3268 Silver Cow Party(dijkstra)

题目大意:n 个点 m 条边,第二行开始每行三个数 表示 a 到 b 要花费 l 时间,所有奶牛要到 x 的位置去开 party,除了 x 外,别的奶牛去 x 都有一个来回的最短时间,求所有奶牛来回最短时间,并输出最大值 解题思路:有向图,所以来回时间是不同的,将临接矩阵行列对换,进行两次dijkstra即可#include<iostream>#include<stdio.h>#include

2017-09-17 09:30:58 270

原创 POJ - 1797 Heavy Transportation(dijkstra)

题目大意:n 个城市 m 条道路,每条路都有一个承载量,求最大承载量。 解题思路:最大生成树,无向图,dijkstra。对于每条路线来说,最大承载量是该条路线所有道路承载量中的最小值#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>

2017-09-17 09:23:28 255

原创 POJ - 2387 Til the Cows Come Home(dijkstra)

题目大意:n 个点,给出若干条边,无向图,求 1 到 n 的最短距离 解题思路:模板题,没啥好说的#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>#include<queue>#define max(a,b) ((a)>(b)?

2017-09-05 17:30:39 226

原创 HDU - 1003 Max Sum(连续子序列最大和)

题目大意:给一组数,求最大连续子序列和。 解题思路:UVA - 507 Jill Rides Again(连续子序列最大和) #include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>#include<queue>#define max(

2017-09-04 11:30:38 310

原创 POJ - 3616 Milking Time(LIS)

题目大意:n时间内产奶,m个时间段,每个段有 l,r,v 表示从 l 时到 r 时共可产奶 v,挤奶工每次挤奶必须挤完完整的时间段,且每次挤完需要休息 r 时,求可获得的牛奶最大值。 解题思路:n 并没有什么卵用……时间段按开始时间从小到大排序,然后套 LIS 多加一个判断条件,点像贪心#include<iostream>#include<stdio.h>#include<algorithm

2017-09-04 11:24:09 219

原创 HDU - 2859 Phalanx

题目大意:给出一个字母矩阵,求最大的对称子矩阵的大小,对称轴左下到右上。 解题思路:枚举每个字母,判断上和右的字母是否相同,while 直到不同跳出。 dp 表示当前字母为子矩阵左下角时,对称矩阵的大小。#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#incl

2017-09-04 11:14:38 193

原创 HDU - 1078 FatMouse and Cheese(记忆化搜索)

题目大意:n*n 棋盘,老鼠从(0,0)出发,可以上下左右移动吃奶酪,每次最多 k 步,且需要保证下一格奶酪比本格多,问最多能吃到多少。 解题思路:dp + 搜索 dp[][] = max(所有可以从当前点走到的点的dfs的结果集) 记得加上当前格子的值#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath

2017-09-04 10:34:52 178

原创 POJ - 3186 Treats for the Cows

题目大意:给一组数,每次能从首或尾取出一个数,然后乘以当前次数,问如何取使得总和最大。 如:a1, a2, a3 第一次取首,第二次取尾,第三次取首,则和为 a1×1+a3×2+a2×3 解题思路:dp 记录每次取完当前数的最大和,i 表示第 i 次取首, j 表示第 j 次取尾,则 i + j 就表示取的次数。处理一下边界即可#include<iostream>#include<stdio

2017-09-04 10:25:24 187

原创 HDU - 1159 Common Subsequence(LCS最长公共子序列)

题目大意:给出字符串 X 和 Y,输出最长公共子序列的长度 解题思路:LCS 水过#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b

2017-09-01 18:58:39 245

原创 UVA - 10131 Is Bigger Smarter?

详见 HDU - 1160 FatMouse’s Speed#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))const int

2017-09-01 18:44:30 234

原创 HDU - 1160 FatMouse's Speed

题目大意:给出若干只老鼠的重量和速度,从数据中找出一组数据满足越重的老鼠速度越慢,数据量越大越好,输出个数和老鼠的序号,有多种答案,只需要输出一种 解题思路:先对这些数据排序(重量递增,重量相同时速度递减)然后递推 dp 记录包含当前老鼠时能够满足条件的数据最多有几个,path 记录满足条件数据的坐标,用于路径输出。感觉这题也是 LIS 的变型#include<iostream>#include

2017-09-01 18:42:43 204

原创 HDU - 1257 最少拦截系统(LIS最长递增子序列)

题目大意:中文题 解题思路:LIS 输出最长上升子序列的长度即可,除该子序列外的数字前均有比自身大的数字,都会被顺便拦截掉。理解这个之后就好做了~#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>#include<queue>#i

2017-09-01 18:33:14 192

原创 HDU - 1260 Tickets

题目大意:给出 N 组测试样例,每组样例第一行表示 k 个人,第二行表示每个人购票所花时间,第三行 k-1 个数表示相邻两人一起购票需要的时间。8 点上班,问几点能下班。 解题思路:对于每个人,都有自己买 s[i] 或者是和前一个人一起买(除第一个人外)d[i] 两种方式。dp 记录当前人购票时花费最少时间,状态转移方程dp[i] = min(dp[i-1]+s[i], dp[i-2]+d[i])

2017-09-01 11:58:23 224

原创 HDU - 1176 免费馅饼

题目大意:中文题 解题思路:列一个矩阵,把每秒的坐标情况都记录下来,然后从矩阵最后一行(即最后一秒)开始往前递推,输出初始位置 5 的馅饼数即可。#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<string.h>#include<string>#include<queue>#i

2017-09-01 11:53:36 206

空空如也

空空如也

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

TA关注的人

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