- 博客(4)
- 收藏
- 关注
原创 Codeforces 916(Div3)A~D
c题看上去很麻烦,其实想清楚了也是一个暴力枚举能够解决的问题,我们可以枚举最多只算到ai的情况,比如我们能解决k个问题,那么我们可以考虑做一次a1,然后在做k-1次a1,或者说做一次a1,一次a2,再在a1,a2里面选出再次做经验值最大的情况做k-2次这样枚举.比如第一个样例,6 2,那么原数组就是1,2,3,4,5,6我们要出现有且仅有两对的顺序数对,其他都是逆序,那么我们可以这么排序。那么我们就可以3,4,5,6,2,1就可以了。看这个数组1,2,3,4,5,6。b题我们取几个样例进行分析。
2023-12-25 11:41:33 484
原创 Codeforces 917(Div2)A-B
B题我们可以发现,无论字符串是什么,我们进行几次操作,长度不同的字符串都是不一样的字符串,所以我们可以提前把答案定成n(字符串的长度),然后我们考虑删除1,2,3....,n-1个字符,此时我们可以发现,如果删除一个字符,那么我们从3~n的字符串都是不会变的,就考虑前面的元素有几种字母,我们答案+=字母类型就好了,因为要考虑种类,我们可以直接开个set来计数(不会有重复元素)这里就是可以不用提前计算ans=n;这个过程会被统一在循环中进行。这里可以自己拿几组例子来模拟一下。C题暂且不会,会了再补(
2023-12-25 10:46:46 397
原创 Codeforces 914(Div2) A-C
我们可以知道,当k>=3时,就一定可以对同一对数进行两次操作,然后再把新产生的两个数进行操作来得到0,那么我们就只要讨论k==1和k==2的情况,k==1的情况其实很好讨论,就是开个ai-ai-1的数组,然后输出最小值就行了,而k==2需要我们进行遍历,并且在每一次遍历中去原数组中找到和新产生的数最相近的两个数,然后把他们的差值与原数组最小值以及他自身进行比较。本题我学会了什么:在类似有关到坐标系枚举的问题时,可以考虑用数组来模拟他的所有走法,然后进行判断.关键:对比ai大和比ai小的那些数分开进行讨论。
2023-12-20 08:54:31 370
原创 codeforces 913 Div3(A-D)
d题可以用一个二分查找来做,这题主要的难点是我们并不知道这个点具体会落在哪个地方,所以不好确定它下一步的范围在哪里,贪心却贪不出来,我们可以考虑去考虑以这个点为中心形成一个区间,判断这个区间是否和所需区间有重合,如果有重合,我们可以再次更新这个点。这题算是一个直觉题了,属于是靠直觉猜结论,很抱歉证明过程我也不会,但是我们可以知道要尽可能的消去数量最多的那个数,那就判断这个数的数量和剩下的所有数的数量的大小关系。A题比较简单,就是把除去自己本身的其他点全部输出一遍,可以把字母部分用s[i]-'a'来代替。
2023-12-08 02:28:32 46
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人