摘要:
有 n 个点,然后会加边删边,然后每次操作后问你这个图是否是二分图。 阅读全文
摘要:
给你一个 n 个点 m 个边的图,每个点一定会至少有一条边。
然后要你选尽可能多的点对,使得每个点对之间都有边。
然后每个点有 1/2 的点权,你在选点对最多的基础上,还要让点权不同的点对尽可能多。
然后要输出其中一种方案。 阅读全文
摘要:
给你一棵树,然后树上每一个点有一些石子,然后两个人每人轮流可以选至多 m 个石子移到它所在位置的父亲处,谁没得移谁就输了。
然后会修改点石子个数和在某个点后加一个有一定石子的儿子点,然后会有询问要输出以某个子树玩当前游戏的 SG 函数。 阅读全文
摘要:
初始有一个空串,要你用最小花费构造给出的一个字符串。
你可以花费一个费用:
在字符串前或字符串后加一个字符,或者将这个字符串反转后得到的字符串接在这个字符串的前面或者后面。 阅读全文
摘要:
给你 n 个书架,每个书架有 m 个位置,然后有一些书在上面。
给出图书的初始放置状态和期望放置状态。
然后你有两个操作:
如果一本书左边或右边是空的,那你可以把这本书移到左边或右边。
从书架上拿走一本书,放在一个空位上。
然后问你整理到期望放置状态最少要用多少次拿书的操作,如果无法达到期望状态也要判断出来。 阅读全文
摘要:
一开始给你第一个可重集,然后它在 1~n 的范围内,然后初始每个数有一定的个数。
然后给你一些操作:
给某个可重集放几个某个数字;询问某个可重集有多少个数在 l~r 之间;询问某个可重集第 k 小的数(如果没有就是 -1);将某个可重集的数全部放入另一个可重集中,并清空它(保证之后都不会用到它);将一个可重集的 l~r 之间的数字全部放入一个新的可重集中,这个可重集的编号是当前可重集的个数。
请维护。 阅读全文
摘要:
给你一个 n*m 的矩阵,你可以横竖放 1*2 的木块。
问你有多少种方法,使得每相邻的两行之间必定有横跨的木块,每相邻的两列之间必有横跨的木块。
不是一定要全部放满木块。 阅读全文
摘要:
给你 n 个 m 维向量。
然后每次询问给出一个 m 维向量,问你有多少对向量满足条件。
条件有四种:每一维最大值都大于等于或小于等于一个值,每一维最小值都小于等于或大于等于一个值。 阅读全文
摘要:
给你一个有向图,你可以至多将一条边的方向反过来,支付翻转这条边的费用。
问你从 1 到 n,再从 n 到 1 的最小费用。如果不行就输出 -1。 阅读全文
摘要:
给你一个 n*m 的矩阵,有一些位置可以选放不放东西。
然后规定一个东西旁边四个位置不能有东西。
问你有多少种放的方案。 阅读全文