摘要: 链接:Miku、多组数据(蓝题和紫题的区别就是多组数据) 非常显然的贪心思路就是能放就放,放满了然后把下一次使用间隔最久的拿走、 但是这样会有一个问题,如果它已经进去了怎么办, 直接continue会wa掉,因为即使已经有了,我们还是应该更新一下下一个的值(易证) 那么该怎么办呢 if(pl[p[i 阅读全文
posted @ 2020-07-21 21:59 Simex 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 链接:Miku 链表存图,但是要注意创造出来个0和n+1号坑,这会方便我们后续处理的 贪心的部分就是选择最高的,然后把两边的去掉 等等,我反悔了咋办,我觉得选两边的更好!(这里有一个问题,要不都选,要不都不选,这是可以证明的) 那么我们就把两边和中间拼成一颗巨树,他的价值是两边之和-中间的(这样再选 阅读全文
posted @ 2020-07-21 18:23 Simex 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 链接:Miku 在做这个题之前我做了1168,所以该出来了个这 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> using namespace std; priority_queue <int,vecto 阅读全文
posted @ 2020-07-21 14:11 Simex 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 链接:Miku 对顶堆做法 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> using namespace std; priority_queue <int,vector<int>,greater<int 阅读全文
posted @ 2020-07-21 12:17 Simex 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 链接:Miku 一道巨大的模拟,因为每次都是从第一个开始干并且有顺序,那么就该用优先队列了 顺序问题只要重载一下运算符即可 CPU的任务如果干了一部分后被踢出去了,又轮到它的时候它会接着干而不是从头开始 #include<iostream> #include<cstdio> #include<alg 阅读全文
posted @ 2020-07-21 10:18 Simex 阅读(123) 评论(0) 推荐(0) 编辑