CF666B. World Tour 题意: 给定一张边权为 1 的有向图,求四个不同点 A, B, C, D 使得 dis(A, B) + dis(B, C) + dis(C, D) 取最大值,dis表示最短路距离 1 ≤ n ≤ 3000, 1 ≤ m ≤ 5000 我又写了假做法呜呜呜 首先当然\(O(nm)\)预处理两点之间最短路 然后预处理出从每个点开始前3个dis最大的点 假做法: 贪心,枚举A,贪心选择dis较大的BCD,就是3*3*3搜索选出B.C.D 假的原因: 贪心不成立,因…
B. World Tour 题目连接: http://www.codeforces.com/contest/666/problem/B Description A famous sculptor Cicasso goes to a world tour! Well, it is not actually a world-wide. But not everyone should have the opportunity to see works of sculptor, shouldn't he…
题目传送门(内部题115) 输入格式 第一行两个正整数$n,m$. 接下来$m$行,每行$4$个正整数$u_j,v_j,L_j,R_j$. 接下来一行$n$个数,若第$i$个数为$1$,则$i$号同学最后学会了毒瘤算法:若第$i$个数为$-1$,则$i$号同学最后没有学会毒瘤算法.若第$i$个数为$0$,则不知道$i$号同学最后是否学会了毒瘤算法. 输出格式 若结果不可能出现,输出一行$Impossible$:否则,输出$m$行,第$j$行一个正整数表示第$j$条信息中的两名同学在哪一天共用午餐…
题目链接: http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3946 题解: 用dijkstra跑单元最短路径,如果对于顶点v,存在一系列边(ui,v)使得dis[v]最小(dis[v]表示0到v的距离).这些边能且只能选一条,那么我们自然应该选cost最小的那个边了. #include<iostream> #include<cstdio> #include<cstring> #include<…
垃圾csdn,累感不爱! 题目链接: http://codeforces.com/contest/667/problem/D 题意: 在有向图中找到四个点,使得这些点之间的最短距离之和最大. 分析: 最简单的Bellman求最短路复杂度太高.可以对每个点进行一次bfs,获得所有连通的点之间的最短距离. 点数最多3000,枚举中间两个点\(i,j\),对于点\(i\)考虑反向边的最远距离,对于点\(j\)考虑正向边的最远距离. 由于题目说点不同,所以对于每个点我们保存前三个远的点并枚举求得最远距离…
D. World Tour   A famous sculptor Cicasso goes to a world tour! Well, it is not actually a world-wide. But not everyone should have the opportunity to see works of sculptor, shouldn't he? Otherwise there will be no any exclusivity. So Cicasso will en…
#include<bits/stdc++.h> #include<queue> using namespace std; #define maxn 300005 #define ll long long struct qnode{ ll v,c,id; qnode(){} qnode(ll v,ll c,ll id):v(v),c(c),id(id){} bool operator<(const qnode&r)const{ return c>r.c; } };…
题目:http://codeforces.com/contest/360/problem/E 首先,每条边不是选 \( l[i] \) 就是选 \( r[i] \): 做法就是先把边权都设成 \( r[i] \),然后做 \( dijkstra \),如果有一条可改的边 \( (a,b) \) 而且 \( dis1[a] < dis2[a] \),那么就改边权为 \( l[i] \): 然后重复这个过程直到无边可改: 因为要考虑平局,所以只要 \( dis1[a] <= dis2[a] \)…
题意及思路:https://blog.csdn.net/huanghongxun/article/details/49846927 在假设所有边都是最大值的情况下,如果第一个人能比第二个人先到,那就缩短这条边. 代码: #include <bits/stdc++.h> #define LL long long using namespace std; const int maxn = 10010; int head[maxn], Next[maxn * 2], ver[maxn * 2], f…
WC2019 游记 课件 wc2019.zip_免费高速下载|百度网盘-分享无限制 提取码: un6z day 0 打飞机去广州... 在飞机上刷了爱乐(le)之城, 相当好看... 广二好大! 哈三中的操场一圈只有160m...瑟瑟发抖... 感觉大概有我们学校的10个大? 晚上开幕式... 作为HL省老少边穷地区愉快的坐在了第二排. 然后开始愉快的招租广告位23333 day 1 讲课的第一天 上午松松松讲评测系统, 不过窝并没有去. 然后去第二课堂听生成函数. 虽然老师是常州的教练, 但是…