![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
codeforces
seez
njfu
展开
-
codeforces 768 D (结论)
Problem - D - Codeforces 题意: 给定一个数组A,找出一个范围[x,y],把数组A恰好分为K块,使得每块中在范围[x,y]中的数>在范围外的数,并且最小化y-x,输出k个区间的左右端点 分析: 寻找一个范围[x,y] 然后运用结论用[x,y]分割区间 输出[x,y] 找到一个范围[x,y] 我们可以贪心的想,要找到k个数组,其实可以让每个数组在[x,y]的数in-在[x,y]外的数out>=1 问题转化为了 : 找到k个区间,每个区间内在[x,y]的..原创 2022-02-02 17:57:25 · 454 阅读 · 0 评论 -
codeforces 768 C (位运算,构造)
题意:运用一个性质,位运算的结果只与同一位有关 要我们构造出k,分为两种情况 1.k<=n-2 由于n-1是一个全为1的奇数,n-1与任何数相与都是这个数本身,所以要求这个数k的时候,只要让k和n-1配对,就可以了 2.k==n-1 这个情况比较复杂,我们知道只需要输出其中一种解决方案即可,n-1是一位全为1的奇数,可以拆开看为n-2(仅最后一个为0,其他位==1) + 1 那么我们要确保n-2能被输出,就只有n-1和他配对,然后1能被输出,最简单的就是1和2配对 对于不能输出的情况..原创 2022-01-29 00:43:53 · 268 阅读 · 0 评论