![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
文章平均质量分 75
asuxiexie
这个作者很懒,什么都没留下…
展开
-
poj 2632 Crashing Robots
坑了,没想的太周到,WA好久,就两个地方想错了。。一。对撞在撞墙之前,二。对撞的是最靠近要动的这个的,写的是按编号顺序判断。。。心碎了模拟太坑爹。。。#include#include#includeusing namespace std;char qq[105];int a,s[105][2],b,c,t[3];int d,e;int k,l,h,m,n;v原创 2014-07-22 09:33:51 · 655 阅读 · 0 评论 -
UVA 1422 - Processor (二分+贪心+优先队列)
先对开始时间进行排序,在利用优先队列是结束时间早点先出队;因为时间只有20000,我们可以去枚举每个单位时间,看要给分配给那个任务,如果某个时间队列中还有结束时间大于枚举的时间,就跳出判断是在mid的右边。#include#include#include#include#include#include#includeusing namespace std;原创 2014-08-08 09:01:05 · 778 阅读 · 0 评论 -
poj 2492 A Bug's Life (并查集同食物链)
Language: DefaultA Bug's LifeTime Limit: 10000MS Memory Limit: 65536KTotal Submissions: 27157 Accepted: 8841DescriptionBackground Professor Hopper is re转载 2014-08-10 09:36:38 · 513 阅读 · 0 评论 -
hdu 4932 Miaomiao's Geometry
被秀智商下限了;直接代码。。#include#include#include#include#includeusing namespace std;int s[55];double w[120];int main(){ int a,b,i; scanf("%d",&a); while(a--) { scanf("%d",&b); for(i=0;i<b;i原创 2014-08-11 10:41:46 · 495 阅读 · 0 评论 -
hdu 4857 逃生(优先队列+逆拓扑排序)
题意是给你一些关系,来进行排序,前面的那个人一定在后一个人前面,也在那些没有交钱的人的前面。。我们用逆拓扑排序,先把入度为零的数从大到小存入数组。然后就是一般的拓扑排序。。最后逆序输出#include#include#include#include#include#include#includeusing namespace std;int m,n;vector原创 2014-08-11 20:59:12 · 572 阅读 · 0 评论 -
HDU 1598 find the most comfortable road(并查集+枚举)
先把每条边的权值从大到小排序,在一个个枚举,利用并查集判断是否在一个集合中。。。#include#include#include#include#include#includeusing namespace std;const int maxn=205;const int maxm=1005;const int inf=(0x7f7f7f7f);#define min(a,b)原创 2014-08-12 09:47:45 · 566 阅读 · 0 评论 -
poj 2573 Bridge (过桥问题 贪心)
对于此问题有两种策略1、最快的带最慢的和次慢的2、最快和次快带最慢和次慢此链接有详细解释点击打开链接#include#include#include#includeusing namespace std;int s[1050];int main(){ int a; scanf("%d",&a); for(int i=0;i<a;i+原创 2014-08-13 10:49:39 · 1050 阅读 · 0 评论 -
hdu 2391 Filthy Rich
简单dp 水一个处理点的时候,第一行和第一列特殊处理;其余的w[i][j]=show(w[i-1][j-1],w[i-1][j],w[i][j-1])+s[i][j];#include#include#include#include#includeusing namespace std;int s[1005][1005];int w[1005][1005];//存每个点的最大原创 2014-08-14 21:36:58 · 764 阅读 · 0 评论 -
hdu 1087 简单dp
思路和2391一样的。。#include#include#include#includeusing namespace std;const int inf=(0x7f7f7f7f);int main(){ int a; int s[10005]; int w[10005]; while(scanf("%d",&a)&&a) {原创 2014-08-14 21:38:49 · 696 阅读 · 0 评论 -
UVA 12124 UVAlive 3971 Assemble(二分 + 贪心)
先从中找出性能最好的那个数,在用钱比较少的去组合,能组出来就表明答案在mid的右边,反之在左边,#include#include#include#include#includeusing namespace std;map vic;//以字符映射数字int end,start;int num;int m,n;int sba,sbb;char na原创 2014-08-08 09:10:46 · 686 阅读 · 0 评论 -
hdu 3336 Count the string(KMP)
一道应用kmp算法中next数组的题目这其中vis[i]从1加到nvis[i]=[next[i]]+1;#include#include#include#include#includeusing namespace std;char s[200005];int b;int next[200005];int vis[200005];void n原创 2014-08-08 09:00:26 · 612 阅读 · 0 评论 -
UVA 127 Accordian'' Patience
题意:把一堆扑克牌,按照规则:如果左边1张或3张和它具有同花色或等级,把这张牌移到上面去,每次移动后,在从头开始移动,知道都移动完,输出剩余几堆与每堆牌数,如果1张牌有2个可以移动的地方,优先移动到左3位置。思路:用结构体存每一张牌,用栈来储存牌堆,每次判断能不能移动牌,每次移动后进行一次变换#include#include#includeusing namespace原创 2014-07-23 11:33:16 · 470 阅读 · 0 评论 -
codeforces 258(Div.2) C. Predict Outcome of the Game
题意:有三个球队进行了N场比赛,其中K场已经比完了,但是你不知道结果。d1,d2是各自胜场的绝对值,比如一队和二队胜场差是d1,二队和三队胜场差是d2.问比完所有N场比赛是否存在各自都打平了。题解:根据他们的两个胜场差d1,d2可以求出他们各自的胜场。但是因为d1,d2是绝对值,所以我们有四种情况需要考虑,比如(+d1,+d2).(+d1,-d2),(-d1,+d2),(-d1,-d2)判原创 2014-07-25 15:10:58 · 525 阅读 · 0 评论 -
poj1035Spell checker
暴力解决。先把字典里的每个单词的长度存起来,在查找的时候,就比较长度,在多一个少一个之间找,#include#include#include#include#include#includeusing namespace std;char s[10005][20];char h[20];int w[10005],len;int show(int a){ int i,原创 2014-07-25 16:53:15 · 619 阅读 · 0 评论 -
poj3126Prime Path
就因为在判断素数的时候少个等于号 纠结一天,。。。。#include#include#include#include#include#includeusing namespace std;queue q;int v[10005],c;int yy[10005];int qq(int g){ for(int i=2;i*i<=g;i++) { i原创 2014-07-25 19:46:12 · 491 阅读 · 0 评论 -
hdu 1175 连连看
本题DFS与BFS都可以就是判断在两次转弯后 能不能找到。。BFS#include #include #include using namespace std;struct node{ int x, y; int t, d;};queue q;int n, m, map[1002][1002], prove;int visit[1002][1002][原创 2014-07-27 11:24:21 · 460 阅读 · 0 评论 -
codeforce C. Valera and Elections (DFS)
给你几组数代表那两个城镇有路连接和路的好坏。。要找到最少的从城镇1到x的x集合能把所有的坏的路都找到并修好。。C. Valera and Electionstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutp原创 2014-08-07 10:42:50 · 926 阅读 · 0 评论 -
UVA - 10917 Walk Through the Forest (最短路+DP)
题意:Jimmy打算每天沿着一条不同的路走,而且,他只能沿着满足如下条件的道路(A,B):存在一条从B出发回家的路径,比所有从A出发回家的路径都短,你的任务是计算有多少条不同的路径从后往前找最短路,对于每一步要更新之后走的位置值;#include#include#include#include#includeusing namespace std;const原创 2014-08-09 08:54:37 · 631 阅读 · 0 评论 -
uva 11374 最短路+记录路径 dijkstra最短路模板
UVA - 11374Airport ExpressTime Limit:1000MS Memory Limit:Unknown 64bit IO Format:%lld & %llu[Submit] [Go Back] [Status] DescriptionProblemD: Ai原创 2014-08-09 08:58:32 · 1143 阅读 · 0 评论 -
hdu 1595 最短路
题意是要我们求出最短路中一条路坏的情况下最大的时间;我们先将最短路求出并记录路径,然后枚举最短路中每一条路坏的情况,求出最大的时间。。#include#include#include#include#includeusing namespace std;int s[1005][1005];int p[1005];int vist[1005];int q[1005];co原创 2014-08-14 17:01:11 · 746 阅读 · 0 评论