AtCoder的一些刷题
题目
无_问
这个作者很懒,什么都没留下…
展开
-
atcoder046C - AtCoDeer and Election Report
题目:C - AtCoDeer and Election Report C-AtCoDeer题意很明显,每次给出一个比例,要求两个数在不能减少的基础上,以为最小的变化形成这个比例.思路:让上一次的 x,y:x/y=n*(a/b) (a,b就是题目中的T和A),这里需要求的是n最小能取多少。可以选择从1开始枚举直到na>=x&&nb>=y但是这样做时间复杂度太高了,而且没必要.可以让n=max(x/a,y/b),再判断一下na与x大小,nb与y的大小.#include&l原创 2020-06-04 16:54:34 · 398 阅读 · 0 评论 -
Atcoder 045C - Many Formulas(二进制枚举)
在给定的一段数字间添加+号构成等式,再求和。求所有可能的等式的和。每两个数字之间要么有+要么没有+,这可以对应于“1”和“0”。所以这个题就一个怎么放“1”的问题了。假设十个数1 2 3 4 5 6 7 8 9 0那么这十个数正好有9个空可以放“1”和“0”。(1,0分别代表有+号和无+)。那9个空的放法不就是29(即000000000~111111111),29才512。枚举每一种情况时间也不多。#include<bits/stdc++.h>#define sc scanftypede.原创 2020-05-27 17:38:58 · 296 阅读 · 0 评论 -
AtCoder-ABC 043C C- Be Together(平均数,暴力)
题目:Be Together题意很明确就是把一个数组中每个数都变成相等的,且变化的数值尽量小。解法一:看到这题我第一反应想到是平均数,这样每个数的变化相对来说会比较小.但是计算平均数又有个问题了,设sum为数组的总和,如果sum%n==0那好说,可是sum%n!=0呢,到底向上取整还是向下取整呢.这个取决数组了.所以分清况计算一下就行了.(之前想当然的向下取整WA了几发)#include<bits/stdc++.h>#define ll long longconst long doub原创 2020-05-21 21:19:04 · 331 阅读 · 0 评论