HDU 5695 Gym Class (拓扑排序+优先队列)

【Unity3D】关于unity中spriteAtlas的打包方案及使用时内存状态的多组对照实验 unity项目中使用精灵(Sprite)为了降低性能消耗,我们可以使用精灵图集(Sprite Atlas)技术,它能够将多个纹理合并成一个大纹理 阅读详情

Gym Class

Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 638    Accepted Submission(s): 248


Problem Description
众所周知,度度熊喜欢各类体育活动。
今天,它终于当上了梦寐以求的体育课老师。第一次课上,它发现一个有趣的事情。在上课之前,所有同学要排成一列, 假设最开始每个人有一个唯一的ID,从1到 N ,在排好队之后,每个同学会找出包括自己在内的前方所有同学的最小ID,作为自己评价这堂课的分数。麻烦的是,有一些同学不希望某个(些)同学排在他(她)前面,在满足这个前提的情况下,新晋体育课老师——度度熊,希望最后的排队结果可以使得所有同学的评价分数和最大。
 
Input
第一行一个整数 T ,表示 T(1≤T≤30) 组数据。
对于每组数据,第一行输入两个整数 N 和 M(1≤N≤100000,0≤M≤100000) ,分别表示总人数和某些同学的偏好。
接下来 M 行,每行两个整数 A 和 B(1≤A,B≤N) ,表示ID为 A 的同学不希望ID为 B 的同学排在他(她)之前。你可以认为题目保证至少有一种排列方法是符合所有要求的。
 
Output
对于每组数据,输出最大分数 。

Sample Input
  
3 1 0 2 1 1 2 3 1 3 1

Sample Output
  
1 2 6
 
Source

2016"百度之星" - 初赛(Astar Round2A)


题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5695

题目分析:用vector存先后关系,然后这里类似拓扑排序,用deg[x]表示x前必须有几个需要先放好,对于没有限制的情况,显然是大的放前面最优,因此用个优先队列维护一下即可

#include <cstdio>
#include <cstring>
#include <queue>
#include <vector>
#define ll long long
using namespace std;
int const MAX = 100005;
int n, m;
int deg[MAX];
vector <int> vt[MAX];
priority_queue <int> q;

int main()
{
    int T;
    scanf("%d", &T);
    while(T --)
    {
        scanf("%d %d", &n, &m);
        for(int i = 0; i <= n; i++)
            vt[i].clear();
        while(!q.empty())
            q.pop();
        memset(deg, 0, sizeof(deg));
        for(int i = 0; i < m; i++)
        {   
            int a, b;
            scanf("%d %d", &a, &b);
            vt[a].push_back(b);
            deg[b] ++;
        }
        for(int i = 1; i <= n; i++)
            if(deg[i] == 0)
                q.push(i);
        ll ans = 0;
        int mi = n;
        while(!q.empty())
        {
            int cur = q.top();
            q.pop();
            mi = min(mi, cur);
            ans += (ll) mi;
            int sz = vt[cur].size();
            for(int i = 0; i < sz; i++)
            {
                int to = vt[cur][i];
                deg[to] --;
                if(deg[to] == 0)
                    q.push(to);
            }
        }
        printf("%I64d\n", ans);
    }
}


SAP Fiori 会话超时全解析:从 Launchpad 到 Identity Authentication 的统一策略 SAP Fiori会话超时机制解析与配置策略 本文深入探讨SAP Fiori项目中的会话超时机制,分析其对系统安全和用户体验的双重影响。文章系统拆解了SAP Fiori Launchpad与SAP Cloud Identity Services之间的会话超时工作原理,重点介绍了两种超时机制:服务器驱动的超时(通过SESSION_TIMEOUT_STOP_DATA_REFRESH参数控制)和UI驱动的超时(通过SESSION_TIMEOUT_INTERVAL_IN_MINUTES参数控制)。文中结合制造业产线 阅读详情

相关推荐

proteus仿真51单片机操作指南:串口通信仿真配置详解

深入讲解如何在proteus仿真51单片机中实现串口通信,涵盖虚拟串口设置、电路连接与调试技巧,帮助开发者高效完成通信仿真验证。

weixin_36197669的博客 569

hdu-5695 Gym Class(贪心+拓扑排序)

题目链接: Gym Class Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description 众所周知,度度熊喜欢各类体育活动。今天,它终于当上了梦寐以求的体育课老师。第一次课上,它发现一个有趣的事情。在上课之前,所有同学要排成一列, ...

weixin_30940783的博客 266

DeepSeek赋能CAD:从API调用到智能设计工作流的实战指南

本文详细介绍了如何利用DeepSeek AI技术赋能CAD设计工作流,从API调用到智能设计优化的实战指南。通过Python环境配置、API接入详解以及四大智能设计场景的实战案例,帮助CAD设计师实现参数化设计优化、自动规范检查等高效工作方式,大幅提升设计效率和质量。

weixin_29092579的博客 615

