E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
刘汝佳算法竞赛入门+UVa
uva
1395 Slim Span (最小生成树||(最大边减最小边尽量小))
题意:这道题重新定义了最小生成树的含义是生成树中最小的边和最大的边的差值。然后给你一个无向带权图,让你输出最小生成树的值。若没有输出-1。思路:很简单稍微想一下就可以知道,我们只要枚举生成树中最小的那条边然后在这个基础上求最小生成树,这样每次更新最小值,最终就能得到答案。小贪心,先把边排序,一开始我是暴力的,固定一下边的上界跟下界,O(n*n),有10000条边,会超时,要优化,想想能不能固定一条
h1021456873
·
2020-08-22 21:30
克鲁斯卡尔(最小生成树)
uva
10779 Collectors Problem(最大流,好题)
题目链接训练指南上的一道题,P370,很好的一个建图。#include#include#include#includeusingnamespacestd;constintMAXN=45;constintMAXM=MAXN*MAXN;constintINF=0x3f3f3f3f;structNode{intfrom,to,next;intcap;}edge[MAXM];inttol;intdep[M
___fouzhe
·
2020-08-22 21:47
图论
(
UVA
- 10048) Audiophobia(floyd算法)
Consideryourselflucky!Consideryourselfluckytobestillbreathingandhavingfunparticipatinginthiscontest.Butweapprehendthatmanyofyourdescendantsmaynothavethisluxury.For,asyouknow,wearethedwellersofoneofthe
feng_zhiyu
·
2020-08-22 21:11
UVA
图论
UVa
11300 - Spreading the Wealth
/*ch1,例题3代数分析+快速选择*/#include#include#includeusingnamespacestd;constintMAXN=1000004;longlongA[MAXN],B[MAXN];intn;intpart(intx,inty){inti=x-1,j;longlongkey=B[y-1];for(j=x;jn/2)returnget_mid(x,m);elseret
cugfjp
·
2020-08-22 21:11
算法
uva
10048
题意:。思路:入门经典365。AC代码:#include#include#include#include#include#include#include#defineINF0x3f3f3fusingnamespacestd;intd[150][150];intn,m,q;intmain(){intc=0;//freopen("2.txt","r",stdin);while(scanf("%d%d%
RINSMQ
·
2020-08-22 21:52
算法竞赛入门经典
题解
UVA
10048 【Audiophobia】
这是一道很神奇的题什么都不卡,就卡c++11(所以评测时要换成c++)。怎么说呐,其实就是跑一个弗洛依德,求图上两点间最大权值最小的路径,输出最大权值最小。P.S.本题n很小,直接floyd变形就行了qwq#include#include#include#defineN105usingnamespacestd;constintINF=0x3f3f3f3f;intg[N][N],t=1,que,n,
arex71991
·
2020-08-22 21:49
uva
10048 Audiophobia
Root::ProblemSetVolumes(100...1999)::Volume9(900-999)10048-AudiophobiaTimelimit:3.000secondsProblemB:AudiophobiaConsideryourselflucky!Consideryourselfluckytobestillbreathingandhavingfunparticipatingin
akk99296
·
2020-08-22 21:10
uva
10048 噪音恐惧症 Audiophobia Floyd算法
ljr的书里说错了,套Floyd算法的模板是,加改为max,min还是min。还有就是ljr的if(d[i][j]#include#include#include#defineINF99999usingnamespacestd;intd[10000][10000];intmain(){//freopen("ztest.txt","r",stdin);//freopen("zans.txt","w"
GaoJieVery6
·
2020-08-22 21:45
UVa
OJ
图论
UVA
10048 Audiophobia
题目链接http://acm.hust.edu.cn/vjudge/problem/22156从a点到b点,找到一条路径,使得这条路径上的所有噪音中最大的值是所有路径中最小的求这个最小值我是先弄出一个最小生成树然后将图存起来对于每个提问都dfs一遍将路径的权值存入path[]当遍历到终点时取path[]中的最大值其他思路:还可以用Kruskal算法,按照Kruskal算法的步骤,一条边一条边的加入
Waves___
·
2020-08-22 21:12
生成树
uva
10801 SPFA
#includeusingnamespacestd;typedefpairpii;priority_queue,greater>q;constintN=105;constintINF=1E9;intn,k,T[6],w[N][N],arr[N],d[N];boolvis[N];inlinevoidread(){for(inti=0;i>T[i];charch;for(inti=0;i>arr[po
Tczxw
·
2020-08-22 21:03
UVA
10557 XYZZY(DFS+BFS 与 SPFA 两种做法)
UVA
-10557题意:初始有100点能量,每经过一个房间会加上那个房间的能量,能量小于0就不能动了,给出每个房间的能量和它能到的若干个房间的房间号,求最后能不能到达第n个房间。
QzNarsh
·
2020-08-22 21:53
UVa
10048 - Audiophobia
模拟kruskal的过程,一条边一条边的加入树中,每加入一次,就判断起点和终点是否在一个集合里,一旦他们在一个集合里了,那么那条路径中的最大值便是当前加入的这条边的权值,因为加入的边是按照从小到大顺序加入的。代码如下:#include#include#include#include#include#includeusingnamespacestd;constintDMAXN=105;constin
GooMaple
·
2020-08-22 21:50
最小生成树
UVa
UVA
10048
题意:给出一张n个点,m条带正权的双向边,现在有q次询问,每次询问要你求出给出的两个点间最小的可行路中最大边权值(有点绕);分析:数据较小,直接Floyd,对于每次dp,两点间要么是原来的权短,要么是另外两条路的最大边权短,那么有g[j][k]=g[k][j]=min(g[j][k],max(g[i][j],g[i][k]));暴力跑过。#include#include#include#inclu
wJs9528-1
·
2020-08-22 21:19
===图论===
UVA
12661
Problem:FunnyCarRacingDescription:有n个城市,m条边,问你从城市s到tt的总时间。每条路都有开放时间和关闭时间,还给出了你通过那条路的时间,你必须在那条路开放的时间内通过那条路,不然的话就只能等待那条再次开放然后通过,开关的计时是在从城市s出发开始的。Solution:最短路径的变形,改一下松弛条件就可以了。需要注意的是这题的输入不能用cin,我表示再也不入C++
DreamtaleL
·
2020-08-22 20:14
图论
UVA
uva
最短路径
uva
10048(最短路)
题目的意思就是有n个城市,有m条街,每条街有噪音问你从起点到终点,最少要忍受多大的噪音(注意不是和,是经过的街中最大的那个.)AC代码:#includeconstintN=105;constintINF=0x3f3f3f3f;intg[N][N];intc,s,q;intmain(){inta,b,d;intcas=1;intfirst=1;while(scanf("%d%d%d",&c,&s,&
二分查找
·
2020-08-22 20:52
DP
图论
Audiophobia
UVa
10048这道题只需要在Floyd算法稍微改一下就行了,求出间接能到达一点的最大值,和本身求出最小值就行了。
RookieZQF
·
2020-08-22 20:13
紫书
最短路径
UVa
563_Crimewave(网络流/最大流)(小白书图论专题)
解题报告思路:要求抢劫银行的伙伴(想了N多名词来形容,强盗,贼匪,小偷,sad,都觉得不合适)不在同一个路口相碰面,可以把点拆成两个点,一个入点,一个出点。再设计源点s连向银行位置,再矩阵外围套上一圈,连向汇点t矩阵内的点,出点和周围的点的出点相连。#include#include#include#include#defineM500000#defineN10000#defineinf0x3f3f
_nplus
·
2020-08-22 20:52
小白书训练计划
网络流
UVa
噪音恐惧症(Audiophobia,
UVa
10048)——floyd变形,最大最小化
输入一个C个点S条边(C#include#include#defineFORD(i,a,b)for(inti=(a);i1)cout<<endl;printf("Case#%d\n",Cas++);solve();}return0;}
fa茶
·
2020-08-22 20:49
#
图论
uva
10048(最短路径)
题意:给出n个城镇,m条路径,路径上会有噪音,给出起点和终点,问从起点到终点的所有路径中受到的噪音最大值最小的数。题解:floyd算法,只要比较两条路径得到噪音的较大的选出最小的赋给g[i][j],输出g[sta][end]。#include#includeconstintINF=0x3f3f3f3f;constintN=105;intg[N][N],t=1,que,n,m;voidfloyd()
路小白_zZ
·
2020-08-22 20:49
ACM-图论
UVa
10803_Thunder Mountain(最短路)(小白书图论专题)
解题报告裸floyd。#include#include#include#include#defineinf0x3f3f3f3fusingnamespacestd;intn;doublemmap[210][210];structnode{doublex,y;}p[210];doubledisc(nodep1,nodep2){returnsqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1
_nplus
·
2020-08-22 20:48
UVa
最短路
小白书训练计划
UVa
10986_Sending email(最短路)(小白书图论专题)
解题报告思路:裸裸的最短路。#include#include#include#include#defineinf0x3f3f3f3f#defineN40000#defineM100000usingnamespacestd;structnode{intv,w,next;}edge[M];inthead[N],dis[N],vis[N],cnt,n,m,s,t;voidadd(intu,intv,in
_nplus
·
2020-08-22 20:48
小白书训练计划
UVa
最短路
uva
10048 Audiophobia(最小生成树)
解题思路:与
uva
10099的做法是一样的,可以参考一下。
JeraKrs
·
2020-08-22 20:16
UVA
图论-生成树
算法竞赛-第十一章
GRADE:D
UVa
10048 - Audiophobia(Floyd, Kruskal)
链接:http://
uva
.onlinejudge.org/index.php?
shuangde800
·
2020-08-22 20:10
解题报告
图论__最小生成树
图论__最短路
UVA
- 12661 最短路(SPFA+条件限制)
题目链接题目大意裸的最短路,但加了一个限制条件,每条路都会定时开关,两种情况:1、如果到达一条路的起点时,剩余开放时间不足以通过这条路,则要等着此次先开放完再等下一次开放才能通过。2、如果到达一条路的起点时,路处于关闭状态,则要等他开放才能通过wronganswer原因1、SPFA算法元素出队后,未维护标记是否在队中的flag数组2、用动态数组vector存边,由于是多组输入,需要每次先清空利用c
SDUT冰峰孤狼
·
2020-08-22 20:32
最短路径
UVA
-10048(弗洛伊德)
题目链接戳这里题意:给出一张图,求出从一点到另一点经过的最大权值的最小值一遍弗洛伊德即可。map[i][j]=min(map[i][j],max(map[i][k],map[k][j]))注意是无向图注意变态的输出方式代码#include#include#include#include#includeusingnamespacestd;//弗洛伊德constintmaxn=105;constint
Prim233
·
2020-08-22 20:01
最短路径
uva
10048
题目描述:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22156/*solution:此题可以直接套上floyd算法的模板,但是要把加法改成max对于任意一条至少包含两条边的路径,i->j,一定存在k使得i->j噪音的最高级等于max(d[i][k],d[k][j]),但i->j路径可能并不唯一,所以还要取一条最小的:d[
林伏案
·
2020-08-22 20:00
uva
OJ
=====图=====
最短路(Floyd)
UVA
10048 Audiophobia 最小生成树
//
UVA
10048-Audiophobia/*题意:n个点,m条无向路,每条路有一个噪音指数,从两点间的路径中选一条路,使这条路的最大噪音指数最小思路:排序+并查集类似克鲁斯卡尔*/#include#
iteye_3619
·
2020-08-22 20:46
例题11-5
UVA
- 10048 Audiophobia 噪音恐惧症(Floyd算法)
大体题意:给你C个点和S条边,边权威噪音值,当噪音值太大时,耳膜会受到损害!给你一列询问,每个询问包括u和v,问从u到v最大噪音值最小值是多少!思路:Floyd求任意两点最短路,有些不同,正常的Floyd时g[i][j]=min(g[i][j],g[i][k]+g[k][j]);这里应该为g[i][j]=min(g[i][j],max(g[i][k],g[k][j]));先取得一个最大噪音值,在与
aozil_yang
·
2020-08-22 20:29
Floyd最短路
第十一章
图论模型与算法(例题)
c语言
uva
[floyd]
UVa
10048
紫书上的思路应该是错的把min和max搞反了外面的min意思是把记录两条路径最小的最大噪音里面的max记录这一条路径上组大噪音值没加\nWrong了好多次#includeusingnamespacestd;#defineINF0x7f7f7f7fintg[105][105];intn;voidfloyd(){for(intk=1;k0)printf("\n");printf("Case#%d\n"
BEconfidence
·
2020-08-22 20:56
UVA
uva
10048 - Audiophobia
http://
uva
.onlinejudge.org/index.php?
cscoder
·
2020-08-22 20:54
uva
最短路
UVa
10099_The Tourist Guide(最短路/floyd)(小白书图论专题)
解题报告题意:有一个旅游团现在去出游玩,现在有n个城市,m条路。由于每一条路上面规定了最多能够通过的人数,现在想问这个旅游团人数已知的情况下最少需要运送几趟思路:求出发点到终点所有路当中最小值最大的那一条路。求发可能有多种,最短路的松弛方式改掉是一种,最小生成树的解法也是一种(ps,prime和dijs就是这样子类似的)#include#include#include#include#define
_nplus
·
2020-08-22 20:13
UVa
小白书训练计划
最短路
UVa
- 11997 K Smallest Sums(优先队列多路归并)
题意是k个数组,每个数组k个元素,每个数组取一个元素,共k个数之和成为一个参考值,求出k^k个参考值中最小的k个...方法就是先对每个数组排序,然后由于k个之和最小和2个之和最小是一样的,那么每次处理两个数组就可以了。。。。对数组A,B求前k小的A[i]+B[i]方法是不断取尽可能小的放到优先队列,然后直接取前K个就行了第一次我的取法是:nodet=优先队列.top();优先队列.pop();//
yuhong_liu
·
2020-08-22 14:21
其他
STL
Uva
11997 K Smallest Sums(优先队列)
题意:有一个k*k的方阵,让你从当中每一行挑选一个数字相加最后能得到K^K次方的和,输出其中最小的k个。分析:《训练指南》P190,先对每一行排序然后两两归并,每次取前k个再和下一行再进行归并。代码:#includeusingnamespacestd;structItem{ints,b;//s=A[a]+B[b]。这里的a并不重要,因此不保存Item(ints,intb):s(s),b(b){}b
Self-Discipline
·
2020-08-22 13:49
优先队列
【
UVA
11997】K Smallest Sums
题意 有n个序列,每个序列有n个元素。现在要在每个序列里选一个元素出来,求元素总和前n小的值解法优先队列: 最简单的想法就是直接枚举所有可能的方案,然后排序求出前n小的方案 我们用一个n元组来表示一种组合 首先我们把每个序列从小到大排好序,那么最小的组合就是(1,1,…,1)了,至于第二小,在某个序列里选大一点……形式化地,就是给某个加1,第二小的选择就是在这些待选的组合里总花费最小的。一
清疚
·
2020-08-22 13:39
题解
基础数据结构
K Smallest Sums(
Uva
11997) 多路归并+优先队列
来自《
算法竞赛入门
经典训练指南》1.题目原文https://
uva
.onlinejudge.org/index.php?
相思作坊半世离殇
·
2020-08-22 13:36
STL
数据结构
宽度优先搜索
算法
算法竞赛入门
经典_第2版-课后习题-第三章
C++语言版实现代码在写习题前想先记录自己在学习过程中碰到的string相关知识点。字符串相关函数及操作:1、连接str1和str2:使用“+”:str3=str1+str2strcat(str1,str2):将字符串str1连接字符串str2到的末尾2、字符串的总长度:str.size()strlen(str):返回字符串str的长度3、复制字符串str2到字符串str1:str1=str2st
m0_37118493
·
2020-08-22 13:51
算法竞赛入门
经典_第2版-课后习题-第一章
C++语言版实现代码习题1-1平均数(average)输入3个整数,输出它们的平均值,保留3位小数。#include"pch.h"#include#include#includeusingnamespacestd;intmain(){inta,b,c;cin>>a>>b>>c;cout.setf(ios::fixed);cout#include#includeusingnamespacestd;i
m0_37118493
·
2020-08-22 13:51
入门学习
算法竞赛入门
经典_第2版-课后习题-第二章
C++语言版实现代码习题2-1水仙花数(daffodil)输出100~999中的所有水仙花数。若3位数ABC满足ABC=A3+B3+C3ABC=A^{3}+B^{3}+C^{3}ABC=A3+B3+C3,则称其为水仙花数。例如153=13+53+33153=1^{3}+5^{3}+3^{3}153=13+53+33,所以153是水仙花数。#include"pch.h"#include#includ
m0_37118493
·
2020-08-22 13:51
入门学习
安迪的第一个字典(Andy's First Dictionary,
Uva
10815)
输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写。样例输入:AdventuresinDisneylandTwoblondesweregoingtoDisneylandwhentheycametoaforkintheroad.Thesignread:"DisneylandLeft."Sotheywenthome.样例输出(为了节约篇幅只保留前5行):aadv
aichengcan1181
·
2020-08-22 12:40
木块问题(The Blocks Problem,
Uva
101)
不定长数组:vectorvector就是一个不定长数组。不仅如此,它把一些常用操作“封装”在了vector类型内部。例如,若a是一个vector,可以用a.size()读取它的大小,a.resize()改变大小,a.push_back()向尾部添加元素,a.pop_back()删除最后一个元素。vector是一个模板类,所以需要用vectora或者vectorb这样的方式来声明一个vector。V
aichengcan1181
·
2020-08-22 12:40
刽子手游戏(Hangman Judge,
UVa
489)
刽子手游戏其实是一款猜单词游戏,游戏规则是这样的:计算机想一个单词让你猜,你每次可以猜一个字母。如果单词里有那个字母,所有该字母会显示出来;如果没有那个字母,则计算机会在一幅“刽子手”画上填一笔。这幅画一共需要7笔就能完成,因此你最多只能错6次。注意,猜一个已经猜过的字母也算错。在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了(Youwin.)、输了(Youlose.)
aichengcan1181
·
2020-08-22 12:40
UVa
12100 Printer Queue (打印队列)
12100PrinterQueueInputOnelinewithapositiveinteger:thenumberoftestcases(atmost100).Thenforeachtestcase:•Onelinewithtwointegersnandm,wherenisthenumberofjobsinthequeue(1≤n≤100)Andmisthepositionofyourjob(
ProLightsfxjh
·
2020-08-22 12:53
算法的艺术
UVa
253 Cube painting(骰子涂色)(27行,比较简洁的样子)
算法竞赛入门
宝典(第2版)习题4-4骰子涂色(Cubepainting,
UVa
253)CubepaintingWehaveamachineforpaintingcubes.Itissuppliedwiththreedifferentcolors
ProLightsfxjh
·
2020-08-22 12:52
算法的艺术
Cube
painting
UVa
ACM
算法竞赛入门宝典第2版
C++
UVA
- 11997 K Smallest Sums 归并排序+优先队列
题目大意:有k个数组,每个数组选出一个数相加,相加后结果放到一个新的数组里,这样就这个数组就有k^k个数了,输出这个新的数组最小的k个数解题思路:k^k,这样就不能暴力了,用归并排序这里说一下简单化的同类型问题问题为:假设有两个数量为n的数组,A和B,每个数组选出一个数相加并组成一个新的数组,输出这个新的数组的前n个最小值先排序,然后暴力写出一下所有情况A0+B0#include#include#
暗金色
·
2020-08-22 12:03
ACM-数据结构
【
UVA
11997】K Smallest Sums 优先队列的多路归并问题
背景给你个有序列表(假设非降序),将其合并为一个列表(这为《算法导论》上堆部分一道例题)一种策略是建立一个大小为的小根堆,每个序列第一个元素入堆,标记每个元素所属队列.依次取出,取出后若对应序列还有元素,则加入堆中否则不加入或者加入.PS:归并排序的归并过程就可以看作是大小为的一个小根堆进行合并的操作.问题有个序列,每个序列有个元素。现在要在每个序列里选一个元素出来求和,故有个和,求元素总和前小的
Hardict
·
2020-08-22 12:21
数据结构-优先队列
骚搞
UVa
11997 K Smallest Sums 归并 + 优先队列
朴素算法O(n^n)啊,这都能做,想了想,最后只要输出其中和的前k小的就行了,有很多计算是冗余的啊,想了想,每行排个序,然后只算前两列,还有2^k个,取k个绰绰有余了,O(2^n),还能骗点分……扇自己一巴掌,卧槽你以为做PAT呢,还能骗分,然而还是忍不住交了一发……WA代码:#include#include#include#include#include#include#include#incl
Daemoonn
·
2020-08-22 12:11
UVa
排序
优先队列
归并
UVA
11997 - K Smallest Sums(多路归并)
题目链接:点击打开链接思路:多路归并。用贪心的规则,我们先考虑两个数组的情况,如果将两个数组从小到大排序,那么我们先将数组a的所有元素加上数组b的最小的元素,然后放入优先队列。因为是事先排好序的,所以其中肯定有一个是最小的,那么当这个数取出来之后,如何保证队列头上时次小的呢?我们发现,a数组的所有元素都用上了,而且是和b数组中最小的数相加得到的,所以,当a[0]+b[0]被取出,下一个可能有用的和
AC_Arthur
·
2020-08-22 11:07
uva解题报告
数据结构
ACM竞赛
UVA
11997 K Smallest Sums(优先队列)
UVA
11997KSmallestSums(优先队列)题意:给你一个整数K,并且给你K组数,每组K个数,现在在每组中任取一个数,然后相加可以得到一个"和",这样的和共有K^K个.要你输出所有可能和值中最小的那
focus_best
·
2020-08-22 11:01
need
to
review
practice
again
ACM--题解汇总
数据结构--STL应用
★★
ACM算法竞赛入门经典题解
UVa
11997 K Smallest Sums (优先队列 & k路归并化为两两归并)
http://
uva
.onlinejudge.org/index.php?
synapse7
·
2020-08-22 11:57
acm之路--好题/陷阱
acm之路--数据结构
UVa
优先队列
UVA
11997 K Smallest Sums 多路归并(优先队列)
//多路归并问题//把k个有序表合并成一个有序表。//大于2是两两归并//本题只要求出k个最小的,所以可以限制上限//k个整数数组,每个数组包含k个数,在每个数组中//去一个数加起来,得到K^K个和//求这些和中的最小的k个值KSmallestSumsYou'regivenkarrays,eacharrayhaskintegers.Therearekkwaystopickexactlyoneele
Albafica
·
2020-08-22 11:17
数据结构
上一页
39
40
41
42
43
44
45
46
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他