Codeforces 543 B. World Tour】的更多相关文章

http://codeforces.com/problemset/problem/543/B 题意: 给定一张边权均为1的无向图. 问至多可以删除多少边,使得s1到t1的最短路不超过l1,s2到t2的最短路不超过l2.   转化成至少保留多少条边 若两条路径没有没有交集,就是dis[a1][b1]+dis[a2][b2] 如果两条路径有交集,交集一定是连续的一段,枚举交集的起点和终点即可 注意s1向t1方向可能对应着s2向t2方向,也可能对应着t2向s2方向 所以要交换s1 t1 求两遍 #in…
http://codeforces.com/problemset/problem/666/B 题意: 给定一张边权均为1的有向图,求四个不同的点A,B,C,D,使得dis[A][B]+dis[B][C]+dis[C][D]尽可能大.   预处理能到B的前3远,C能到的前3远 枚举B.C     #include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespa…
题目链接:http://codeforces.com/problemset/problem/1121/B 题意 给n个数 最多的对数 其中每一对(i,j)的ai+aj都相等(不知道怎么解释.... 判断的话 大概是4重循环 因为每次都选4个数嘛 两两相加判等 不过会TLE 而且并不知道哪些值用了哪些没用 就可以预处理记录a[i]+a[j]出现的次数 然后排序找最大的就好了 代码有点鬼畜.. 代码如下 #include <cstdio> #include <algorithm> #i…
题目链接:http://codeforces.com/problemset/problem/1121/A 真·阅读理解 题意就是 有n个人 pi表示他们的强度 si表示他们来自哪个学校 现在Arkady选了K个人 如果这其中有某些人不是他们学校里最强的,你就让这个人自己去一个学校 他就是这个新学校里面最强的 那么就一定会被选上 并且他原学校的最强的也会被选上 也就是 k个人里有哪个人不是最强的就必须多一个学校呗 读题半小时代码几分钟.. 代码如下 #include <cstdio> #incl…
Codeforces 1137 C 题意:给一个有向图,一周有\(d\)天,每一个点在每一周的某些时刻会开放,现在可以在这个图上从\(1\)号点开始随意地走,问最多能走到多少个开放的点.一个点如果重复走到了很多次,只算一次. 思路:这空间太难卡了... 我们首先考虑将这个图的所有点都拆成\(d\)个,变成\(n\times d\)个点(为下文卡空间埋下伏笔), 即将\(i\)变成\((i,j)\),其中\(j\)表示到\(i\)的时候是一周的第\(j\)天(这里天数是\(0-start\),即一…
题目链接: D. World Tour time limit per test 5 seconds memory limit per test 512 megabytes input standard input output standard output A famous sculptor Cicasso goes to a world tour! Well, it is not actually a world-wide. But not everyone should have the…
题意 给出一张无向图,要求找出尽量多的长度为2的不同路径(边不可以重复使用,点可以重复使用) 分析 yzy:这是原题 http://www.lydsy.com/JudgeOnline/problem.php?id=4874 首先猜测,一个连通块内,如果是偶数条边,那么所有边都可以用上.如果是奇数条边,那么只会剩下一条边.只要给出一个方案构造的方法,那么正确性就可以从构造方法中得出. 长度为2的路径中中间那个点和两条边都有关.我们可以认为这两条边都属于中间那个点. 于是现在就变成把每条边分配给它的…
B. Destroying Roads time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output In some country there are exactly n cities and m bidirectional roads connecting the cities. Cities are numbered with int…
题意:若一个字符串集合里的每一个字符串都至少有一个字符满足在i位上,仅仅有它有,那么这个就是合法的,给出全部串的每一个字符修改的花费,求变成合法的最小代价. 做法:dp[i][j].前i个串的状态为j时的最小花费.j:状压表示已经合法的是哪些串. 能够知道.若j前有i个1,那么訪问它就是多余的,所以去掉i,枚举j就可以. 对于一个串的i位.若考虑它为这个串的唯一标识.那么无非是改变它为唯一字符,或者改变其它串在i位跟它同样的字符,又由于改变其它串的字符.能够贪心成顺便也都把它们变成合法的,所以若…
Codeforces Round #543 Div1题解 Codeforces A. Diana and Liana 给定一个长度为\(m\)的序列,你可以从中删去不超过\(m-n*k\)个元素,剩下的元素从左往右每\(k\)个一组,最后一组可以不满.给定你一个大小为\(|S|\)的可重集,要求你分出的组中至少有一组构成的可重集包含了给定的可重集. 构造一种符合条件的删数方案. \(n,m,k,|S|\le 5*10^5\) 写了\(1h\)才过,感觉身败名裂. 考虑枚举一个右端点\(r\),显…