【BZOJ4296】[PA2015]Mistrzostwa BFS】的更多相关文章

[BZOJ4296][PA2015]Mistrzostwa Description 给定一张n个点m条边的无向图,请找到一个点数最多的点集S,满足:1.对于点集中任何一个点,它至少与d个点集中的点相邻.2.仅保留点集中的点后,剩下的图连通. Input 第一行包含三个正整数n,m,d(2<=n<=200000,1<=m<=200000,1<=d<n),分别表示点数,边数以及度数限制.接下来m行,每行包含两个正整数a,b(1<=a,b<=n,a不等于b),表示…
[BZOJ4295][PA2015]Hazard Description 有n个人在轮流玩赌博机,一开始编号为i的人有a[i]元钱.赌博机可以抽象为一个长度为m的仅包含1和-1的序列,若抽到1,那么你将得到1块钱:若抽到-1,你将输掉1块钱.第1局,第1个人会抽到序列中的第1项:第2局,第2个人会抽到序列中的第2项:第3局,第3个人会抽到序列中的第3项......即:第i个人抽完后轮到第i+1个人去抽,特别地,第n个人抽完后轮到第1个人去抽.序列第i项被抽到之后,下一个被抽到的将会是第i+1项,…
[BZOJ4297][PA2015]Rozstaw szyn Description 给定一棵有n个点,m个叶子节点的树,其中m个叶子节点分别为1到m号点,每个叶子节点有一个权值r[i].你需要给剩下n-m个点各指定一个权值,使得树上相邻两个点的权值差的绝对值之和最小. Input 第一行包含两个正整数n,m(2<=n<=500000,1<=m<=n),分别表示点数和叶子数.接下来n-1行,每行两个正整数u,v(1<=u,v<=n),表示u与v之间有一条边.接下来m行,…
[BZOJ4293][PA2015]Siano Description 农夫Byteasar买了一片n亩的土地,他要在这上面种草. 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米. Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去.Byteasar想知道,每次收割得到的草的高度总和是多少,你能帮帮他吗? Input 第一行包含两个正整数n,m(1<=n,m<=500000),分别表示亩数和收割次数…
[NOI2011]道路修建 Description 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿意修建恰好 n – 1条双向道路. 每条道路的修建都要付出一定的费用, 这个费用等于道路长度乘以道路两端的国家个数之差的绝对值.例如,在下图中,虚线所示道路两端分别有 2 个.4个国家,如果该道路长度为 1,则费用为1×|2 – 4|=2.图中圆圈里的数字表示国家的编号. 由于国家的数量十分庞大,道路的建…
4269: 再见Xor Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 176  Solved: 107[Submit][Status][Discuss] Description 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. Input 第一行一个正整数N. 接下来一行N个非负整数. Output 一行,包含两个数,最大值和次大值. Sample Input 3 3 5 6 S…
意甲冠军:给定一个N*M图.,间'X'代表树木(树木必须汇集到森林,非分离),然后,'.'它代表的空间.'*'它代表的起点.现在它需要从起点.一圈,最后回到起点,所经过最少点数. 题目中给的'+'就是当中一种最短路径. 题解:随便找一条经过森林且不经过起点的直线,可证路径一定会穿过这条直线.那么就在这条直线上枚举一个点,做两遍BFS,求其从分别直线两側出发到起点的最短距离. 在这里说一个推断边界的简单方法,就是先给图里每一个点打上标记.详见代码里'in'数组.in值为0的自然就不再里面,而没有必…
对于搜索树分支很多且有明确起点和终点的情况时,可以采用双向搜索来减小搜索树的大小. 对于双向BFS来说,与单向最大的不同是双向BFS需要按层扩展,表示可能到达的区域.而单向BFS则是按照单个节点进行扩展,因为只有当前状态. 代码如下: #include <bits/stdc++.h> using namespace std; const int maxn=810; char mp[maxn][maxn]; int n,m,tot,step,f; struct node{ int x,y; }b…
题目描述 给出一张n个点m条边的有向图,每条边 (u,v,x,y) 描述了 u 的点权乘 x 等于 v 的点权乘 y (点权可以为负).问:是否存在满足条件的图. 输入 有多组数据,第一行给定整数T,表示总的数据组数,之后依次给出T组数据.每一组数据的第一行给定整数N和 M,表示齿轮总数和链条总数.之后有M行,依次描述了每一个链条,其中每一行给定四个整数u,v,x和y,表示 只考虑这一组联动关系的情况下,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.请注意,x为正整数,而y为 非零整数,但是…
链接:http://www.lightoj.com/volume_showproblem.php?problem=1055 类似推箱子的游戏,一条命令可以让abc三个小人同时移动,但是出界或者撞墙是不移动的,求abc到达终点x所需要的最小步数. 我这里用六维的vis来标记这个点走过没,直接上代码 #include<bits/stdc++.h> using namespace std; int n; ][]; ][][][][][]; struct node { int ax, ay, bx,…