首页 > 除2!
头像 Dear㉿You
发表于 2020-11-13 22:05:38
除2! 分析 贪心思路:每次选一个偶数出来,如何才能使总和的减少量最大?明显,取出最大的那一个偶数,除二,直到所有的数不能被2整除或是k=0 代码 /* (写点什么吧...) */ #include<bits/stdc++.h> #define R register #define 展开全文
头像 Bernard5
发表于 2020-11-14 02:38:43
本题需要用堆来动态管理最大的偶数。 可以用优先队列或multiset实现。 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define sc(x) scanf("%lld", &(x)) 展开全文
头像 拼命坚持ing
发表于 2020-11-13 22:01:37
链接:https://ac.nowcoder.com/acm/contest/8563/A 来源:牛客网 题目描述 给一个数组,一共有n个数。 你能进行最多k次操作。每次操作可以进行以下步骤: 选择数组中的一个偶数ai,将其变成 ai/2 。 现在你 展开全文
头像 肖先生~
发表于 2020-11-30 21:28:22
想要一个房间,带有落地窗。摆一张双人床,一个小书桌。早晨醒来,喜欢的人睡在旁边,随时看窗外风景,有灵感了便在小书桌上写写画画,没事的时候摆弄摆弄花草,傍晚 灯光昏暗透过落地窗可以盯着夕阳发呆 想想明天吃什么。平平淡淡地过完一生,碌碌无为也没有关系。 ​ 展开全文
头像 LavenderPikachu
发表于 2020-11-13 22:49:01
//萌新的第一篇题解//只能想到大佬们眼中的弱鸡暴力算法//利用优先队列排序进行贪心模拟//既然奇数是无法进行操作的自然就想到让当前偶数列最大值尽量的小#include<iostream>#include<queue>using namespace std;#define I 展开全文
头像 あおいSakura
发表于 2020-11-14 12:04:48
题目链接:https://ac.nowcoder.com/acm/problem/213140 到主站看:https://blog.csdn.net/weixin_43346722/article/details/109688868 题目 给一个数组,一共有 个数。你能进行最多 次操作。每次操作 展开全文
头像 青菜_VC
发表于 2020-11-13 23:41:33
2020-11-13牛客挑战赛45-A [by_041] 这道题首先引起我注意的是:偶数,最值等关键词 于是我的第(tian)一(zhen)个(de)反应是开数组,筛奇数,排序 然后因为每次操作是在原来的基础上减掉最大偶数的一半,所以只要预存下原来所有数的sum后剪掉砍掉的偶数的一半就行 本 展开全文
头像 royzhu
发表于 2020-12-04 09:40:52
读完题,我先想到贪心。仔细一想我觉得不对,k竟然有1e9.用优先队列做岂不是要T飞了。然后想到用,先排序再用两个队列维护。仔细一想,时间复杂度还不是跟k有关。回想:每个数最多被除31次(ai<=1e9)总共被除nlog(1e9)(底数为2)每次插入or删除要o(logn)总时间复杂度有点慢,但 展开全文
头像 BNDSBilly
发表于 2020-11-30 21:50:50
思路:模拟 根据题意,我们需要在不多于 次操作中,每次选择尽可能大的偶数,将其减少为原来的一半,从而使全局元素和 降低,由于需要动态存储数组元素并维护其最大值,所以利用优先队列 ,将所有元素放入优先队列,并维护一个变量 记录元素值为偶数的个数,每次选择一个偶数并降为一半后,判断新得到数值的奇偶 展开全文

等你来战

查看全部