
codeforces
文章平均质量分 55
题解
-珂朵莉-
0.0
展开
-
Codeforces Round #773 (Div. 2) A-C
给出大小为n的数组和倍数x,如果数组中的两个数字满足倍数x的关系那么就可以把他们组合到一起。如果数组中的一个数字在数组中找不到满足x的关系了,就要添一个数字给它组合起来,输出最少要添多少个数字才能把数组中的所有数字组合在一起。给出三角形的三个顶点,问三角形的三条边上的点是否可以和y=0连成一条直线,这条直线不能穿过三角形内部。问三角形的边上存在这样一条直线的点的总长度是多少。给出一个长度为n的数组,输出将这n个数字全部分配给k个孩子(k的大小为1-n)得到的这k个孩子不同的ai数量的和的最小值。原创 2022-02-24 12:31:11 · 478 阅读 · 0 评论 -
Codeforces Global Round 19 A-D
因此只有除了两边中间所有的石子堆数量全是1的时候才是-1(只要某个石子堆的数量大于等于2,它就能移出1来,循环下去把所有的奇数石子全移动到两边)当然不要忘了n=3的情况,只要中间是奇数答案就是-1。麻烦的公式推完后发现实际上就是交换ai和bi,求ai和的平方+bi和的平方的最小值和另一个式子(这个式子和交换没有关系,它的值不会变)。有n堆石块,要将中间所有的石块都移到两边,移动方法为对于i<j<k的位置,可以拿走j位置的2个石块分到i和k位置上,输出最小移动次数,如果不能移动则输出-1。原创 2022-02-13 21:14:03 · 605 阅读 · 0 评论 -
Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2)
C等我再看看能不能做出来。A. Divide and Multiply给出几组数组,对于每组数组可以选取两个元素,其中一个除二,另一个乘二,输出通过此操作使数组之和最大的结果开始用的排序,后来老是wr,看了下范围直接用两重循环吧。遍历数组每次选定一个要乘2的数,其他的都除二。通过比较这些情况最后得出一个最大的和。#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll原创 2021-11-30 00:55:20 · 351 阅读 · 0 评论 -
Educational Codeforces Round 117 (Rated for Div. 2) A-C
比赛的时候没做出C来,是个简单的二分,有点可惜。后来用二分法做了一下也做出来了,感觉是能力范围之内的题…A. Distance有A.B.C三个坐标点,A为(0,0),给出B的坐标点,要求满足两个式子:d(A,C)=d(A,B)/2 d(B,C)=d(A,B)/2 如果能找到C就输出任意一个满足答案的坐标,如果不能找到则输出-1。在编程中除特殊情况外尽量不要出现除法,随时可能会导致错误。把2挪到式子左边比较好,坐标的范围也很小,直接遍历查找就可以了。#include <bits/stdc+原创 2021-11-23 20:08:22 · 727 阅读 · 0 评论 -
Educational Codeforces Round 122 (Rated for Div. 2) A-D
除夕夜受苦了属于是原创 2022-02-02 13:01:36 · 862 阅读 · 0 评论 -
Hello 2022 B. Integers Shop
答案最多是剪两次的情况,一次剪r最大的时候,一次剪l最小的时候,剩下的中间部分会直接赠送给我们,然后我们找到价格最小同时又能覆盖到最小的l到最大的r部分的情况就是答案。有条线段,用c价格的钱可以买下l到r之间的整数,给出n组数据,输出能得到最多整数的情况需要的花费,如果有相同整数的情况则输出花费较小的值,同一个整数只能获取一次。更可气的是B差一点就ac了,如果再多给我几分钟那我就直接起飞了,可是并没有,所以我坠落了。我用的是贪心+分类讨论,代码极繁琐,肯定有大佬的要比我的简单很多。原创 2022-01-04 02:10:26 · 774 阅读 · 2 评论 -
Codeforces Round #767 (Div. 2) A-D
给定一个l和r,对l-r进行k次操作(该操作每次取出l-r来的两个数,整合出一个产品,再放回去)进行k次操作后如果gcd(剩下的数)大于1,则输出yes,反之则no。思路:对于一些连续的数字,若其中存在奇数则gcd必为1,所以每次操作就是用一个偶数和奇数整合出一个偶数的产品,这样问题就简化成了l-r中奇数的个数和k的关系了。给出n个长度不超过3的字符串,依次序连接,我们可以删除几个字符串但不能是全部,只要通过删除把剩下的连接成回文串,那么就输出yes,反之no。有点想法,但是感觉会超时。原创 2022-01-23 22:40:13 · 248 阅读 · 0 评论 -
Codeforces Round #755 (Div. 2, based on Technocup 2022 Elimination Round 2) A-C
aik, 注意数组a的下标是i1–ik不是1–k,将数组a和数组b排序,只要对应位置数组b和数组a元素的大小差的不是0或1,那都不能转化(如果相差0可以不变,如果相差1就加1,题目中只有不变和加一这两种转变方法)。这题真的有毒,我本来以为是给一个矩阵,要往里面涂色,求使相邻颜色不同所需要涂的最少方块。结果它其实还可以剪,就随便剪。写一写就知道全剪成1 * 3的矩阵是最少的情况,如果还有剩余就用1*2去剪。所给公式为(x/u)+(y/v)=(x+y)/(u+v),只要把这个公式化简就可以直接做出来了。原创 2021-11-15 13:54:46 · 837 阅读 · 3 评论 -
Codeforces Global Round 17 A-C
菜鸟第一次打Global Round,之前虚拟的做了下16的,感觉前四道都很简单,没想到这次比16难那么多…A. Anti Light’s Cell Guessing给出n*m的网格线,其中隐藏了一个坐标,每给计算机一个坐标,计算机会回馈你一个曼哈顿距离,即 |a1−a2|+|b1−b2|,输出在网格线中找出隐藏坐标所需最少的点的数量。大坑题,麻了,我很快就想到如果行和列有1的话1个坐标就够了,其余情况都是2,结果就一直wr,我完美的越过了1 * 1这个特殊情况。在接下来的一个小时中我重复着读题和举例原创 2021-11-24 20:24:46 · 406 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2) A-C
D的难度跨度太大了,先不写了。A. Long Comparison给出一个数字x1,后面添加p1个0,一个数字x2,后面添加p2个0。比较两个数字的大小,输出比较的情况。x和p都是10的6次方的范围,直接乘肯定炸,那我们肯定是一边比一边乘,分情况讨论。1.如果后面加0的个数相同,那么只要比较x1和x2的大小就可以了2.如果加的0个数不同,我们要再分两种情况讨论,具体的看代码吧。#include <bits/stdc++.h>using namespace std;typedef原创 2021-12-04 14:51:14 · 481 阅读 · 0 评论