victor的贪心专练
收集各种贪心的题目
少侠,慢点走
与其在失败后后悔,不如在失败前成功
展开
-
D. Vasya and Arrays(贪心)
题意给你两个数组长度分别为n,m;有这么一种操作,用某个数组的某个子区间元素之和代替这个子区间,这样使得数组长度减少,两个数组都可以进行问你最后两个数组一摸一样的时候,最大数组长度是多少?如果无法使两个数组一摸一样输出-1分析先判断开始数组总和是否相等,不相等是不可能最后两个数组一摸一样的从头和尾两个位置判断是否相等,相等继续如果不相等统计两个数组区间的长度,在比较大小,进行到最后ps...原创 2019-05-30 21:27:01 · 357 阅读 · 0 评论 -
1085C - Connect Three(思维/贪心)
题目给了三个点的坐标,问三个格子可以互相到达最少需要多少格子。首先先将3个点的坐标排序。然后模拟,从A走到B,从C走到B,把经过的点放到set里边。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 3e6 + 7;//char str[maxn][maxn];...原创 2019-05-25 00:12:35 · 299 阅读 · 0 评论 -
Codeforces Round 56-C. Mishka and the Last Exam(思维+贪心)
题解:题目大意是说b[i]=a[i]+a[n-i]的值,并且要保证是递增的,我们可以想,让左边的尽可能小,并且比右边的小,我们就可以去他左边的和右边较小的最大值即可,需要注意的是数据范围是 long long int型的代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){...原创 2019-05-23 00:15:08 · 96 阅读 · 0 评论 -
A. Sum in the tree树上贪心
树上贪心对于每个-1,如果有子节点则最大化,无子节点则最小化。题目大意:给出一棵树,每个节点到根节点的路径上经过的所有点的权值之和,其深度为偶数的节点的信息全部擦除了,也就是用-1表示,让你求最终所有点权之和(要求最小)具体思路:对于每一个节点,这个点到根节点的权值最小的时候是他的所有的根节点的最小值,然后一路更新上去就可以了,最后求值得时候,我们求父亲节点和子节点之间的差就可以了, 如果差...原创 2019-05-22 14:51:50 · 201 阅读 · 0 评论 -
C The Party and Sweets(思维 + 贪心)
题目链接题意:n个男孩,m个女孩,第i个男孩送出的最小糖果为b[i],送给m个女孩,第i个女孩收到的最小的糖果为g[i],且b[i],g[i],全部要取到,问送出的最少糖果题解:明显可以贪心做。先对b[i] 和g[i]进行排序,首先n个男孩肯定要送出b[i],可以求出此时最小的一个值∑b[i] * m 。同时所有的g[i]要取到,那么便遍历一遍g[i]-b[n-1],解释:首先要取最小,先满...原创 2019-05-14 16:29:00 · 500 阅读 · 0 评论