摘要:
题目大意: N 道菜肴,1到N的顺序编号 某些菜肴必须在另一些菜肴之前制作,具体的,一共有 M 条形如”i 号菜肴'必须'先于 j 号菜肴制作“的限制,我们将这样的限制简写为<i,j>。 (1)在满足所有限制的前提下,1 号菜肴”尽量“优先制作 (2)在满足所有限制,1号菜肴”尽量“优先制作的前提下 阅读全文
摘要:
题目大意: 现在有N头牛,给一个 A B 表示牛A认为牛B受欢迎 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少牛被所有的牛认为是受欢迎的 思路: 先用tarjan把每个强连通分量缩点 然后脑补一下 可以发现如果有大于一个连通分量出度为零, 阅读全文
摘要:
题目大意: 给一个有向图 求一个最大的强连通分量,输出这个强连通分量里的所有元素 若两个联通分量内点数相同 则输出字典序小的那个 思路: 直接tarjan 对每个连通分量,求一下最小点,然后判断字典序就行了 1 #include<iostream> 2 #include<cstdio> 3 #inc 阅读全文
摘要:
题目大意: 两列数,可以交换每列中相邻的两个数,算作一次交换 求最小的交换次数使两列数相对应的数之差的平方之和最小 思路: 首先可以明确当两列数的排序位置相对应时,为最佳答案 然后我们按照一中排序后在二中排序后出现的位置建一个数组 求一下逆序对 1 #include<iostream> 2 #inc 阅读全文
摘要:
题目大意: 一些点,选四个点使这围成的四边形面积最大 思路: 首先可以知道这些点一定在凸包上,然后graham求一下凸包 然后我们可以枚举对角线在两边找最远的点 然而这样复杂度爆了 所以我们可以利用旋转卡壳的思想 枚举对角线的时候确定一个点,然后旋转另一个点,如果确定了另外两个点,则另外两个点也一起 阅读全文