![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 53
zehong1995
这个作者很懒,什么都没留下…
展开
-
51 nod 1625 夹克爷发红包【贪心、二进制枚举】
1625 夹克爷发红包题意:1.给你一个 nn 行 mm 列的二维矩阵,代表每个人的初始红包值。 2.夹克爷可以至多给 kk 行 / 列的每个人发红包,每一个价值为 xx,同时会覆盖掉初始红包。 3.求所有人的最大红包值总和。 4.数据范围1≤n≤10,1≤m≤200,1≤x≤109,0≤k≤n+m1\leq n\leq10,1\leq m\leq 200,1\leq x\leq 10^9,0原创 2017-08-16 14:42:27 · 217 阅读 · 0 评论 -
Exams(二分求左界+贪心)
用力戳我直达原题:D - Exams 题意: 有N天和M门课程。 接下来给你N天的行为,0表示这一天只能预习,[1,m]表示这一天可以考这门课(当然这一天你也可以选择不考或者预习)。 接下来给你M个数cost[i],代表第i门课需要预习cost[i]天才能PASS。 求从第一天起算,最少需要几天才能PASS所有功课,如果N天都PASS不了,则输出-1。 做法: 1.先判断用N天能否PASS,不能就原创 2017-08-04 10:55:46 · 248 阅读 · 0 评论 -
POJ 3273 :Monthly Expense【二分+贪心】
用力戳我直达virtual judge~ 题意:有N个farm,每个farm花销farm[i]元。要求分成M块,尽可能让每个块花销少,求M个块中的最大值。(最大化最小值) 做法:二分结果(左界),每次判断mid能形成几个块,如果cur > M,说明钱必须更大,让块变少(low = mid + 1);否则满足条件,继续寻找更小的值。 1 2 3 4 5 6 7 8 9 10 11 12 1原创 2017-08-04 10:54:26 · 160 阅读 · 0 评论 -
Codeforces Round #419 (Div. 2) C. Karen and Game【贪心】
C. Karen and Game题意:1.给你一个矩阵 2.每次可以给一行或一列减1 3.求减的最小次数思路:1.当矩阵的最小值 minmin 不为 00 ,且行列数不同时,行少每行减掉 minmin ,列少每列减掉 minmin 。 2.执行完第1步后,算是初始化完毕。接下来怎么减都无所谓了。只要最终能减完,那就成立,不然不成立。证明如下:(待补全)代码:#include <bits/st原创 2017-08-11 19:24:15 · 183 阅读 · 0 评论 -
Codeforces Round #401 (Div. 2) D. Cloud of Hashtags【模拟、贪心】
D. Cloud of Hashtags题意:1.给你 nn 串字符串,都是以#开头。 2.让你删除掉最少的一些字符,从而形成 nn 串字典序不递减的字符串。思路:1.贪心策略:从后往前推,即是形成字典序不递增的字符串,这样可以使得保留最多,即删除最少。 2.每次计算,只与后一列有关系。 3.直接比对模拟取子串就行了。代码:#include <bits/stdc++.h> using name原创 2017-08-12 00:37:42 · 202 阅读 · 0 评论 -
最小区间--单调队列+优先队列
给定k个有序数组, 每个数组有个N个元素,找出一个最小的闭区间,使其包含每个数组中的至少一个元素。 给定两个区间[a,b], [c,d]: 如果 b-a < d-c,则认为[a, b]是更小的区间; 如果 b-a == d-c,且a < c,则认为[a, b]是更小的区间。 输入样例 3 3 2 12 14 2 6 9 4 7 19 按元素大小扔进优先队列,每次弹出最小值...原创 2018-09-04 21:34:48 · 492 阅读 · 0 评论