- 博客(27)
- 资源 (5)
- 收藏
- 关注
原创 POJ 1125 Stockbroker Grapevine
休息了几天,开始了我的图论之路。这道简单的Floyed算法做起来还比较简单。hellobabygogo!!! 题意: 从任意一点出发传出信息使所有的点都能接收到信息所需的最少时间。Floyed可以算出所有点之间的最短距离,所以选折Floyed算法。 代码: #includeusing namespace std;const int MAX=110;int di
2012-07-27 12:37:33 760
原创 poj 1159Palindrome
回家两天,这是今天的第一道DP题,题目意思很简单,题目有个简便方法就是设原字符串是S1,该字符串的逆序是S2,用长度减去S1,S2的最长公共子序列就得到最少需要补充的字符数。注意本题目的空间比较大,小心超时,数组不要开天大。 代码:#include#include #include using namespace std;char s1[5001],s2[5001]
2012-07-21 09:00:08 420
原创 poj 2531
题意:在一个网络中有n个节点,现在需要把n个节点分成两部分,每部分之间的通信代价为0,不同部分之间的通信代价为Cij。求一种划分方式,是的总得代价最大。我用的是暴力dfs.500+过。总得来说这道题目还是很简单的。代码:#includeusing namespace std;int a[25][25],visit[25],n,ans;void dfs(int index,i
2012-07-17 14:19:06 929
原创 poj 3126Prime Path
题意很简单:两个四位数的素数通过改变某一位,得到另一个素数,这样一直操作下去,求当m变成n时最少的操作次数?分析可知道,求最短的操作步数肯定要用BFS,因为要求素数所以要筛选素数求出素数。这题很简单一次就过而且时间仅有0MS哦! 代码:#include#includeusing namespace std;queueq;int ans[10000];bool visit[10
2012-07-17 10:56:36 405
原创 poj 1426Find The Multiple
这真是超神奇的一道题目!样例没过,照样ACCEPTED,看来我人品爆了。呵呵呵。。。本人还是觉得是样例有问题的!题目意思超简单:找到任意n的倍数m,但是m由十进制0,1组成。直接BFS。 代码:#includeusing namespace std;__int64 q[9999999];int n;void bfs(){ int front,rear
2012-07-16 20:53:57 351
原创 poj 3278 Catch That Cow
第一次写bfs就扼杀在RE中,一直不明白为什么数组会小呢?题目给的就是100000的,最后我愤怒地开了400001,果断的就AC了。晕。。。。 题目的意思是:从N开始有三种操作n+1,n-1,2*n直到等于k,输出最短路径所需的步数。一看就知道要用BFS.代码:#include#include#includeusing namespace std;queueq;i
2012-07-16 19:56:44 354
原创 poj 1321棋盘问题
Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。
2012-07-16 17:35:56 464
原创 poj 3009 Curling 2.0
题意:搜索,已知起点和终点,求石子从起点到达终点的最短路,如果无法到达,则输出-1。石子移动的具体规则如下:1、开始时,石子在起点s处2、运动方向可以是水平或垂直的,不能斜方向运动3、最开始的时候,你可以将石子向上下左右任意一个方向抛,如果与它相邻的点是障碍物的话除外4、一旦石子开始运动,有三种可能:a、遇到障碍物,石子会停在障碍物的前一格,障碍物会消失b、如果出界,游戏失
2012-07-16 10:41:32 509
原创 poj 2488 骑士的旅行
这真是一个很坑爹的题目,其实题目意思很简单就是骑士像象棋里面的马走日字,不能走重复的点并且必须走完所有的点。输出必须按字典顺序。横坐标用字符,‘A’,'B','C'......纵坐标用数字。题目就是Dfs很悲剧的是我把数组弄反了WA了n次,最后找出来我有点想撞墙的冲动啊!继续搜索啊! 代码:#include#includeint r,c,px[50],py[50],visit[10
2012-07-15 22:16:34 657
原创 poj 1276 Cash Machine
这是一个简单的dp题,用给定数量和面值的钱去换尽量接近所给的钱的大小。第一次是用三重循环来做AC了感觉效率不是很高,10448082hellobabygogo1276Accepted640K516MSC++595B2012-07-14 17:48:59代码:#includeu
2012-07-14 20:18:51 463
原创 poj 1837Balance
题目意思:有一个天枰,有C个挂钩和G个钩码,把所有的钩码挂在天枰的钩子上使天枰平衡的方案数。输入:2 4 //输入C,G-2 3 //挂钩的位置,一以0为对称点3 4 5 8 //钩码的重量 输出:使天枰平衡的方案数。 解析: a[i][j]表示为挂上第i个钩码的平衡度为j,j=7500时表示平衡。 假设 dp[i-1][j] 的值已知,设
2012-07-14 16:55:19 354
原创 Grass Land
Problem DGrass LandDescriptionFarmerJohn hasa grassland, whichis verylarge that when you standinthe middleof it,youcan notsee itsedge.FarmerJo
2012-07-13 11:11:52 853
转载 poj 1080 一道经典的dp题
题目大意是:给定两组DNA序列,要你求出它们的最大相似度每个字母与其他字母或自身和空格对应都有一个打分,求在这两个字符串中插入空格,让这两个字符串的匹配分数最大解题思路,模仿动态规划里面经典的求最长公共子序列的方法dp[i][j]表示字符串s1 1-i的和字符串序列s2 1-j的最长公共子序列的长度当s1[i] == s2[j] 时dp[i][j] = dp[i-1][j-1] +
2012-07-13 10:49:58 609
转载 poj 1082 Calendar Game——博弈
第一个必败状态是2001.11.04。由此可以推出其他任何时间的状态。对于除2001.11.04外的其他任何时间,present状态是由能移动到的下两个next状态决定的(当然有些时间只有一个next状态),比如1924.12.19的状态是由1924.12.20和1925.01.19两个状态决定。如果两个next状态中有一个必败状态,则present状态为必胜状态;如果两个next状态都为必胜状态
2012-07-10 21:52:08 440
转载 poj 3304解题报告
题意:给出n条线段,判断是否存在有一条直线,满足所有的线段在直线上投影后至少有一个公共点方法:原命题等价为存在一条直线穿过所有的线段(易知过公共点且垂直于所求直线的直线符合条件,设为直线a),该命题又等价于从所有线段中任选两端点形成的直线存在可以穿过所有的线段的直线(可将a平移至一条线段端点,然后绕这点旋转,使a过另一条线段端点)代码:#include#include#incl
2012-07-09 17:44:53 444
原创 poj 1069 Intersecting Lines
POJ 1269 Intersecting Lines 解题报告 (2010-05-07 19:10) 一、问题描述http://acm.pku.edu.cn/JudgeOnline/problem?id=1269题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。二、解题
2012-07-09 17:34:30 1645
原创 poj 1113 Wall
给出若干个点,让建一个围墙,包含所有的点,且距所有点的距离不小于l。凸包周长+l圆周长首先求出凸包,求凸包用Gramham算法,实质算是一个模版题。记得四舍五入。代码: #include #include const double pi=3.141592654;using namespace std;struct Point{ float x,
2012-07-09 17:00:09 477
原创 poj 1704 阶级博弈
这个题目可以转化成Nim博弈,将相邻两个棋子组成一队,当移动一组左边的棋子,后面的人可移动相应右边的棋子,保持棋局不变。如果移动右边的棋子,相应的就是nim博弈中从一丢中拿出一些棋子,但数目小于本身的大小,及转化成左右棋子之间的间隔。 代码: #include#include#includeusing namespace std;int a[1005];int ma
2012-07-08 17:57:33 547
转载 hdu 1729 SG函数
Stone GameTime Limit : 5000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 12 Accepted Submission(s) : 6Font: Times New Roman | Verdana| GeorgiaFon
2012-07-08 17:16:55 1066 1
原创 poj 1011 木棒
此题是一个超级搜索剪枝。 剪枝的地方:1.当前这个棍子有没有用过。2.当他大于所需要搜的长度时,就不用搜了。3.如果前面一个相等长度的棍子用不上,那么这个棍子自然也用不上。然后还有一些小剪枝:4.预处理排序后方便以后搜。5.从大到小搜,不重复搜。6.搜的长度一定要整除总长度,而且大于最长的那一根棍子。7.从当前最长的未被使用的木棍开始
2012-07-07 20:33:37 563
原创 poj 1273Drainage Ditches 最大流
分析:此题从1即为S,m即为t.求最大流。但是输入可能有重复,这里很关键。因为没注意重边导致WA了。这个题目很经典,可以用EK,FF,DINIC求最大流。 代码:#include#includeusing namespace std;int net[210][210],m,n,pre[210];queueq;bool bfs(){ int v,i;
2012-07-06 22:02:40 416
原创 poj1459 网络流经典
题意:给几个发电站,给几个消耗站,再给几个转发点。发电站只发电,消耗站只消耗电,转发点只是转发电,再给各个传送线的传电能力。问你消耗站能获得的最多电是多少。思路:增加一个超级源点,和超级汇点。。把所给的发电站都和超级源点相连,把所给的消耗战都和超级汇点相连。。用EK求最大流。#include#includeusing namespace std;int g[205]
2012-07-06 21:55:52 3536 1
原创 hdu 1251 字典树
Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行
2012-07-06 21:31:53 437
原创 hdoj 1153 解题报告
题目意思:有一个城镇,它的所有街道都是单行的,并且每条街道都是和两个路口相连。同时已知街道不会形成回路。 你的任务是编写程序求最小数量的伞兵,这些伞兵可以访问(visit)所有的路口。对于伞兵的起始降落点不做限制。 解题思路:这个题转化成求DAG图的最小路径覆盖数=节点数-最大匹配数。其中求最大匹配是关键,用匈牙利算法。 代码:#includeusing name
2012-07-06 10:49:06 607
原创 hdoj 1150
题目意思:有两台机器A和B以及N个需要运行的任务。每台机器有M种不同的模式,而每个任务都恰好在一台机器上运行。如果它在机器A上运行,则机器A需要设置为模式ai,如果它在机器B上运行,则机器A需要设置为模式bi。每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次。请合理为每个任务安排一台机器并合理安排顺序,使得机器重启次数尽量少。 解题思路:这个题可转化成求二分图的最
2012-07-06 10:44:55 486
原创 hdu 1068 解题报告
题意:大学二年级的时候,一些同学开始研究男女同学之间的缘分。研究者试图找到没有缘分同学的最大集。程序的结果是要输出这个集合中学生的数量。 解题思路:根据题意可将题目转化成求二分图的最大独立集=节点数—最大匹配数。题目中并没有指明男生女生,真正的匹配数因该是m/2,那么v=n-m/2. 代码: #includeusing namespace std;int n,m,che[
2012-07-05 23:33:05 497
原创 poj2239 Selecting Courses解题报告
题目意思: 一天12节课,一个星期七天。有n中课程,每种课程只要上m[i]节课的一节就可以了,求最多能上多少节课? 解题思路:这是一道典型的求二分图的最大匹配问题,用匈牙利算法解决。代码: #includeusing namespace std;int a[500][100],match[500],n,m=84,che[500];int dfs(int k)
2012-07-05 23:20:58 482
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人