洛谷P2949 工作调度Work Scheduling [USACO09OPEN] 贪心
正解:贪心+并查集(umm不用并查集也成qwq
解题报告:
水题?主要感觉想到了俩方法然后还只实现了一个,怕忘了所以想着开个新坑记录下qwq
然后先放下传送门QAQ(哦这题和supermarket,双倍经验qwq
第一个是贪心+单调队列,和蔬菜&supermarket这两题都挺像的一个想法,就是能往后安排往后安排,因此就先按时间排序然后用个priority_queue就过去辽
第二个是也是贪心但是也许复杂度好看些?不清楚诶QAQ就是用个并查集合并日期,就有点像那个,疯狂的馒头?好了没了,over,有时间再贴代码QAQ
算了先放下第一个的代码趴qwq第二个还没打等打了再放上来QAQ
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i) const ll N=+;
ll n,ans;
struct node{ll p,d;}wk[N];
priority_queue<node>Q;
bool operator < (node gd,node gs){return gd.p>gs.p;} ll read()
{
char ch=getchar();ll x=;bool y=;
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
} inline bool cmp(node gd,node gs){return gd.d<gs.d;} int main()
{
n=read();rp(i,,n)wk[i].d=read(),wk[i].p=read();sort(wk+,wk++n,cmp);
rp(i,,n){if(Q.size()>=wk[i].d){int t=Q.top().p;if(t<wk[i].p)ans+=wk[i].p-t,Q.pop(),Q.push(wk[i]);}else ans+=wk[i].p,Q.push(wk[i]);}
printf("%lld\n",ans);
return ;
}
然后关于方法二,,,,它只能过三个点,一个点RE其他点WA,,,然后supermarket的话从数据范围来说应该不会WA?然而我用的小号不能提交,,,QAQ
然后我就交到vjudge上
然后WA了
然后udebug上居然没有数据下
就很生气
就不想做了 咕咕咕
算了先放下代码存着8
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i) const ll N=+;
ll n,ans,fa[N],mx;
struct node{ll p,d;}wk[N]; ll read()
{
char ch=getchar();ll x=;bool y=;
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
} inline bool cmp(node gd,node gs){return gd.p>gs.p;}
inline ll fd(ll x){return fa[x]==x?fa[x]:fa[x]=fd(fa[x]);} int main()
{
while(cin>>n)
{
ans=;
rp(i,,n)wk[i].p=read(),wk[i].d=read(),mx=max(mx,wk[i].d);sort(wk+,wk++n,cmp);rp(i,,mx)fa[i]=i;
rp(i,,n){ll t=fd(wk[i].d);if(t==)continue;fa[wk[i].d]=wk[i].d-;ans+=wk[i].p;}
printf("%lld\n",ans);
}
return ;
}
QAQQQ
洛谷P2949 工作调度Work Scheduling [USACO09OPEN] 贪心的更多相关文章
- [luoguP2949] [USACO09OPEN]工作调度Work Scheduling(贪心 + 优先队列)
传送门 这个题类似于建筑抢修. 先按照时间排序. 如果当前时间小于任务截止时间就选, 否则,看看当前任务价值是否比已选的任务的最小价值大, 如果是,就替换. 可以用优先队列. ——代码 #includ ...
- 洛谷 P2949 [USACO09OPEN]工作调度Work Scheduling 题解
P2949 [USACO09OPEN]工作调度Work Scheduling 题目描述 Farmer John has so very many jobs to do! In order to run ...
- 洛谷 P2949 [USACO09OPEN]工作调度Work Scheduling
P2949 [USACO09OPEN]工作调度Work Scheduling 题目描述 Farmer John has so very many jobs to do! In order to run ...
- 题解 P2949 【[USACO09OPEN]工作调度Work Scheduling】
P2949 [USACO09OPEN]工作调度Work Scheduling 题目标签是单调队列+dp,萌新太弱不会 明显的一道贪心题,考虑排序先做截止时间早的,但我们发现后面可能会出现价值更高却没有 ...
- [USACO09OPEN] 工作调度Work Scheduling (贪心/堆)
[USACO09OPEN] 工作调度Work Scheduling 题意翻译 约翰有太多的工作要做.为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有10^ ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
- 洛谷P2460 [SDOI2007]科比的比赛(题解)(贪心+搜索)
科比的比赛(题解)(贪心+搜索) 标签:算法--贪心 阅读体验:https://zybuluo.com/Junlier/note/1301158 贪心+搜索 洛谷题目:P2460 [SDOI2007] ...
- 洛谷$P4040\ [AHOI2014/JSOI2014]$宅男计划 贪心
正解:三分+贪心 解题报告: 传送门$QwQ$ 其实很久以前的寒假就考过了,,,但那时候$gql$没有好好落实,就只写了个二分,并没有二分套三分,就只拿到了$70pts$ #include <b ...
- luogu P2949 [USACO09OPEN]工作调度Work Scheduling
题目描述 Farmer John has so very many jobs to do! In order to run the farm efficiently, he must make mon ...
随机推荐
- Nginx的location匹配规则
一 Nginx的location语法 location [=|~|~*|^~] /uri/ { … } = 严格匹配.如果请求匹配这个location,那么将停止搜索并立即处理此请求 ...
- [k8s]Docker 用户使用 kubectl 命令指南-unkown排错(kubelet端口解析)
参考:https://kubernetes.io/docs/user-guide/kubectl-cheatsheet/ https://k8smeetup.github.io/docs/user-g ...
- d3里的比例尺
// d3中的比例尺也有定义域和值域,分别是domain和range,开发者需要指定domain和range的范围,如此即可以得到一个计算关系: // 线性比例尺:能将一个连续的区间映射到另一区间,要 ...
- Object type TYPE failed to create with error
ORA-39083: Object type TYPE failed to create with error: ORA-02304: invalid object identifier litera ...
- 【转】WPF Template模版之DataTemplate与ControlTemplate的关系和应用(二)
1. DataTemplate和ControlTemplate的关系 学习过DataTemplate和ControlTemplate,你应该已经体会到,控件只是数据的行为和载体,是个抽象的概念,至于它 ...
- vlc-ts
https://github.com/jiayayao/vlc_2.1.0-vs_2010 https://wenku.baidu.com/view/a0634d26336c1eb91a375d70. ...
- Elasticsearch学习笔记——分词
1.测试Elasticsearch的分词 Elasticsearch有多种分词器(参考:https://www.jianshu.com/p/d57935ba514b) Set the shape to ...
- Java8学习笔记目录
Java8学习笔记(一)--Lambda表达式 Java8学习笔记(二)--三个预定义函数接口 Java8学习笔记(三)--方法引入 Java8学习笔记(四)--接口增强 Java8学习笔记(五)-- ...
- db2 执行计划
SQL 语句优化贯穿于数据库类应用程序的整个生命周期,包括前期程序开发,产品测试以及后期生产维护.针对于不同类型的 SQL 性能问题有不同的优化方法.索引对于改善数据库 SQL 查询操作性能至关重要, ...
- there was an error running the selected code generator unable to retrieve metadata for
there was an error running the selected code generator unable to retrieve metadata for PROBLEM: I ha ...