Gym 100169A 最短路】的更多相关文章

题意:不久后滑铁卢将会变得非常冷,但是幸运的是,很多建筑都被桥梁和隧道连接着,所以你不需要总是走在外面.但是现在建筑 物之间的连接是错综复杂的,很难知道某两个建筑物之间的最优路线,所以需要你写程序判断. 给出 n 个点,m 条无向边,以及 p 个查询,边分为两种,一种是暴露在外面的边,用 O 表示,另一种是在室内的边,用 I 表示:最优 路线遵循以下规则: 1)尽可能使得路径上暴露在外面的边权值和最少: 2)在满足第一个条件的情况下,尽可能使得总路程最少. 每次查询给出一个 起点 s 和终点 t…
题目链接: http://codeforces.com/gym/100851 题目大意: 一只青蛙跳过宽为W的河,河中游N个石头,坐标xi,yi,现在往河中间添加一个石头,使得每次跳跃的最大的距离最小.求这个添加的石头的位置. 题目思路: [最短路] 设置源汇S,T,S到T连一条W的边,S到每个点连Xi的边,每个点到T连W-Xi的边.每个点往其他点连一条Di,j的边(直线距离) 统计到每个点的最大跳跃距离d[i][0],d[i][1],0表示没有加过石子,1表示加过.同时记录这个答案是由哪一条边…
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11665&courseid=0 题目大意: 一个微波炉,有N个按钮,每个按钮可以让时间加或减一个数,问达到M至少需要按几次按钮.(N<=16,0<=M<=3600) 如果无法达到M输出比M大的最小的值需要按的次数和这个值与M的差值.注意微波炉的时间满足0<=当前…
题目链接:http://codeforces.com/gym/101873/problem/C 题意: 这是七月的又一个阳光灿烂的日子,你决定和你的小女儿一起度过快乐的一天.因为她真的很喜欢隔壁镇上的仙女公园,所以你决定到那儿去玩一天. 你妻子同意开车送你去公园接你.她非常准时,所以她确切地告诉你她什么时候会到公园的前门来接你,而你必须恰好在那个时间到那里.因为你显然也不想在外面等,这样会让你的小女儿伤心——她本可以在公园里多待些时间. 现在你必须考虑游玩计划.你知道你什么时候到达,什么时候离开…
原题链接:http://codeforces.com/gym/100338/attachments/download/2136/20062007-winter-petrozavodsk-camp-andrew-stankevich-contest-22-asc-22-en.pdf 题意 给你一个无向图,要从1走到n,问你哪些边去掉之后就没法走原本的最短路了. 题解 跑两发最短路,顺着跑一发,倒着跑一发,对于边(u,v),如果w(u,v)+d[u]+rd[v]或者w(u,v)+d[v]+rd[u]…
http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contest-bapc-13-en.pdf 题意:给你一张无向图,t个可能的目的地,问在这t个点中哪些点的最短路中经过了g和h 思路:这是傻逼题,我直接dijstra用vector< set<int> > 保存路径, 最后再去判断下..好像这并不是出题者想要的解法,不过时间还可以,300+ms…
http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contest-bapc-13-en.pdf 题意:给你一幅图,让两个人从里面走出来的代价最小.经过 . 没有消耗,经过 # 耗费一个代价,* 不能通过. 思路:比赛时以为是类似于两条路之和最小的那种题,所以没有仔细去想,下来后听了别人提了下思路,也看了下别人的代码,明白了.分两种情况考虑,一种是相遇,一种是不…
题目链接 http://codeforces.com/gym/101630/attachments 题解 zyb学长的题. 先枚举第\(k\)大的边权,设其边权为\(x\),然后把每条边边权减掉\(x\)与\(0\)取\(\max\), 跑最短路之后加上\(x\times k\)更新答案. 注意从\(0\)开始枚举(就相当于裸跑最短路). 代码 #include<cstdio> #include<cstdlib> #include<iostream> #include&…
按题意把图建出来跑最短路就行了.注意遮挡不会影响答案,所以不必考虑,因为走直线经过遮挡的时候,一定不会比答案更优. #include<cstdio> #include<algorithm> #include<queue> #include<cmath> #include<cstring> using namespace std; #define EPS 0.00000001 #define N 109 int T,n,H,X; int hs[N]…
题意:求1到N的最短路,最短路的定义为路径上最大的K条边. 思路:对于每种边权,假设为X,它是第K大,那么小于X的变为0,大于K的,边权-X.然后求最短路,用dis[N]+K*X更新答案. 而小于K的情况下,最短路显然就是原图的最短路.(还是不好想的 #include<bits/stdc++.h> #define ll long long #define mp make_pair #define pii pair<ll,int> #define F first #define S…