![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
poj 初级算法
文章平均质量分 71
JOKER_SAMA
这个作者很懒,什么都没留下…
展开
-
Flip Game
原题:DescriptionFlip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white and the other one is black and each piece i原创 2016-07-25 10:57:51 · 602 阅读 · 0 评论 -
POJ-2442 Sequence
SequenceTime Limit: 6000MS Memory Limit: 65536KTotal Submissions: 8855 Accepted: 2937DescriptionGiven m sequences(序列), each contains n non-negative(非负的) integer(整原创 2016-08-10 08:19:34 · 209 阅读 · 0 评论 -
POJ-3253 Fence Repair
Fence RepairTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 40171 Accepted: 13110DescriptionFarmer John wants to repair a small length of the fence arou原创 2016-08-10 08:53:41 · 179 阅读 · 0 评论 -
POJ-1019 Number Sequence
题目链接:点击打开链接题意:给你一个1 12 123 1234 这样的序列, 问你在第i个位置上的数是几。注意 12345678910 第10位数字是1 不是10;思路:先将第序列分组, 将每一组有多少个数, 前i组共有多少个数打表,然后再求那一位是几, 具体看下代码: #include #include using namespace std;const int原创 2016-08-22 10:36:48 · 276 阅读 · 0 评论 -
POJ-1094 Sorting It All Out (拓扑排序)
Sorting It All OutTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 32590 Accepted: 11324DescriptionAn ascending(上升的) sorted sequence(序列) of distinct(明显原创 2016-08-13 11:15:27 · 211 阅读 · 0 评论 -
POJ-2418 Hardwood Species
原题:点击打开链接思路:这道题用STL的map函数正好, 因为map恰好是按照字典序排序的。代码:#include #include #include using namespace std;mapq;int main(){ string a; int tol = 0; while(getline(cin,a)) { q[a]++; tol++;转载 2016-08-13 11:18:35 · 273 阅读 · 0 评论 -
POJ-3259 Wormholes(最短路,bellman求负环)
原题:点击打开链接题意:在n个结点之中,有权值为正的无向路,也有权值为负的有向虫洞,问能不能从起点返回起点之后所用时间为负值。思路:明显题目意思就是让求图中有没有负环,有负环则能满足题意。于是用bellman法判断负环存不存在就可以了。代码:#include #includeusing namespace std;struct node{ int a, b, t原创 2016-08-13 14:22:59 · 366 阅读 · 0 评论 -
POJ-1062 昂贵的聘礼
题目链接:点击打开链接思路:本题是求单源最短路径,适合用dijkstra算法,枚举每一个人的地位当做最小地位,分别求出到第一个人的最短距离,再从中取最小值。代码:#include #include #include using namespace std;int M, N, tol, dis[110], level[110], edge[110][110], P[110]原创 2016-08-13 14:34:53 · 240 阅读 · 0 评论 -
POJ-2253 Frogger (Floyd)
题目链接:点击打开链接题意:注意,这次不是让求最短路径,而是让求到达终点所需的最长的路径最短。思路:变相的floyd算法, 只需将判断条件改为if(dis[i][k] dis[i][j]&& dis[k][j] dis[i][j])即可。代码中函数名写的是bellman 不用理会。。。#include #include#include#include u原创 2016-08-13 14:42:38 · 262 阅读 · 0 评论 -
POJ-1125 Stockbroker Grapevine (floyd)
题目链接:点击打开链接简单的floyd,暴力直接过。#include #includeusing namespace std;const int inf = 0x3f3f3f3f;struct node{ int x, y, t;}a, b;int n, dis[105][105];int main(){ while(cin>>n,n) { for原创 2016-08-13 14:51:56 · 304 阅读 · 0 评论 -
POJ-2485 Highways (最小支撑树)
题目链接:点击打开链接思路:典型的最小生成树问题,直接上代码。#include #include using namespace std;const int inf = 70000;int dis[501], edge[501][501], n;bool vis[501];int Prim(){ memset(vis,false,sizeof(vis)); vi原创 2016-08-13 14:54:53 · 380 阅读 · 0 评论 -
POJ-3026 Borg Maze (BFS+最小生成树)
题目链接:点击打开链接题意:给你一个地图,地图中A代表外星人,S代表出发点,从S点出发,每遇到一个A点便可分裂成多个。求把所有A都吃完需要多少步。刚开始没读好题,我以为S点随时都能分裂,头疼了好一会。思路:其实A和S是一样的,本题的本质就是求连接A和S的最小生成树。无非麻烦的一点就是各个结点之间的权值。这里采取的办法是,枚举每一个结点进行一遍BFS,求该原创 2016-08-13 14:59:17 · 1617 阅读 · 0 评论 -
POJ-3267 The Cow Lexicon (动态规划)
题目链接:点击打开链接题意: 给定一个字符串和N个单词,要求从字符串中去掉最少的字符后能够被这些单词表示。思路:参考博客:点击打开链接dp[i]表示从message中第i个字符开始,到第L个字符(结尾处)这段区间所删除的字符数,初始化为dp[L]=0由于我的程序是从message尾部向头部检索匹配,所以是下面的状态方程: 从程序可转载 2016-08-13 15:12:47 · 329 阅读 · 0 评论 -
POJ-1321 棋盘问题
棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 35179 Accepted: 17342Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编原创 2016-08-13 19:40:24 · 266 阅读 · 0 评论 -
POJ-2488 A Knight's Journey (DFS)
A Knight's JourneyTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 40609 Accepted: 13800DescriptionBackgroundThe knight(骑士) is getting bored of seeing原创 2016-08-13 19:45:24 · 236 阅读 · 0 评论 -
POJ-1942 Paths on a Grid
题目链接:点击打开链接题意:给你一个方格, 求从左下角到右上角的路径数目。思路:每一步要么向上走要么向下走, 走的步数是一定的, 所以只需要求哪几步是向上走的情况就可以了, 即C(m,n).代码:#include #include using namespace std;unsigned comp(unsigned n, unsigned m){ unsigne原创 2016-08-20 20:33:59 · 331 阅读 · 0 评论 -
POJ-1260 Pearls (dp)
题目链接:点击打开链接题意: 给你n种宝石的价格, 数量( 宝石的质量依次升高,). 求花费的最小值.条件是: 1: 你每买一种宝石, 你必须多买10个. 2: 你可以用高质量的宝石代替低质量的宝石.思路: dp[i]代表买到第i种宝石需要花费的最小数目.状态转移方程:dp[i] = min(dp[i],原创 2016-08-19 21:26:03 · 291 阅读 · 0 评论 -
poj(1573)Robot Motion
原题:Robot MotionTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 12567 Accepted: 6094DescriptionA robot has been programmed to follow the instru原创 2016-07-26 17:28:39 · 251 阅读 · 0 评论 -
poj(2632)Crashing Robots
原题:Crashing RobotsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9899 Accepted: 4225DescriptionIn a modernized warehouse, robots are used to fetc原创 2016-07-26 17:37:24 · 213 阅读 · 0 评论 -
poj (3083) Children of the Candy Corn
原题:Children of the Candy CornTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12681 Accepted: 5439DescriptionThe cornfield maze is a popular Hallow原创 2016-07-29 08:55:32 · 247 阅读 · 0 评论 -
poj(1860) Currency Exchanges
原题:Currency ExchangeTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 26388 Accepted: 9752DescriptionSeveral currency exchange points are working in原创 2016-07-29 14:47:08 · 196 阅读 · 0 评论 -
poj 2049 Finding Nemo
原题:Finding NemoTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 8974 Accepted: 2114DescriptionNemo is a naughty boy. One day he went into the deep原创 2016-07-30 19:17:56 · 266 阅读 · 0 评论 -
POJ-2531 Network Saboteur (DFS)
题目链接:点击打开链接题意:给你结点之间的权值,让你把结点分成两组, 让两组结点之间即权值之和最小。思路:没想到是这样一种暴力dfs题,先把每个结点都设为a组,然后通过不断的回溯来枚举所有情况。代码如下: #include #include using namespace std;int n;int g[21][21];int a[21], b[21], mx原创 2016-08-16 16:34:34 · 265 阅读 · 0 评论 -
POJ-1416 Shredding Company(DFS)
题目链接:点击打开链接大致题意:公司现在要发明一种新的碎纸机,要求新的碎纸机能够把纸条上的数字切成最接近而不超过target值。比如,target的值是50,而纸条上的数字是12346,应该把数字切成四部分,分别是1、2、34、6。因为这样所得到的和43 (= 1 + 2 + 34 + 6) 是所有可能中最接近而不超过50的。(比如1, 23, 4, 和6 就不可以,因为它们的和不原创 2016-08-16 19:11:43 · 1288 阅读 · 0 评论 -
POJ-2676 Sudoku(DFS)
题目链接:点击打开链接题意:完成一个数独游戏。思路:DFS暴力搜索,设置三个标记数组, 分别标记第i行的9个数,第j行的9的数,第k个方格的九个数有没有出现过。代码:#include#include using namespace std;int map[10][10]; bool row[10][10]; bool col[10][10]; bool原创 2016-08-16 21:01:58 · 225 阅读 · 0 评论 -
POJ-1258 Agri-Net(并查集)
原题:Agri-NetTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 51679 Accepted: 21556DescriptionFarmer John has been elected mayor of his town! One of原创 2016-08-03 09:15:10 · 233 阅读 · 0 评论 -
POJ-1789 Truck History(Prim算法)
原题:Truck HistoryTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 24767 Accepted: 9654DescriptionAdvanced Cargo Movement, Ltd. uses trucks of differ原创 2016-08-03 09:26:52 · 178 阅读 · 0 评论 -
POJ-2240 Arbitrage(Floyd)
原题:ArbitrageTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 20551 Accepted: 8750DescriptionArbitrage is the use of discrepancies in currency excha原创 2016-08-03 10:08:04 · 198 阅读 · 0 评论 -
POJ-1159 Palindrome (dp+滚动数组节省内存)
题目链接:点击打开链接题意: 这道题是说 给你一个字符串, 让你求最少添加多少个新字符,可以使该字符串变成回文串。思路: 本题关键要了解的一点就是, 最少要添加的字符数 = 该字符串的长度 - 该字符串的逆序与该字符串的最长公共子序列。 剩下的就是求最长公共子序列问题了,本来是道很基础的题目,但又有新的问题就是dp[5000][5000]的静态数组占用内存太大原创 2016-08-18 10:32:29 · 279 阅读 · 0 评论 -
POJ-1080 Human Gene Functions(DP)
题目链接:点击打开链接题意: 给你一个表格,表格里有每两个字符相对应的权值。给你两个字符串(基因序列),你可以在基因序列中添加任意的‘-’字符使这两个字符串等长,求这两个字符串对应位置的对应权值的和的最大值。思路:参考一下他的博客:点击打开链接我只说一点:神奇的POJ c++可以过 G++ WA who knows why?代码如下:#include原创 2016-08-19 21:02:11 · 260 阅读 · 0 评论 -
C++ int与string的转化
转自:http://www.cnblogs.com/nzbbody/p/3504199.htmlC++ int与string的转化int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)---前缀加0,16进制(hex)---前缀转载 2016-08-13 20:56:33 · 243 阅读 · 0 评论