摘要: 题目链接:Face The Right Way 思路:枚举区间长度,我们选择从左往右处理,利用前缀和的思想,前缀和代表的是当前左指针指向的牛改变过多少次朝向,每一次满足左指针指向的牛,让他朝前方,然后如果当前牛朝后,那么我们就增加一次操作数,记住左指针从1到n,每一次满足左指针牛的要求,将差分数组中 阅读全文
posted @ 2021-06-03 17:18 xiaodangao 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题目链接:D. Armchairs 思路:我们将0的位置放在一个数组中,将1位置放在一个数组中,我们规定每一个1位置都是有序的,即顺序不可以被改变,$f(i,j)$表示处理完前i个人,且第i个人坐在第j个板凳上的最小花费,显然$f(i,j) = min_f(i-1,p) + dis(a[i],a[j 阅读全文
posted @ 2021-06-03 09:51 xiaodangao 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目链接:M.Stone Games 思路: 先上图: 所以假设当前满足$[1,x]\(全覆盖,且\)[1,x]$中所有元素都已经选完,那么我们发现,我们判断$x+2$是否存在没有什么意义,只有判断$[1,x+1]$中元素存在才有意义,选择$x+1$就是为了能构成上述图中情况1。因为有一个$x+1$ 阅读全文
posted @ 2021-06-02 17:08 xiaodangao 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目链接:D. Cut and Stick 思路:询问最少需要分成几个区间,如果该区间众数小于等于$\lceil \frac{2} \rceil$,那么显然答案是1。否则的话,我们需要尽可能的满足众数的要求,将尽可能多的众数放在一个区间里面,所以一个区间里面最多能够放的个数是其他数的个数+1,其余的 阅读全文
posted @ 2021-06-02 10:01 xiaodangao 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题目链接:D. Kill Anton 思路:先考虑他会怎么做才能最少次数还原串。我们发现对于一个串b若将它还原成串a,最好是每一次交换,都减少一个逆序对数量,这里的逆序对数量是以a为中心来说的。这显然是最优解,因为当b相对于a的逆序对数量减为0时,b=a。而且他的交换方式是相邻两个字符间进行交换,所 阅读全文
posted @ 2021-06-01 11:41 xiaodangao 阅读(174) 评论(0) 推荐(1) 编辑
摘要: 题目链接:B. Strange Definition 思路:因为$gcd(x,y) = p_1^p_2^...*p_n^$,\(lcm(x,y) = p_1^{max}*p_2^{max}*...*p_n^{max}\),所以任意两个点间若能相关,则必有$\frac{lcm(x,y)}{gcd(x, 阅读全文
posted @ 2021-05-28 22:13 xiaodangao 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题目链接:F. Unusual Matrix 思路:我们可以发现,如果$a_{i,j}$不等于$b_{i,j}$那么他们变化的次数一定是奇数次,否则一定是偶数次,而该元素变化的总次数是行变化次数+列变化次数,所以我们通过$a_{1,1}$就能将1行和1列的情况枚举出来,进一步,因为我们知道其他元素的 阅读全文
posted @ 2021-05-27 16:07 xiaodangao 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题目链接:D. Cleaning the Phone 思路:考虑先将物品按价值排好,然后我们从高向低拿,一旦有拿大于等于m价值的东西,我们就停止。这时候发现如果我们的物品体积都是1的话,现在肯定是最优的答案,现在拿的物品体积一定是最优的。当我们考虑到有体积为2的物品存在时,我们现在肯定是选择某些体积 阅读全文
posted @ 2021-05-27 15:08 xiaodangao 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 思路:发现2x-y实际就是y关于x的对称操作,然后因为我们只有这一种操作,将所有元素放在一个数轴上可以发现,整体平移任意单位对于整体来说并没有影响。又因为我们发现如果原数组中有0,那么我们就可以通过这个操作来求出任意倍数的$x_i$,进一步的,我们可以求出所有$gcd(x_1,x_2,...,x_n 阅读全文
posted @ 2021-05-26 17:34 xiaodangao 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 题目链接:D. Max Median 思路:二分答案,因为直接找的话肯定是不行的,因为区间共有$\sum_\(复杂度\)\theta(n2)\(,所以我们需要思考,既然暴力查询不可以,我们逆向思维,给你一个数,你是否能在\)\theta(n)\(的时间内求出该数组有一段区间中位数要大于等于该数,这个 阅读全文
posted @ 2021-05-20 09:11 xiaodangao 阅读(65) 评论(0) 推荐(0) 编辑