CF788C The Great Mixing BFS+思维】的更多相关文章

这个模型十分巧妙啊,好题好题~ code: #include <bits/stdc++.h> #define N 3006 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,k,vis[N],in[N],dp[N]; vector<int>v; queue<int>q; int main() { int i,j; // setIO("…
题目传送门 /* 题意:给一个树,节点上有权值,问最多能找出多少个点满足在树上是连通的并且按照权值排序后相邻的点 在树上的路径权值都小于这两个点 DFS/BFS+思维:按照权值的大小,从小的到大的连有向边,搜索最多连接点数即是答案.因为排序后,他们之间的路径, 可定都是从当前节点u连过去的,那么都是小于这两个节点的.DFS需手动加栈,BFS类似拓扑排序的思路 */ #pragma comment (linker, "/STACK:1024000000,1024000000") #inc…
题目传送门 题目大意: 给出n个01串,让你构造一个字符串,使这个字符串和这些字符串中相似程度最高 尽可能低.如果两个字符串对应位置相同,则相似程度加一. 思路: 每一个01串更改自己的一部分后,都可以得到任何的01串.我希望所有的字符串最后能变成相同的01串.我们将题意转化一下,使相似程度最高的  尽可能低,也就是使不相似程度最低的 尽可能高,而每一个01串改变一次之后,就相当于不相似程度加一,当bfs第一次经过一个状态后,就得到了这个状态对于所有字符串的最低相似程度(因为其他01串到这个01…
题目链接:http://codeforces.com/contest/591/problem/E 题意:有3个数字表示3个城市,每种城市都是相互连通的,然后不同种的城市不一定联通,'.'表示可以建设道路‘#’表示 不能,问最短建设多少道路能够让3种城市都联通起来 题解:直接bfs一遍所有类型的城市,bfs的同时更新第i类城市到(x,y)点的最短距离,更新第i类城市到第j类城市的距离 具体看一下代码. #include <iostream> #include <cstring> #i…
A - Treasure Island Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Description standard input/output Announcement   Statements Pirate John Silver has found a map depicting exactly one island in a sea. The…
如果两个集合存储颜色的情况相同,说明这两个在k个图中都是在一个集合的 学到的点:用map,将vector映射一个整数时,只有vector后面的邻接的数据都一样时,才认为两个vector一样 代码: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #include<stack> #include<ma…
题意:有一个有向图,有些点是煤,有些点是铁,但不会同时有铁和煤.现在我要从1出发,占领可以到达的点.问最少占领几个点能同时拥有一个煤和一个铁(1不用占领). 思路:思路很秀啊.我们从1往外bfs,得到所有点到1的最短路dis[i][0],然后从所有煤跑bfs得到所有点到煤的最短路dis[i][1],我们再从所有铁跑bfs得到所有点到铁的最短路dis[i][2],那么dis[i][0] + dis[i][1] + dis[i][2]就是以i为分界点分别前往煤和铁的占领的最小距离.那么答案就是min…
题目描述 我们憨厚的USACO主人公农夫约翰(Farmer John)以无法想象的运气,在他生日那天收到了一份特别的礼物:一张"幸运爱尔兰"(一种彩票).结果这张彩票让他获得了这次比赛唯一的奖品--坐落于爱尔兰郊外的一座梦幻般的城堡! 喜欢吹嘘的农夫约翰立刻回到有着吹嘘传统的威斯康辛老家开始吹嘘了, 农夫约翰想要告诉他的奶牛们关于他城堡的一切.他需要做一些吹嘘前的准备工作:比如说知道城堡有多少个房间,每个房间有多大.另外,农夫约翰想要把一面单独的墙(指两个单位间的墙)拆掉以形成一个更大…
看书情况:109~124页 刷题数:6 今天把上两次比赛的该补的题都补了,补题有博客,还写了两道书上例题的博客. 书上例题 BFS思维https://www.cnblogs.com/2462478392Lee/p/11291434.html 二分+双向DFShttps://www.cnblogs.com/2462478392Lee/p/11291391.html 补题 十倍快速幂+斐波那契变形通式https://www.cnblogs.com/2462478392Lee/p/11290710.h…
解法参考https://www.cnblogs.com/BearChild/p/7683114.html这位大佬的,这位大佬讲得很好了. 这道题还是有一定的思维的. 直接贴代码: #include<iostream> #include<cstdio> #include<vector> #include<queue> #include<cstring> using namespace std; +; +; int n,m,ecc_cnt,ans,c…