
codeforces
文章平均质量分 92
Cu1ii*
平凡的铁匠
展开
-
codeforces 1422 (#675 div2)
B. Nice Matrix传送门题意:给出一个矩阵,让你做变换(给任一元素加减1)使得矩阵任一行列均为回文,求出最少的变换次数.因为数据很小,而且我们发现,枚举一个点,需要把他对应的四个角都要求出来,所以我们直接暴力枚举左上四分之一部分就可以了,但是要注意,如有奇数行或者列出现的时候,枚举的时候要加上,并进行特判借一个图图片地址中间红色就是特判区域#include <iostream>#include <algorithm>#include <cstd原创 2020-10-18 11:11:23 · 184 阅读 · 0 评论 -
CF1203 兼第五次训练赛(B)
CF 1203 Equal Rectangles题意:先给出一个整数n,然后再给出4*n个整数,判断是否能组成n个面积相等的矩形。思路:先讲数组进行排序,然后将第一大和最小的边进行组合,然后是第二大和第二小…以此类推,但是期间要注意检验每次配对的数字是否都是成对出现的,若是有反例,输出NO,在定义一个变量去比较每次的面积是否相等,若是出现不想等的情况,输出NO,若是所有情况都成立则输出YES...原创 2020-02-20 18:05:23 · 117 阅读 · 0 评论 -
CF1203 兼第五次训练赛(A)
CF 1203 A Circle of Students题意: 给定一串数字,判断是否可以从某点开始以顺时针或逆时针转一圈的路径上,满足单调递减或递增。思路:(一)暴力模拟将所得字符串复制在原串后面,开始从头循环,遇到1时,先向右进行验证,验证右边的n位数字是否是从1开始单调递增,若符合输出YES,如若不符合,从1处向左循环验证是否是从1处单调递减,这种情况就类似于 5 4 3 2 1。...原创 2020-02-20 01:46:18 · 170 阅读 · 0 评论 -
CF1203 兼第五次训练赛(F)
CF 1203 Boxers题意:n个拳击手,每个体重都可以减一 加一 或不变,问该怎么操作才能使不同体重拳击手数量最多。思路:贪心思想,先记录每个体重有多少人,一个体重最多能扩展成3种体重,所以从小到大开始要先将体重-1看是否已经存在,若存在,则不变,若原体重存在则判断+1是否存在,若都不存在就将该体重进行标记,若是从大到小循环,则是优先级反过来。解释为什么要向一端移动,因为要尽可能给...原创 2020-02-21 23:03:37 · 138 阅读 · 0 评论 -
CF1203 兼第五次训练赛(G)
CF 1203 Complete the Projects (easy version)题意:给n组数据和一个初始值,每个任务都有分数到达要求才能进行,完成一个任务相应的加减分数,并且要求不论何时该分数不能小于0,求是否能够完成所有任务。思路:先利用贪心,把所有加分为正的任务从小到大完成,若有无法完成的任务,则输出NO,再将加分为负的按照完成该任务所需门槛与所加分的和,从大到小进行排序,依...原创 2020-02-23 20:01:56 · 130 阅读 · 0 评论 -
CF1203 兼第五次训练赛(D,E)
CF 1203 Remove the Substring (easy/hard version)题意:给两个字符串,第二个是第一个的字串,但是注意,在第一个字符串中一定包含至少一个该子串,但该子串在第一个字符串中不一定连续,求删除最长的连续字符且能使删除后依旧包含该子串的字符个数。思路:拿两个字符串将最先遇到的一个子字串每个位置记录,再用另一个将最后遇到的该子字符串每个位置记录下来,先比较...原创 2020-02-21 21:07:15 · 163 阅读 · 0 评论 -
CF1203 兼第五次训练赛(C)
CF 1203 Common Divisors题意:求n个数的公共因数。思路:本来想着每个数的因子存起来,然后后面数的因子在原数组中就保留,没有就舍弃,但是数据太大时间会超限,所以可以求出n个数的最大公因数然后求其因子个数,求GCD的因子数时需要优化,不然也会时间超限。这里说明一下,求n个数的最大公因数只要求第n个数和前n-1个数最大公因数的最大公因数即可,数论内容不懂证明,只会结论。...原创 2020-02-20 18:20:24 · 141 阅读 · 0 评论 -
Codeforces Global Round 14
Codeforces Global Round 14A.Phoenix and Gold题意: 给定n个数, 问按照什么顺序从左到右将这n个数加起来, 期间不会出现和为x的状态思路: 首先求一遍数组的和, 如果等于x那么加和过程中一定会出现x这个状态,否则就将原数组从小到大排序, 然后从左到右依次加和,若中间和第一次出现了x, 那么就将当前的数先减去, 加上数组的最后一个,之后再将剩下的依次加起来即可, 如果加和过程中没有出现和为x的情况, 那么就皆大欢喜直接按照这个顺序输出即可代码#incl原创 2021-05-03 11:06:17 · 273 阅读 · 0 评论 -
Codeforces1516 C. Baby Ehab Partitions Again(思维,dp, 数学)
题目链接题意:给定一个序列, 若这个序列任意划分出的两个集合的和都不相等,那么称这个序列为好序列, 否则就判断是否可以通过删除某个值来将其转换为好序列思路:对整个序列求和得到sum, 若sum为奇数, 那么无论如何划分, 最后都会划分为一个奇数一个偶数的和, 所以此时该序列一定为好序列若sum为偶数, 就需要判断是否存在一个子序列可以组成 sum2\frac{sum}{2}2sum 这里需要利用01背包进行处理判断是否可以构成 sum2\frac{sum}{2}2sum一、若不能构成sum2原创 2021-05-02 01:53:24 · 414 阅读 · 5 评论