Codeforces Round #690 (Div. 3)
栗子栗子栗子栗子
这个作者很懒,什么都没留下…
展开
-
1462 D. Add to Neighbour and Remove
https://codeforces.com/contest/1462/problem/D题意:给你一个数组,对于每个元素可以和左边或右边的元素合并,合并之后成为新的元素,值为合并前的两元素和,求最少经过几次能使数组中剩下的各个元素值相同。一开始想不出思路,就知道最差情况是操作n-1次把所有元素合并了…后来想了想发现问题可以转化为可以把数组分为几段,每段中的元素和相同,能分得组越多,操作的次数就越少,最终的操作次数就是数组中元素个数-段落数,所以就去求最多能分成几段。然后可以发现线段中元素和的情况分成原创 2020-12-21 17:38:27 · 137 阅读 · 0 评论 -
1462 E1. Close Tuples (easy version)
https://codeforces.com/contest/1462/problem/E1题意:给定一个数组,从这个数组中挑出三个元素x,y,z,使得max(x,y,z)-min(x,y,z)<=2,问最多能找出多少组。这题一开始我直接dfs求出所有的组合,然后判断每一组是否满足条件。结果例三就超时了…然后自己想了想觉得应该是个求组合数的问题,sort之后从a[1]开始求区间的组合,但是发现有问题,例如1 2 2 3 4,按我的方法就是1-3的组合数求完之后再去加上2-4的组合数,但是1-3之间原创 2020-12-17 20:28:59 · 1482 阅读 · 0 评论 -
1462 C. Unique Number
https://codeforces.ml/contest/1462/problem/C题意:给你个数字x,让你去找一个整数t,满足t的各个位上的数字之和等于x,同时各个位上的数字互不相同。找得到就输出最小的t,找不到就输出-1。注意到各个位上的数字互不相同,所以t最多是9位,由123456789组成,因此x的上限就是1+2+3…+9=45,超过45就找不到,输出-1。接下来解决x<=45的情况。我们开个数组a,取max=9,对于每次操作,只要x>max,就让x-max,把max存进数组中原创 2020-12-16 16:04:32 · 209 阅读 · 0 评论 -
1462 A. Favorite Sequence
https://codeforces.ml/contest/1462/problem/A题意:有个数组A{1,2,3,4,5…n},现在按左一个右一个的方式赋给数组B,B数组就会变成{1,3,5…n-2,n,n-1,…6,4,2}。现在告诉你了数组B,让你求出数组A。创建两个指针l跟r,分别从头跟尾向中间扫就行,注意边界条件是l<=r(在n为奇数的情况下最终l=r)#include <iostream>using namespace std;int main() { int原创 2020-12-16 15:54:36 · 161 阅读 · 0 评论 -
1462 B.Last Year‘s Substring
https://codeforces.ml/contest/1462/problem/B题意就是判断一串字符串中,经过n次删除一段连续的字符串的操作之后,使字符串变为”2020“,同时n<=1,可以就输出”YES“,不行就输出"NO"。观察一下就能发现可行的情况无非就是以下五种:XXX20202XXX02020XXX20202XXX02020XXX想得到的话,就能A了…#include <bits/stdc++.h>using namespace std;i.原创 2020-12-16 15:28:47 · 442 阅读 · 0 评论