摘要:
题意 现有n*m的长方形网格,每个格子中写着一个数,并构成了[0,n*m)的排列。每次可以将一行循环平移x格,也可以将一列循环平移x格。给出初始状态,给出一个到达给定状态的方案。n*m<=10000,n,m>=2。 思考 发现存在一种方法,能够使任意三个方格进行顺时针或逆时针改变位置。其中有一个方格 阅读全文
摘要:
题意 长度为n的数组,上面有k个位置是1,现在有l种长度的连续全1串,要求用最少的次数将这个数组异或成全0的数组。n<=1E5,k<=10,l<=100。 思考 先将数组进行异或的差分。可以发现,现在异或上全1串只是将两个端点进行异或。 接下来求出将每对1变成0的最小代价,之后就是简单状压。 复杂度 阅读全文
摘要:
题意 一个排列,每次选一个子序列按顺序放在开头,要求变成升序的操作次数不超过17次,给出方案。n<=1E5。 思考 对于ai=aj-1且i<j的数字,一定要保持其相对顺序。可以根据这个关系分成若干个块,并根据每个块最小的数从小到大将块编号为1~m。 接着把所有奇数编号的块选出来放在左侧。能发现这次操 阅读全文