上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 19 下一页
摘要: 题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=99&problem=189&mosmsg=Submission+received+with+ID+10567261这道题跟我们小时候学筛子的时候有关,因为是6面三个颜色所以,直接看1-6,2-5,3-4的颜色搭配是否相同,相当于无向图,看看两个图是否相同就可以了。。注意是无向图哦~View Code 1 #include <stdio.h> 阅读全文
posted @ 2012-09-06 00:51 某某。 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 连接:http://poj.org/problem?id=3211俩人只能一起溪一中衣服也就是说两人洗的时候就是01背包就是,然后吧各种衣服所用时间相加。。。View Code 1 #include <stdio.h> 2 #include <string.h> 3 4 struct node 5 { 6 char color[20]; 7 int sum; 8 int a[105]; 9 int count;10 }col[15];11 int count;12 int search(char s[],int m)13 {14 int i;15 ... 阅读全文
posted @ 2012-08-21 21:28 某某。 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目连接http://poj.org/problem?id=11131113#include <stdio.h>#include<algorithm>#include <math.h>using namespace std;int q[50050];int f;struct node{ int x,y;}a[50050];int cmp(struct node p1,struct node p2){ int x1 = p1.x-a[0].x; int x2 = p2.x-a[0].x; int y1 = p1.y-a[0].y; int y2 = p2.y- 阅读全文
posted @ 2012-08-21 21:18 某某。 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目连接http://poj.org/problem?id=1159这道题原来见过,那时候没学DFS什么的,以为是搜索然后直接暴搜,但是说真的真是没有想到这题竟然是DP,那时候也没学DP就放弃了。。。这道题的思路就是把整个问题分解成小问题,然后从下往上来求。。。我们先设一个DP[N][N],它里面是每个i~j变成回文的最小添加量,也就是说我们可以看做DP后已经全部都是回文。那么DP[1][N]就可以满足一个状态方程if(STR[1] == STR[N]I = 1,J = N;DP[1][N] == DP[I+1][J-1] + 1 (STR[I] == STR[J]) DP[... 阅读全文
posted @ 2012-08-21 21:04 某某。 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 比赛那天下午做的。。。比赛的时候真不知道怎么做。。。亏了没做,做了我就死了。。欧拉回路我是真心不会判断啊(真的是忘了)。。。虽然离散考了86(鼓掌~),也不过是全班最高(再次鼓掌~)但是真的是恶补出来的(天赋秉异,美女上台献花)不扯淡了。。。这道题因为数据量比较大。。。500000的数据,所以用map和平常的查找肯定会TLE所以,要用到TRIE树。然后欧拉通路的判定就是通过查找度数为奇数的节点 < 2 是否成立不成立肯定是错的,但是成立了也要判断是不是父节点是否为一个节点。比如red redblue blue答案就是impossible代码如下View Code 1 #include & 阅读全文
posted @ 2012-08-21 20:26 某某。 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目连接http://poj.org/problem?id=1088这道题其实说实话知道了思路真的很简单,但是那天晚上做的时候很苦逼的错了好多地方然后查还没查出来= =。。。表示DFS真的很吃力= =。。。所谓的记忆化搜索现在看来就是吧上搜索过的给存起来。。。需要一个状态方程dp[i][j] = max(dp[i+1][j],dp[i-1][j],dp[i][j+1],dp[i][j-1]);四个方向搜一遍找到最合适的即可。。。代码View Code 1 #include <string.h> 2 #include <stdio.h> 3 int num[105][10 阅读全文
posted @ 2012-08-21 20:11 某某。 阅读(347) 评论(1) 推荐(0) 编辑
摘要: 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1180昨天晚上开始做这道题。。。以前打算做做这题但是不知道这优先队列应该怎么用。。。昨晚这道题才有点深入的了解些。。。这道题因为楼梯会变换方向会变成不同的路,所以一不能标记。。。而且要注意边界这个是我纠结了4歌小时候都最后经大神鉴定改错后的代码。。。-#include <string.h>#include <stdio.h>char map[30][30];int dis[4][2]= {{1,0},{0,1},{-1,0},{0,-1}};struct node{ int 阅读全文
posted @ 2012-08-21 20:02 某某。 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4318题目大意:讲的是西电东送。让你输入N代表N个点,然后再输入M代表可以到M个地方去,每个M钟有一个表示节点,一个表示耗电的百分比,。最后输入三个数,一个是起点,一个是重点,一个是总电量。然后算出最后到达终点使得总电量最大可以是多少,不能到达的话输出IMPOSSIBLE!这道题也就转化成了求最大的转化率。相当于最长路的计算。由于N<=50000数目比较大,所以估计邻接矩阵会超事,然后写了个邻接表的代码:#include <stdio.h>#include <string.h 阅读全文
posted @ 2012-08-15 20:10 某某。 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm。SPFA算法是西南交通大学段凡丁于1994年发表的.很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们用数组d记录每个结点的最短路径估计值,而且用邻接表来存储图G。我们采取的方法是动态逼近法:设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,如果v点的最短路径估计值有所调整,且v点不在当前的队列中,就将v点 阅读全文
posted @ 2012-08-15 16:09 某某。 阅读(392) 评论(0) 推荐(0) 编辑
摘要: pc代码View Code hdu 1147#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>using namespace std;const int N=1002;const double eps=0.0000000001;//注意设置一个精度struct node{ double ux,uy; double lx,ly; int num; bool tab;};queue<node> ss;double j 阅读全文
posted @ 2012-08-15 16:04 某某。 阅读(238) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 19 下一页