07 2018 档案
Codeforces 666B. World Tour 解题报告
摘要:"传送门" 题意:一个有N个定点M条边的有向图,dist[i][j]表示从i到j的最短距离,每条边的长度皆为1,请你给出有序的四个点a,b,c,d,使dist[a][b]+dist[b][c]+dist[c][d]最大。 思路:先用SPFA处理最短路是显然的,然后就是怎么选择点的问题,既然要和最大,
POJ 3538/Codeforces 100078D:Domestic Networks 解题报告
摘要:"点击这里进入题目" 题意:有N个顶点M条边,每一条边都有相应的长度,你有长度为5和长度为6的线,你要用它来覆盖这些边,使花费最小。 思路:一个图上要求最小的花费,很明显要先处理最小生成树 AC程序 //库省略 using namespace std; const int maxn=10005; i
Codeforces 269D. Maximum Waterfall解题报告
摘要:"点击这里进入题目" 题意:在一面墙上有几块木板,给你木板在前面上的高度,左端点,右端点,你可以控制水流的方向,水流能从上面的木板流向下面的木板需要两个木板在高度上有相交以及中间没木板隔开,问最大的水流量。 思路:先用一个vector,将左端点和右端点拆开记录,同时标清楚是哪一块木板,高度在哪,以及
Codeforces 95E Lucky Country解题报告
摘要:"点击这里进入题目" 题意:有N个国家,每个国家之间一共有M条无向路。国家会由路连成一个个联通块,然后问你要最少添加几条边,使最大的联通块的点的个数为一个幸运数(只包含4或7的数)。 思路:首先要做的肯定是处理联通块,可以用dfs或并查集,把每个连通块的大小都记录下来,这时候假如把每一个作为一个单独
Codeforces 460C Present(二分+线段树)
摘要:点击这里进入题目题目大意:给你n个数,可以做出m次修改,每次修改一个长度为w的区间,给这区间每一个数字加一,问修改后数组中最小值的最大值。思路:看到区间修改和十的五次方的数据范围,很难想不到线段树,再看到最小值的最大值,也很难不想到二分,那么就直接二分最后的答案,然后...
Codeforces 371C Hamburgers(二分基础题)
摘要:点击这里进入题目题目大意:给你一个字符串表示一个汉堡的结构,一个汉堡由BSC三个字母组成,然后给你你有的BSC原料的数目,和如果要购买BSC的价格。告诉你你所拥有的金钱,问最多能做出几个汉堡。思路:很明显这符合单调性,可以直接二分出能做几个汉堡,check也很好写,基...
Atcoder JAG Practice Contest for ACM-ICPC Asia Regional 2012 B - Texas hold 'em(巨型模拟)
摘要:点击这里进入题目 作者的话:同学们,我这个方法真的是算烦的,标称只有我的四分之一,但是假如你要深入理解题目我推荐我的程序,假如只是为了图个“方便”,还是别看了。 题目大意:根据德克萨斯扑克的规则,有五张牌应该是明牌,但是此时只明了三张,告诉你你的两张手牌,三张明牌,和对手的三张明牌,求你获胜的概率。
2017普及组第三题 洛谷P3957 跳房子(解题报告)
摘要:点击这里进入题目 中文题我就不解释题意了。思路:很明显这个棋盘很小,只有10000个格子,那么n平方的算法就能过了,那就直接dfs暴力,可以加一个小优化,如果当前使用的钱币已经大于之前所算的最小钱币数,就不继续往下算了。程序using namespace std;co...
AtCoder Regular Contest 100 E:Or Plus Max(DP+位运算)解题报告
摘要:这题对于我来说是真的难。。。点击这里进入题目题目大意:言简意赅。2的N次方个数,存为Ai,令1≤K≤2的N次方−1,请你求出(i,j),使Ai+Aj最大,并且0sum1[pos]) { sum2[pos]=sum1[pos]; sum...
AtCoder Regular Contest 100 D:Equal Cut(前缀和优化暴力)解题报告
摘要:点击这里进入题目题目大意:依旧言简意赅。给你N个数存为Ai,切三刀,分为四组,每一组的和为b·c·d·e,要求这四个数的极差(最大数和最小数的差)最小,输出这个最小值。题目思路:看一眼数据范围就可以不用想纯暴力了。这个题我一开始也想了很久,但我后来仔细一看,发现是切三...
AtCoder Regular Contest 100 C:Linear Approximation解题报告
摘要:点击此处打开题目 题目大意:这次比赛所有的题目都描述的很简单,我这种英语不好的也能一看就懂。给你N个数存为Ai,请你给出一个b,使abs(A1−(b+1))+abs(A2−(b+2))+…+abs(AN−(b+N))最小,输出这个最小值。思路:一看到绝对值,就应该想到...