HDU/HDOJ 2063 过山车(二分图最大匹配,vector的使用)

题意: 裸裸地二分图模板,上次巧是什么时候都不记得了...... 二维数组的模板都差点忘记了 Code:vector 实现 降低空间复杂度 Code:二维数组实现 #include #include const int MYDD=1103; const int MAXN=512; bool Map[MAXN][MAXN];//记录女生 i和男生 j 在一组 i

Shyazhut 436

SAP BASIS运维之三方SSL证书导入

事情的起因是我司SAP使用的SSL证书即将要到期了(上一个的SAP BASIS也辞职了),需要进行证书的更换。如上图所示,我司的证书有效期到2024年4月30日到期,需要提前预防并更换,防止过期后导致接口和访问出现问题。9.在弹出的框中,选择我们在第5个步骤中导出的转换结果存储地址,并选择导出的转换文件,点打开。12.最后一步也是关键的一步,不然就会无法更新证书,再点击左上角的个人安全环境,点另存为。10.在打开后的弹窗中,输入我们在第4个步骤中设置的密码。6.经过以上步骤后,我们获得了最终的证书文件。

fegda的专栏 1882

SUMO从入门到精通:手把手教你用开源工具完成智能网联车仿真(附Python接口教程)

本文提供了一份SUMO开源交通仿真工具的完整实战指南,从环境搭建、基础仿真到Python接口TraCI的深度应用。重点讲解了如何利用SUMO的高度可定制性进行智能网联车仿真,包括实现动态信号优先等核心算法,并介绍了与网络仿真器集成以构建高保真车联网通信环境的方法。

weixin_28327051的博客 536

HDOJ-2845 Beans

这道题是线性上的动态规划.dp(i)表示以第i个数据一定要取得情况下,这一行前i数据按题目要求取得的最大数据之和,状态转移方程:dp(i) = max(dp(i-2), dp(i-3)) + dp(i);#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <vector>usin

L. 281

Spring Boot Swagger未授权访问漏洞:原理、风险与修复方案详解

在微服务架构中,API文档管理是开发与运维的重要环节。Swagger作为RESTful API文档生成与调试的标准化工具,通过OpenAPI规范自动生成交互式接口文档,极大提升了开发效率。然而,其默认配置往往缺乏访问控制,导致文档端点直接暴露,形成未授权访问漏洞。从技术原理看,该漏洞源于Spring Boot等框架集成Swagger时,相关端点未纳入安全框架的拦截范围,攻击者可通过扫描常见路径获取完整的接口定义与数据结构。这不仅会造成敏感信息泄露,更可能成为越权操作、数据篡改等深度攻击的入口点。在工程实践中

weixin_42524171的博客 493

算法竞赛常用OJ食用指南

前言 在准备像ICPC、CCPC、蓝桥杯之类的算法竞赛时,学习完相应的知识点后往往需要大量刷题来巩固,一个OJ的好坏程度我认为可以根据以下几个方面来评定: 1.题目的质量 2.题解的质量 3.比赛的质量 除此之外还有如UI设计、在线编译器等等 每个OJ都有自己不同的特点,需要我们在有需要的时候使用,下面就为大家详细描述如何利用常见的OJ来帮助自己成长,这篇文章主要面向萌新入门所以会讲的啰嗦一点。 洛谷 适用于:新手入门、参加蓝桥杯、课程训练等 题目 点击上方链接,左侧点击题单 题单分为两种 官方精选与用户

TGX的博客 2385

十大排序算法详解(一)冒泡排序、选择排序、插入排序、快速排序、希尔排序

冒泡排序、选择排序、插入排序、快速排序、希尔排序

HK的博客 18万+

海思方案定制hi3531dv200/SS528 DVR方案解析:从硬件选型到编解码实战应用

海思方案,Hi3518EV100,Hi3518CV100,Hi3515CV100,Hi3516CV100,Hi3516ECV100,Hi3516D,Hi3516A,Hi3519,Hi3520D,Hi3521A,Hi3535,Hi3531,Hi3536,Hi3536C,Hi3536D,Hi3518EV200,Hi3518EV201,Hi3520DV200,Hi3516CV200,Hi3516CV300,Hi3516AV200,Hi3520DV300,Hi3519V101,sd3403,hi3519av200

1584

Gym100803 Problem C Shopping

贪心:不难证明,如果两个区间有交集,那么最好的方法是走完这些区间的并再掉头。

李典金 511

Python 爬虫实战:网站反爬机制绕过终极指南(技术原理 + 实战代码 + 避坑技巧)

在 Python 爬虫的世界里,反爬机制是每一个爬虫开发者都必须面对的挑战。网站为了保护自身数据不被恶意爬取,会设置各种反爬机制,这使得爬虫开发变得更加复杂和有趣。本文将详细介绍常见的网站反爬机制及其绕过方法,结合技术原理、实战代码和避坑技巧,帮助你成为一名优秀的爬虫开发者。

