CF#541 D. Gourmet choice /// BFS 拓扑】的更多相关文章

题目大意: 给定n m 第一行有n个数 第二行有m个数 接下来n行每行m列 有 = < > 位于 i j 的符号表示 第一行第i个数与第二行第j个数的大小关系 1.将n+m个数 当做按顺序编号的点 则第二行的数是编号为 n+j 的点 2.先处理=的数 将所有=的数指向同一个父亲 3.再处理不是=的数 找到两者的父亲 如果父亲相同说明两者= 与目前处理的情况相悖 无解 否则 按由小到大的关系在两者(的父亲)间连单向边(小连向大) 此时较大的点入度+1 4.此时查看所有点的入度 入度为0 说明这个…
Problem   Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input Output The first line of output should contain "Yes", if it's possible to do a correct evaluation for all the dishes, or "No" otherwis…
Mr. Apple, a gourmet, works as editor-in-chief of a gastronomic periodical. He travels around the world, tasting new delights of famous chefs from the most fashionable restaurants. Mr. Apple has his own signature method of review  — in each restauran…
题目传送门 先把 = 的人用并查集合并在一起. 然后 < > 的建边, 跑一遍 toposort 之后就好了. 入度为0点的值肯定为1, 然后就是因为这个是按照时间线走过来的,所以一个点的最小值,就是在入队的那一刻确定的, 即入度为0的时候,值就是现在的值+1. 注意就是不要同一个点入队多次. 代码: /* code by: zstu wxk time: 2019/02/24 */ #include<bits/stdc++.h> using namespace std; #defi…
D. Gourmet choice time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mr. Apple, a gourmet, works as editor-in-chief of a gastronomic periodical. He travels around the world, tasting new delig…
  D. Gourmet choice time limit per test 2 seconds memory limit per test 256 megabytes   题目链接: https://codeforces.com/problemset/problem/1131/D Discribe Mr. Apple, a gourmet, works as editor-in-chief of a gastronomic periodical. He travels around the…
link:https://codeforces.com/contest/1131 题意: 给定一些大小比较,输出排名. 思路: 这道题我用的是拓扑排序,又因为有等于号的存在,我用了并查集. 结束后这道题惨遭fst,因为我拓扑排序本应只放入一个集合的代表点,但是我放入了多次. #include <algorithm> #include <iterator> #include <iostream> #include <cstring> #include <…
这题CF给的难度是2000,但我感觉没这么高啊…… 题目链接:CF原网 题目大意:有两个正整数序列 $a,b$,长度分别为 $n,m$.给出所有 $a_i$ 和 $b_j(1\le i\le n,1\le j\le m)$ 的大小关系(大于,小于或者等于),请构造出符合条件的 $a$ 和 $b$.如果无解,输出NO.如果有多个解,输出 $a,b$ 中最大元素最小的方案. $1\le n,m\le 1000$. 这题一眼差分约束.但是看着没有具体的数字……(主要是我不会打) 然而二眼就是拓扑排序.…
1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多少个湖,然后输出. #include<bits/stdc++.h> #define F(i,a,b) for (int i=a;i<b;i++) #define FF(i,a,b) for (int i=a;i<=b;i++) #define mes(a,b) memset(a,b,s…
/*题意:一个数,就是输入的第一个数,让它变成第二个数最少用几步.可以点红色按钮,蓝色按钮来改变数字,红色:*2,蓝色:-1,如果变成负数,就变成原来的数.CF 520 B. Two Buttons思路:当然是*2可以掠过的步数更少啦,如果n是输入,m是输出. 如果n大于m,不能使用红色按钮,很容易看出,步数就是n-m. 如果n比m小,如果m是偶数的话,m/2,如果m是奇数,m+1,这样一直循环判断n是不是还比m小,不符合就跳出循环,进入第一个如果.*/ /*正向BFS #include<ios…