
贪心
constbh
这个作者很懒,什么都没留下…
展开
-
hdu 3866(贪心)
给出一个物品的价格,和N个人。每个人最多凑a[i]的钱。问如何分配这N个人应该付的钱,使N个人出钱的差距最小。先算出平均每个人需要付多少钱,如果一个人没有那么多钱,就全付,然后记录差距,让后面钱多的人来填补。重复多次这种操作。具体看代码#include#include#includeusing namespace std;const int maxn = 10005;int p,原创 2017-07-26 17:50:22 · 205 阅读 · 0 评论 -
2017多校第6场1008
比赛的时候 一直用二分然后n^2去判断,无限tle。。。。看了别人写的代码,自己还是太蠢。。。看到求最大就一直去想二分了。tle后也一直没有换想法。。。这题可以用尺取发法写,枚举对称轴(注意分奇偶,这点在比赛的时候想到了,然而时间复杂度不够优秀)。把对称轴两边的区间的每个对应元素的查的绝对值,存起来,然后尺取去判断,真解法真是好。代码看了http://blog.youkuaiyun.com/f_z原创 2017-08-11 11:58:53 · 273 阅读 · 0 评论 -
51Nod 1272(思维题)
要在一个数列里面找一个数,与他后面比他大的数的距离最大。记录每个数字的位置后按照数字大小排序。然后从小到大更新最大值提示要用单调栈,可是想了半天也不会。。。。#include using namespace std;typedef long long ll;typedef pairint,int>pii;const int N=1e6+9;pii a[N];int原创 2017-08-18 11:57:42 · 239 阅读 · 0 评论 -
51Nod(1627)
贪心 区间技巧。#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair P;const int maxn = 100005;ll num[maxn];ll sum[maxn];P p[maxn];multisets;int main()原创 2017-08-14 12:15:58 · 277 阅读 · 0 评论 -
hdu5242(贪心&记忆化搜索)
先跑一遍dfs处理出每个点到跟能获得的最大值。然后按照这个值排序,按照这个顺序再去跑第二遍dfs算出这个点 到跟的价值,用过的点直接返回0,把结果保存在数组里,再次排序,取前K个就是答案。#include#include#include#includeusing namespace std;const int maxn = 100000+10;vectorG[maxn];stru原创 2017-10-02 17:21:18 · 299 阅读 · 0 评论 -
newcoder世界上最可爱的珂朵莉
题目描述我永远喜欢珂朵莉~! 有两个长为n的序列a[i]与b[i] 你可以把任意不多于x个a序列中的数变成y 你可以把所有序列b中的数减去一个非负数t 你可以把a序列和b序列分别任意打乱 要求对于1 满足a[i] >= b[i] 求t的最小值 输入描述:第一行三个数n,x,y之后一行n个数表示a序列之后一行n个数表示b序列输出描述:一原创 2017-11-17 21:21:28 · 750 阅读 · 0 评论 -
codeforces913C(贪心)
退役了好久没写题,今天晚上睡不着写一发.这题仔细一想其实不难,按照每个位的性价比排序,然后安最便宜的枚举,然后假设比当前位低的位不用,只需要买这一位就行(二进制就这样,而且题目说可以比给定的值大),更新答案.一发AC ,中间因为变量定义出了问题,调了一会儿#include#includeusing namespace std;const int maxn = 35;typede原创 2018-01-21 23:49:04 · 398 阅读 · 0 评论