Codeforces Round #654 (Div. 2) A-E2题解

Codeforces Round #654 (Div. 2) A-E2题解

A. Magical Sticks

题意:给你n个数字,其中的数字可以随机组合,问可以组合形成最多同时几个数相等
题解:(n+1)/ 2个

B. Magical Calendar

题意:有连续的n天,她可以选择任何满足1≤k≤r的整数k,并将k天设置为一周中的天数。如果日期到达一周的最后一天,则第二天的单元格是下一行(下方)中最左边的单元格。你可以选择从一周的任意一天开始,问有多少种不同的单元格形状。
题解:k>=n的部分平移之后形状相同,因而只需要在输出+1即可。
r<n:输出r(1+r)/2
r>=n:输出(n-1)n/2+1

C. A Cookie for you

题意:有两种曲奇,数量分别为a,b,有两类人个数为n(每一个人都会选择一个数目多的那种曲奇),m(每个人都会选择一个数目少的那种曲奇),如果a=b时可以随便选一个,问是否每个人都能够拿到任意一种类型的曲奇
题解:当(a+b)<(n+m)时,必然有人选不到,当(a+b)>=(n+m)时,我们考虑第二类人,也就是先选少的那部分的人是否每个人都能选到即可解决问题。

D. Grid-00100

题意:在一个n*n的矩阵中放k个1,使含1最多的行列分别于含1最少的行列差绝对值最小。
题解:保证每次填数使该数所在的行和列的个数相等即可解决问题。

E. Asterism

题意:给定长度为n的数组a,表示有n个敌人,第i个敌人有a(i)颗糖
定义f(x)为:
一开始你有x颗糖,对于长度为n的所有排列,都按照排列的顺序去打怪物
当你的糖数量>=怪物的糖数量,那么可以打败怪物,且打败之后你的糖数量+1
f(x)的值就是满足条件的排列数
现在给定一个质数p,要求你找出所有的x,满足f(x)不是p的倍数
保证满足条件的x的数量不超过1e5
数据范围:n<=1e5,1<=a(i)<=1e9
题解:由于考虑的是所有排列,所以对数组a进行排序不影响答案。
排序后可发现,下界为a[i]-(i-1),上界为a[i+p-1]-(i-1),遍历找到上下界后输出答案即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值