洛谷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 ...
随机推荐
- IoC之AutoFac(三)——生命周期
阅读目录 一.Autofac中的生命周期相关概念 二.创建一个新的生命周期范围 三.实例周期范围 3.1 每个依赖一个实例(InstancePerDependency) 3.2 单个实例(Sin ...
- 【C#】C#线程_I/O限制的异步操作
目录结构: contents structure [+] 为什么需要异步IO操作 C#的异步函数 async和await的使用 async和Task的区别 异步函数的状态机 异步函数如何转化为状态机 ...
- linux驱动面试题整理
1.字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件? 答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件. 评:这只是其中一种方式,也 ...
- AICODER官方小程序和公众号上线了
小伙伴们,新年好. 在新的一年里,AICODER将继续为大家提供优质的视频资源,为大家提供一个优质的问题解答平台,并且开始提供优质的职业提升类的优质培训资源. 感谢各位一直以来的支持和关注.请加一下A ...
- python3 log 日志记录
在调试的过程中,很多地方需要用到日志 如下 import logging LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s&qu ...
- Caffe多线程环境下检测缓慢问题
对于多线程运行环境以及Web框架下(其实也相当于多线程)Caffe运行缓慢的原因可能是仅在某一个线程中设置caffe.set_mode_gpu().但是该操作不会影响其他线程,此时其他线程还是CPU模 ...
- Hadoop、Spark 集群环境搭建问题汇总
Hadoop 问题1: Hadoop Slave节点 NodeManager 无法启动 解决方法: yarn-site.xml reducer取数据的方式是mapreduce_shuffle 问题2: ...
- MySql快速插入以及批量更新
MySql快速插入以及批量更新 插入: MySql提供了可以一次插入多条数据的用法: [sql] INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6), ...
- apache 压力测试ab
1.安装了apache服务器 2.进入命令行 3.模拟并发级别为100,请求数为1000个的api数据请求数量测试
- 解决webdiyer:AspNetPager分页控件在IE模式下点击页号不能翻页的问题。
在网站根目录下新建ie.browser文件, 然后用记事本打开. 将以下代码粘贴进去,保存即可,目的是让其与IE11的 UserAgent 匹配,使 .net framework 认识这是一个已知的浏 ...