摘要: tags: 贪心 date: 2019 4 4 jag2017autumnJ Farm Village 题面 "题目链接" 翻译 数轴上有 n 个村庄,每个村庄可以生产两个单位的粮食。在每个村庄生产一单位粮食有一定的代价。运输粮食的代价就是运输的距离。求最小代价使得每个村庄都有 一个单位的粮食。 题 阅读全文
posted @ 2019-04-04 21:23 yzhx 阅读(196) 评论(0) 推荐(2) 编辑
摘要: 题解 "传送门" ~~按照套路~~ 先把区间按左端点排序 然后再来思考怎么使最小值最大??? . . . 想到了啥??? 二分答案!!! 所以思路就很清晰了 先二分答案 对于每个二分出来的值去check: 1.扫一遍点 2.对于达不到这个值的每个点,把区间按右端点从大到小依次加上,知道该点的值满足条 阅读全文
posted @ 2019-04-04 17:21 yzhx 阅读(113) 评论(1) 推荐(2) 编辑
摘要: 题解 传送门 对于每个小矮人,一旦他出去浪,就再也回不来了 所以肯定要让不容易出去的,先出去浪 关爱老幼病残孕及带小孩的乘客 所以我们按小矮人的身高+手长排遍序 因为长得高的贡献可能更大 而手长的更容易出去 . . . 排完序后 直接跑遍背包,求出走掉i个小矮人所剩余的最大高度 代码 #includ 阅读全文
posted @ 2019-04-04 17:04 yzhx 阅读(131) 评论(0) 推荐(1) 编辑
摘要: 题解 "传送门" 既然题目要求的是差值 所以对于减数和被减数同时加上一个相同的数是毫无影响的 (详情参考人教版六年级上册数学教材) 所以不妨把边权分成两半 分别加给两个顶点 然后,直接每次选最大的点就好了 代码 cpp include using namespace std; define re r 阅读全文
posted @ 2019-04-04 16:33 yzhx 阅读(96) 评论(0) 推荐(1) 编辑
摘要: 题解 "传送门" 其实只要找差距最大的逆序对就好了 答案就是此逆序对的差 /2 代码 (代码很短) cpp include using namespace std; define re register define ll long long define get getchar() define 阅读全文
posted @ 2019-04-04 16:00 yzhx 阅读(101) 评论(0) 推荐(1) 编辑
摘要: "传送门" 题解 既然是选取区间,没说顺序 肯定先排遍序 ~~都是套路~~ 那么按什么排序呢??? 为了方便处理 我们把区间按左端点从小到大排序 把关键点也按从小到大排序 假设当扫到 $i$ 点时,i 点之前的点都已处理完毕 (已达上限,或是覆盖了的区间全部取了) 既然要选的区间多 所以需要选的区间 阅读全文
posted @ 2019-04-04 15:45 yzhx 阅读(139) 评论(0) 推荐(1) 编辑