二分-三分-贪心
ID_BePosit
如果今天不比昨天多做一点什么,那么明天还有什么意义。
展开
-
C - Greedy Arkady-(贪心思维题-)
C - Greedy Arkady CodeForces - 965C #include<bits/stdc++.h>using namespace std;typedef long long ll;ll n,m,k,d;ll l;ll ans;int main(){ cin>>n>>k>>m>>d; ...原创 2018-08-10 10:38:45 · 309 阅读 · 0 评论 -
B - Sticks Problem POJ - 2452 -二分答案-RMQ预处理
B - Sticks Problem POJ - 2452 题意: 给出一个数组a,求最大的j-i满足 i<j && a[i] ... a[j]中最大值为a[j],最小值为a[i]。 思路: 可以枚举左标位置i,然后二分找出满足的最远的j,只需要满足在i-j区间内最小值是a[i]即可,需要RMQ查询最小值验证。 原因是随着区间变大区间最小值会变小或不变...原创 2018-12-20 20:04:12 · 269 阅读 · 0 评论 -
Light Bulb ZOJ - 3203-三分
Light Bulb ZOJ - 3203 题意:求最值。 思路:由于是单峰函数最值问题,不方便求解极值点可以三分极值点。 #include<bits/stdc++.h>using namespace std;int t;double h,H,D,L,R,ans,lm,rm;double ok(double mid){ double ret;...原创 2018-12-19 22:28:44 · 189 阅读 · 0 评论 -
P2571 [SCOI2010]传送带-三分套三分
P2571 [SCOI2010]传送带 题意: 思路 :分析一波发现,当从AB传送带上离开的位置坐标距离A的远近 与最终的时间 是一个单峰函数,同理 在CD上的点也是单峰函数,所以进行三分一下AB上的坐标 ,check时再对CD上的坐标进行三分。 #include<bits/stdc++.h>using namespace std;double ax,ay,bx,by...原创 2018-12-19 21:38:52 · 241 阅读 · 0 评论 -
P2512 [HAOI2008]糖果传递-环形纸牌
P2512 [HAOI2008]糖果传递 思路 :无论怎么糖果转移一定会有一个位置不是双向转移的,所以可以把环段位链然后用 链的均分公式求解, 这样不同断开位置会有不同结果公式为 k为断开位置,显然在S前缀和数组中 K取中位数时最小。 #include<bits/stdc++.h>using namespace std;#define maxn 1234657...原创 2018-12-19 18:13:12 · 222 阅读 · 0 评论 -
P1031 均分纸牌-应该算贪心
P1031 均分纸牌 假设总和为TT,有MM张纸牌。设ave 为最终平均数,对于第i个人来说,如果C[i] < ave 我们考虑整体和隔离的思想。将前i个看做一个整体, 显然前i个内部的均分是不会改变其整体结构的,因而对于该体系来说,想要达到平均数结构, 就必须与下一个体系交换足够的纸牌,而交换数量就是|G[i]−i⋅ave|求和,其中G[i]是前缀和。 #include&l...原创 2018-12-19 17:41:45 · 178 阅读 · 1 评论 -
transform-二分-尺取-贪心
https://ac.nowcoder.com/acm/contest/140/G 题意:在一个数轴上有n个集装箱,第 i 个集装箱的位置为x[i],且在集装箱内装有a[i]件货物。 现在将这些集装箱内的货物进行移动(将一件货物从第 i 个集装箱移动到第 j 个集装箱的花费就为2*abs(x[i]-x[j]) )。 求在总花费不超过T的情况下,最多能将多少货物移动到同一个集装箱内。 思路:...原创 2018-12-18 17:13:25 · 347 阅读 · 0 评论 -
D-money-贪心
https://ac.nowcoder.com/acm/contest/140/D 一共有n件商店,按顺序从1-n到每个商店买卖东西的价格和不同,白兔想用差价挣钱。 每次只能携带一种物品。问白兔最多赚多少的钱,和对应的交易次数 各个不下降子序列最后一个元素减第一个元素的和即为最优解。 #include<bits/stdc++.h>#define maxn 100005...原创 2018-12-18 17:14:09 · 182 阅读 · 0 评论 -
C. Multi-Subject Competition—贪心
http://codeforces.com/contest/1082/problem/C 题意:有N个人M门课,给出每个人学习的课的种类x,掌握的水平y,然后选择一部分人使得分数最高, 选择规则为,要么不选人,选人的课人数就得相等。 思路:桶标记一下每一个课程的人数,然后建立一个类似桶 的 优先队列,把每一门课的掌握程度 push进去 然后在建一个桶,含义是最终决定派人的课程,每门课...原创 2018-11-29 01:00:51 · 395 阅读 · 0 评论 -
Supermarket -贪心+priority-queue
Supermarket POJ - 1456 #include <iostream>#include <queue>#include <cstdlib>#include <iostream>#include <algorithm>using namespace std;#define maxn 11115...原创 2018-09-23 15:28:15 · 178 阅读 · 0 评论 -
B - 最少拦截系统-贪心
B - 最少拦截系统 HDU - 1257 7,6,5,6,3,2,4,1 答案是3吗?其实对于这组数据,只要两套就够了。 第一套拦截系统:7,6,5,4,1 第二套拦截系统:6,3,2 这是毫无疑问的,对于剩下的两个数据,继续用第一套系统就可以了 #include <bits/stdc++.h>using namespace std;#def...原创 2018-09-02 11:46:07 · 298 阅读 · 0 评论 -
Subsequence -尺取法
Subsequence POJ - 3061 主要思想为:当a1, a2 , a3 满足和>=S,得到一个区间长度3,那么去掉开头a1, 剩下 a2,a3,判断是否满足>=S,如果满足,那么区间长度更新,如果不满足,那么尾部向后拓展,判断a2,a3,a4是否满足条件。重复这样的操作。 个人对尺取法的理解:当一个区间满足条件时,那么去掉区间开头第一个数,得到新区间...原创 2018-08-28 21:16:03 · 456 阅读 · 0 评论 -
A - Longest k-Good Segment-尺取
A - Longest k-Good Segment CodeForces - 616D 题意:寻找一个保持有k个不同的数字但是长度最长的序列 #include <bits/stdc++.h>using namespace std;#define maxn 1000006int vis[maxn],b[maxn];int n,k,ansl,ansr;i...原创 2018-08-28 20:25:35 · 250 阅读 · 0 评论 -
Talented Chef -最优-max(ret,maxn)
每次如果恰好使得m个数-1.那么次数为sum / m。如果最后一次不是m个数,则需 + 1 eg : 1 2 3 4 5 6 7 8 9 10 如果未取到最后一次,需要做的菜 < m,则 结果为 maxn(最多步骤的那道菜) eg: 1 1 1 1 1 1 1 1 1 10 #include <iostream>#incl...原创 2018-08-15 20:34:47 · 192 阅读 · 0 评论 -
P1248 加工生产调度-贪心
P1248 加工生产调度 题意:某个产品i在A、B两车间加工的时间分别为Ai、Bi。怎样安排这n个产品的加工顺序,才能使总的加工时间最短。 这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在A、B两车间加工完毕的时间。 思路:构造C数组c[i]为取a[i],b[i]小的时间,小-大排序,然后构造加工顺序,根据排完序的数组C判断 一下当前值是 A还是B如果是A则从前往后放,是...原创 2018-12-18 20:33:30 · 380 阅读 · 0 评论