u014481728的博客 1004

HDU 5695 Gym Class(拓扑排序、优先队列)

题目链接; HDU 5695 Gym Class 题意: 定义序列每个元素的权值是在他之前包括自己的最小数。求序列权值和最大的拓扑排序。 数据范围:n≤105,m≤105n\leq 10^5,m\leq 10^5。 分析; 也就是每次从度为00的点中我们尽可能要得到编号大的点。优先队列搞下就好了。#include <iostream> #include <cstdio> #include

ramay7 554

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HDU 5695 Gym Class(拓扑排序,优先队列)

http://acm.split.hdu.edu.cn/showproblem.php?pid=5695 New~ 欢迎参加2016多校联合训练的同学们~ Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Shyazhut 469

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU 5695 Gym Class【拓扑排序+优先队列】

H - Problem H Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 5695 Description 众所周知,度度熊喜欢各类体育活动。  今天,它终于当上了梦寐以求的体育课老师。第一次

Puya的博客 442

hdu 5695 Gym Class (优先队列+拓扑排序)

题意:一群人编号1~n,给他们拓扑排序,已知其中的邻接关系,要求得到的拓扑序中,每个元素包括自己以及他前面的编号的最小值最大,求所有人的这个值的和。 思路:把正常拓扑排序的队列换成优先队列即可 //做的时候手滑把用于记录的变量和循环的变量名写重了结果t了一个晚上 //发现用for初始化比用memset初始化速度快,而且更省内存 #include using namespace std;

brainache的博客 306

HDU - 5695 Gym Class (优先队列+拓扑排序)

题意:有N个人,每个人的ID为1~N,部分同学A不希望部分同学B排在他之前,排好队之后,每个同学会找出包括自己在内的前方所有同学的最小ID,作为自己评价这堂课的分数。在满足这个前提的情况下,将N个人排成一队,求所有同学评价分数和的最大值。 分析: 1、A不希望B排在他之前,所以B要排在A之后,也就是说A安排好后才能安排B,即A对B是一种限制,显然拓扑排序。 2、因为每个同学会找出包...

Cherrychan2014的博客 236

HDU 5695 Gym Class(优先队列+拓扑排序)

Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1071    Accepted Submission(s): 427 Problem Description 众所周知,度度熊喜欢各类体育活动。

超越自我就是成功 504

HDU5695-Gym Class-拓扑排序优先队列结合

题意:n个人每人都有1-n的唯一编号,按一定顺序排好后,每个人都产生一个价值,这个价值等于从前往后到自己这个位置最小的的值,包括自己。但是有些不希望一些人排在他前面。 思路:典型的拓扑排序。将那些不希望的关系当成一条边,然后不断在入度为0的点中取一个最大的然后删除这个点和这个点的边,然后继续,用一个优先队列维护一下就好了。 #include using namespace std; #defi

lyc1635566ty的博客 493

HDU-5695-Gym Class(拓扑排序+优先队列)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5695 Problem Description 众所周知,度度熊喜欢各类体育活动。 今天,它终于当上了梦寐以求的体育课老师。第一次课上,它发现一个有趣的事情。在上课之前,所有同学要排成一列, 假设最开始每个人有一个唯一的ID,从1到N,在排好队之后,每个同学会找出包括自己

不会吃鱼的喵 658

HDU 5695 Gym Class (拓扑排序+优先队列+Vector)

Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1104    Accepted Submission(s): 447 Problem Description 众所周知,度度熊喜欢各类体育活动。

Calm微笑 532

HDU 5695 - Gym Class (拓扑排序+优先队列)

Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2108    Accepted Submission(s): 803 Problem Description 众所周知,度度熊喜欢各类体育活动。

Mr_Treeeee的博客 378

hdu 5695 Gym Class【拓扑排序+优先队列】

Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 183    Accepted Submission(s): 76 Problem Description 众所周知,度度熊喜欢各类体育活动。 今天

mengxiang000000 527

hdu5695-优先队列&拓扑排序-Gym Class

https://vjudge.net/problem/HDU-5695 第一次以为直接用优先队列就行。 报要求的数,优先级放在那个数后面 对于相同优先级的数,比较他们的大小,大的在前,小的在后 (因为大的在前可以保证这样子结果大) 。。 都没想到 拓扑排序那里面去。、如果这种关系出现了图形的结构,那么只用这种方法怎么行么。。 附上我的错误代码。。 aaa数组 ,我保存的,如果是一个数

天与云与山与水 358

HDU-5695-Gym Class【拓扑排序】【优先队列】【经典】

题目链接:点击打开链接 Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1130    Accepted Submission(s): 463 Problem Description 众所

_Somethingwill 363
上一篇: HDU 5696 区间的价值 (DFS)
下一篇: HDU 5692 Snacks (DFS序 + 线段树区间更新 好题)
_TCgogogo_
博客等级 码龄12年 615粉丝 1081原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值