自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Codeforces Round #750 (Div. 2)

D. Vupsen, Pupsen and 0 题意:已知有长的为n非零数列a,求一个非零数列b,使得∑i=1nai∗bi=0\sum_{i=1}^{n}{a_i*b_i}=0∑i=1n​ai​∗bi​=0 思路: 如果n为偶数,对于第i个数,我们不难发现只要乘以第i+1个数的相反数,第i+1个数则乘以第i1个数的相反数,则可以构造出题目要求的数列 如果n为奇数,我们只需要单独考虑三个数,其余的按偶数规则来。而这三个数的正负性有四种情况,分别是全正,全负,两正一负,两负一正。 同样我们也能找到相应的构造办

2021-10-25 23:43:59 124

原创 AtCoder Beginner Contest 220 E - Distance on Large Perfect Binary Tree

思路: 对于每一层,我们考虑对答案有贡献的三种情况 Fi=Fi左子树+Fi右子树+CF_i=F_{i左子树}+F_{i右子树}+CFi​=Fi左子树​+Fi右子树​+C C 表示经过根的可能 左右子树对答案的贡献我们可以通过上一层 Fi−1∗2F_{i-1}*2Fi−1​∗2得到 那我们只需要算出 C 如果 i−1≤di-1\le di−1≤d ,也就是深度要达到d, 则要贡献 2d∗22^d * 22d∗2,后者的2是因为端点对换。 另外一种情况,从较小值中假设左子树的距离为a,右子树的距离为b 则

2021-09-28 16:23:00 285

原创 Educational Codeforces Round 113 (Rated for Div. 2) C. Jury Meeting

题意 找到一种序列,按序减一,如果没有出现同一个位置连续减两次,即为good,问一共有多少种。 思路 设max 最大值的个数, min次大值的个数 情况1:有大于或等于两个最大值,那任意排都可 情况2:max-min== 0 ,任意排都可 情况3:若max-min==1 那必须保持最大值不能在最后,不然会出现连减两次, 那也就是要最后一个次大值之后不能有最大值。设cnt为次大值的个数,那满足的这种要求的序列的概率为 cnt / (cnt+1);即不要排在最后即可。 代码 #include<bi

2021-09-09 13:01:37 144 2

原创 Codeforces Round #739 (Div. 3)

Codeforces Round #739 (Div. 3) D. Make a Power of Two 题意:给出一个数,一种操作是删去任意一位上的数,另一种是在最后位加上任意一个数,求最小操作是这个数变为2的幂次方。 思路:预处理出所有2的幂次方进行比较,我们假设这个数n对应的最小操作数后变为x,对于n,不用删除的位在x中肯定是连续的,且是前缀。 比如数n为 1052 , 对应的x为1024 ,1 0 2这三位是连续的,所以我们可以枚举所有的2的幂次方,ta表示的是表示不用删掉的位数,s.le

2021-08-19 14:02:03 149 2

原创 Codeforces Round #737 (Div. 2) ABC

A - Ezzat and Two Subsequences 题意:给定一个数组,将其分为两个非空子序列,问如何分使得两个非空子序列的平均值最大。 思路: 猜了个结论:找到数组中最大的一个数,将其单独划为一个序列,剩下的划为另外一个序列,这样能使得平均值最大。 代码 #define rep(i, l, r) for (int i = l; i <= r; i++) #define per(i, l, r) for (int i = l; i >= r; i--) const int N = 5

2021-08-10 15:38:19 109 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除