- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 Codeforces Round 899
对于固定的 𝑖,从 𝑆1,𝑆2,⋯,𝑆𝑛,中选出所有不包含 𝑖的集合。它们的集合的大小将是 𝑆 的最大大小对于𝑇中的所有𝑖都这样做,那么其中的最大值就是答案。可以发现,a中第三个元素之后的值都可以得到,但是若要选择第二个,那么就要选择第一个,所以答案就是 3-n中的所有正值的和 与a[1]加上2-n中所有正值的和。贪心的维护一个值id,每次id++,若当前id等于了a[i],那么就再加加,最后的id值就是答案。
2023-10-07 19:42:16 66 1
原创 Codeforces EDU 155
找到连续的1段和0段,对每个这样的段,每个段的数量减1累加起来,就是答案的第一项,第二项是所有段的长度相乘再乘以第一项的全排列数量,即第一项的阶乘。考虑竖着放和横着放,如果竖着放,答案是将A数组所有数加起来再加上B数组最小的数乘以n,反之同理。如果存在一个运动员体力和耐力都大于1号,那么输出-1,否则贪心输出1号运动员的体力。
2023-10-07 19:28:17 54 1
原创 Codeforces Round 898 Div4 (A~F)
C.可以把正方形看作由外到内的层级,比如(1,9)若横坐标或者纵坐标超过了5,就将其变为10-坐标+1,(6变成5 ,可以看图) (1,9)就成了(1,2)横纵坐标小的是它的层级。E.可以放弃线性做法,直接二分答案(墙的长度)复杂度为 O(n*log(x)) ,在二分答案时,如果遍历到当前的数小于mid,累加mid - a[i],如果和大于 x(给的水不够填注),说明墙高了,向左,反之亦然。F.我的做法是先将所有合法的段全部存储,然后利用前缀和二分答案,二分时便利所有段。
2023-10-07 11:25:28 155 1
原创 详解单调队列以及deque的简单使用
单调队列是一个较为基础的算法思想,用的频率不算太高,但因为其是许多高级算法的基础,所以仍有必要掌握好。在c++的容器中,deque可以很好的来使用单调队列算法。int x=1;d.front();//返回队列中第一个元素d.back();//返回队尾元素//去除第一个元素//去除队尾元素//从队尾添加元素//从队头添加元素。
2023-01-16 10:44:42 277 1
输入字符串和一个整数,结束不了循环
2022-09-26
小车运动在二维平面直角坐标系问题(c语言)
2022-01-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人