Codeforces Round #731 (Div. 3) ABCDEFG 题解 (Java/C++)
A. Shortest Path with Obstacle 题解 当且仅当ABF三个点在一条直线,且F在AB之间时,答案是曼哈顿距离+2。否则答案就是AB的曼哈顿距离。 代码 Java C++…
A. Shortest Path with Obstacle 题解 当且仅当ABF三个点在一条直线,且F在AB之间时,答案是曼哈顿距离+2。否则答案就是AB的曼哈顿距离。 代码 Java C++…
题解 如果两个数相同,那么显然答案是无穷大。 如果两个数不同,那么可以令两个数为a和a+x。在执行若干操作后,两个数分别为a+y和a+y+x。…
A. Odd Set 题解 只需要统计偶数的个数即可。当且仅当偶数个数和奇数的个数相等时输出Yes。 代码 Java C++…
题解 立刻可以想到,我们只需要统计每个+操作的x能在多少种子序列中出现即可。 假设第i步是+操作,其值为a[i]。如果这个a[i]保留到最后,那么整个过程中的所有-操作都不会操作到a[i]。也就是说,这个整个过程中,执行-操作时,必为下面两种情况之一:…
题解 首先我们立刻可以注意到,当i为奇数时,f(i)=2。接着我们开始考量f(i)=3的情况。显然根据定义我们可以知道,只有i为偶数,且i不能被3整除时f(i)=3。因此我们也可以说:对于所有的i,排除f(i)=2和f(i)=3的情况,剩下的i一定不能被6整除。进一步,当我们考虑到f(i)=4的情况后,剩下的i一定不能被lcm(4,6)=12整除。…
A. Pretty Permutations 题解 显然,只需要相邻两位相互交换位置即可。对于n等于奇数的情况,只需最后三位相互交换即可。 代码 Java C++…
A. Contest Start 题解 每一个参加者都会引起后面$\frac{t}{x}$个参与者的不满。但是对于最后几位参与者来说,因为后面没有更多参与者了,所以需要减去。 代码 Java C++…
题解 显然,对于每种商品,我们一定是恰好买a个,不会多买。也就是买的商品总数不会变(因为多买无非是为了凑折扣,但多买一个的代价正好等于折扣的好处)。于是我们可以考虑把每个商品放到不同的位置,只要这个商品对应的b值大于他的位置则可以打折。…