![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
yyyyyuanxian
超爱吃曲奇
展开
-
# 拓扑排序 hdu4857逃生
题目链接 题意 n个人要出逃,m个约束条件,a b表示a这个人必须在b这个人之前出去,同时序号小的人尽量前面出去。求符合要求的一个顺序。 思路 拓扑排序:将有向无环图G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。这里写一个拓扑排序还不够,因为题目还要求序号小的人排在前面,单纯用一个优先队列是得不到正确答案的,因此采用建反图的思路然后把答案逆序输出。 代码 #include<iostream> #include<原创 2021-01-10 14:49:51 · 92 阅读 · 0 评论 -
# 前缀和 332B. Maximum Absurdity
题目链接 题意 给定一个含有n个数字的序列,从中找到两段长度为k的不重叠的连续序列,使得这两段序列之和最大。 思路 先利用前缀和求出每段长度为k的大小用inte数组存储,然后对inte从后往前以长度为2*k开始遍历,第一个if用来更新区间为k的最大值,第二个if用来更新两个k区间的最大值。 代码 #include<iostream> using namespace std; #define ll long long ll x[200005],anti[200005]={0},inte[20000原创 2021-01-05 17:02:33 · 332 阅读 · 0 评论