【SSL_P2876】2017年东莞市信息学特长生测试题 工程

2017 年东莞市信息学特长生测试题 2017 年东莞市信息学特长生测试题 一、优美景点 问题描述: D 城市是个有深厚文化底蕴的城市,有许多优美的景点,今年政府组织了市 民对该城市的 N 个优美的景点进行了投票,政府部门想知道这 N 个景点投票数从 大到小的情况,现在请你对给定的投票数按从大到小排序输出来。 数据输入: 文件共有 N+1 行,第一行为一个正整数 N,表示共有 N 个景点(1=<N<=500), 接下来有 N 行,每行一个正整数 ai 表示一个景点的投票值(1=<ai<=3000)。 数据输出: 共有 N 阅读详情

2017年东莞市信息学特长生测试题 工程


Description

张三是某工程公司的项目工程师。一天公司接下一项大型工程,该公司在大型工程的施工前,先要把整个工程划分为若干个子工程,并把这些子工程编号为1、2、…、N;这样划分之后,子工程之间就会有一些依赖关系,即一些子工程必须在某些子工程完成之后才能施工,公司需要工程师张三计算整个工程最少的完成时间。
对于上面问题,可以假设:
1、根据预算,每一个子工程都有一个完成时间。
2、子工程之间的依赖关系是:部分子工程必须在一些子工程完成之后才开工。
3、只要满足子工程间的依赖关系,在任何时刻可以有任何多个子工程同时在施工,也即同时施工的子工程个数不受限制。
例如:有五个子工程的工程规划表:
在这里插入图片描述
现在对于给定的子工程规划情况,及每个子工程完成所需的时间,如果子工程划分合理则求出完成整个工程最少要用的时间,如果子工程划分不合理,则输出-1。

Input

第1行为正整数N,表示子工程的个数(N<=200)
第2行为N个正整数,分别代表子工程1、2、…、N的完成时间。
第3行到N+2行,每行有N-1个0或1,其中的第K+2行的这些0或1,分别表示“子工程K”与子工程1、2、…、K-1、K+1、…、N的依赖关系(K=1、2、…、N)。每行数据之间均用空格分开。

Output

如果子工程划分合理则输出完成整个工程最少要用的时间,如果子工程划分不合理,则输出-1。

Sample Input

project.in

5
5 4 12 7 2
0 0 0 0
0 0 0 0
0 0 0 0
1 1 0 0
1 1 1 1

project.in

5
5 4 12 7 2
0 1 0 0
0 0 0 0
0 0 1 0
1 1 0 0
1 1 1 1

Sample Output

project.out

14

project.out

-1

解题思路

拓扑+BFS+DP

#include<iostream>
#include<cstdio>
using namespace std;

int n,a[210],b[210],c[210];
int tot,head[210],f[210],dp[210];

struct abc{
	int to,next;
}s[40010];

void add(int x,int y)
{
	s[++tot]=(abc){y,head[x]};
	head[x]=tot;
}

void tp()
{
	int hd=0,tl=0;
	for(int i=1;i<=n;i++)
		if(b[i]==0)
			tl++,f[tl]=i,dp[i]=a[i],c[i]=1;
	while(hd<tl)
	{
		hd++;
		int x=f[hd];
		for(int i=head[x];i;i=s[i].next)
		{
			int y=s[i].to;
			if(!c[y])
			{
				dp[y]=max(dp[y],dp[x]);
				b[y]--;
				if(!b[y])
				{
					dp[y]+=a[y];
					c[y]=1;
					tl++;
					f[tl]=y;
				}
			}
		}
	}
}

int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(i!=j)
			{
				int t;
				scanf("%d",&t);
				if(t)
					add(j,i),b[i]++;
			}
	tp();
	int ans=0;
	for(int i=1;i<=n;i++)
		if(b[i]!=0)
		{
			cout<<-1<<endl;
			return 0;
		}
		else
			ans=max(ans,dp[i]);
	cout<<ans<<endl;
}
2017年东莞市信息学特长生测试题 2017年东莞市信息学特长生测试题 优美景点Time Limit:10000MS  Memory Limit:25600KTotal Submit:13 Accepted:12 Case Time Limit:1000MSDescriptionD城市是个有深厚文化底蕴的城市,有许多优美的景点,今年政府组织了市民对该城市的N个优美的景点进行了投票,政府部门想知道这N个景点投票数从大到小的情况,现在请... 阅读详情

相关推荐

U型槽微带贴片天线:从理论公式到带宽扩展实战

本文深入探讨了U型槽微带贴片天线的设计与带宽扩展实战。针对传统微带天线带宽窄的痛点,详细解析了通过引入U型槽形成双谐振点以拓宽带宽的原理,并提供了从MATLAB理论计算、ANSYS HFSS仿真建模到参数优化的一站式工程指南。文章还分享了多种带宽扩展组合技巧及仿真与实测避坑经验,助力射频工程师设计出高性能的宽带微带天线。

weixin_29168153的博客 447

2016年东莞初中信息特长生试题题解

2016年东莞初中信息特长生试题题解

Viraha_233的博客 1054

手把手教你用ZYNQ PS端GPIO模拟SPI驱动OLED屏幕(附Vivado工程)

本文详细介绍了如何利用ZYNQ PS端的EMIO功能,通过GPIO模拟SPI协议驱动SSD1306 OLED屏幕。从Vivado工程配置、SPI协议软件实现到SSD1306驱动开发,提供了完整的解决方案和优化技巧,适合嵌入式开发者快速上手。

weixin_30776545的博客 130

#并查集#SSL 2342 信息学奥赛一本通 1386 打击犯罪

信息学奥赛一本通链接 题目 求最少打击的团伙数,并且使最大的团伙危险程度不超过n/2。 分析 从n到1逆向枚举,每次把点k加入图中,也就是删掉1-k-1,剩余k—n,若最大集合点数不超过n/2,说明这种方案可行,k还能更小,一旦不满足,意味着第k个点加入图中就不可行了,所以点k必须得删,所以输出答案。 邻接矩阵代码(0ms 5152k) #include &amp;lt...

lemondinosaur的博客 1303

【STM32项目】老人健康跌倒检测系统实现(附教程PCB资料)

功能概述 跌倒检测 倾倒告警,人体角度倾斜至阈值触发蜂鸣报警 异常运动,加速度超过正常行动阈值时触发报警 心率监测 实时检测心率数据 血氧监测 实时检测采集血氧 血压测量 血压在线测量 红外体温 非接触体温采集方案 接触式体温采集方案 实时定位 中科微GPSGT-U12双频GPS北斗 GLONASS IRNSS定位系统 NEMA数据解析 可扩展高精度定位方案厘米级 屏幕显示 数据采集显示 告警阈值设置 语音提示 1欢迎使用老人智慧监测系统

洋洋的博客 1万+

【阿里云大模型高级工程师ACP学习笔记】2.8 部署模型

【摘要】本文主要分享自学阿里云大模型高级工程师 ACP 认证中《2.8 部署模型》的学习笔记。详细介绍学习目标、梳理涵盖的知识点并评估其重要性和难易度,对既重要又困难的知识点进行重点分析,旨在为对阿里云大模型学习和认证感兴趣的读者提供学习思路和经验参考。

davidkorhenn的博客 2060

2017年东莞市信息学特长生测试题 工程 题解

2017年东莞市信息学特长生测试题 工程 题解 工程 题目 张三是某工程公司的项目工程师。一天公司接下一项大型工程,该公司在大型工程的施工前,先要把整个工程划分为若干个子工程,并把这些子工程编号为1、2、…、NNN;这样划分之后,子工程之间就会有一些依赖关系,即一些子工程必须在某些子工程完成之后才能施工,公司需要工程师张三计算整个工程最少的完成时间。 对于上面问题,可以假设: 1、根据预算,每一个子工程都有一个完成时间。 2、子工程之间的依赖关系是:部分子工程必须在一些子工程完成之后才开工。 3、只要满足

Y的博客 840

ROS2前置基础教程 | 小鱼教你用CMake依赖查找流程

上面我们用g++、make、cmake三种方式来编译ros2的C++节点。用cmake虽然成功了,但是CMakeLists.txt的内容依然非常的臃肿,我们需要将其进一步的简化。将上面的CmakLists.txt改成下面的样子 接着继续生成和编译 是不是非常的神奇,为什么可以浓缩成那么短的几句指令呢?find_package查找路径对应的环境变量如下。 打开终端,输入指令: 结果 观察PATH变量,你会发现赫然在其中,中的路径如果以或结尾,则自动回退到上一级目录,接着检查这些目录下的 cmake找到这些目录

生活不止眼前的苟且 7162

【SSL 2876】工程【拓扑排序+DP】

2017年东莞市信息学特长生测试题 工程 Time Limit:10000MS Memory Limit:256000K Case Time Limit:1000MS Description 张三是某工程公司的项目工程师。一天公司接下一项大型工程,该公司在大型工程的施工前,先要把整个工程划分为若干个子工程,并把这些子工程编号为1、2、…、N;这样划分之后,子工程之间就会有一些依赖关系,即一些子工程必须在某些子工程完成之后才能施工,公司需要工程师张三计算整个工程最少的完成时间。 对于上面问题,可以假设: 1

绫 508

ffmpeg 4.4 cenc-aes-ctr 加解密 MP4 工程性质分析

ffmpeg 4.4 cenc-aes-ctr 加解密 MP4 工程性质分析

Dream_Dynasty的博客 3047

流体仿真软件:COMSOL Multiphysics二次开发_(3).流体仿真基础理论

流体仿真基础理论包括流体的基本性质、流体运动方程、边界条件、初始条件、湍流模型和网格生成等。在使用COMSOL Multiphysics进行流体仿真时,正确设置这些参数和条件是获得准确仿真结果的关键。通过实际应用案例,可以更好地理解如何在COMSOL中进行流体仿真,并提取和分析仿真结果。希望本文对流体仿真初学者和从业人员有所帮助。

kkchenjj的博客 1341

SSl2267 2013年全国信息学分区联赛普级组day1 货车运输(rmq)

2013年全国信息学分区联赛普级组day1 货车运输Description 分析:由最小生成树的性质显然可得这题是最大生成树然后在树上两点之间找到最小限重,最小限重可以用rmq求。代码#include <cstdio> #include <algorithm> #define maxn 60000 using namespace std;struct arr { int x,y,w;

闲人请进 726

Python中的字典(Dictionary)学习

上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合。而我们在讲列表(list)的时候,我们用了列表(list) 来存储用户的姓名。那么如果我们为了方便联系这些童鞋,要把电话号码也添加进去,该怎么做呢?但是这样很不方便,我们把电话号码记录下来,就是为了有什么事能及时联系上这些童鞋。如果用列表来存储这些,列表越长,我们查找起来耗时就越长。

热情、奔放、快乐编程! 503

SSL 2331 信息学奥赛一本通 1373 洛谷 1717 鱼塘钓鱼#线性动态规划#

题目 or 贪心代码 温馨提示: 交洛谷请在总时间*12并调整输入格式。 分析 虽然动态规划时间O(m2n)O(m2n)O(m^2n) 不过还是得讲! 状态转移方程 f[i][j]表示第i分钟时,人在第j个鱼塘里钓鱼,最多所能钓到的鱼数。 f[i][j]=max(f[i][j],f[i-k][j-1]+s); s为i-k+1到i之间,除去第j-1个...

lemondinosaur的博客 1073

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

信息安全复习(四) 传输层安全SSL

传输层安全SSL SSL 记录协议 :加密, 认证,运行流程? SSL有两种状态: 会话状态(客户机与服务器之间的关联),连接状态 (点对点关系,服务之间的传输) 发送方: 1,从上层(应用层)接收传输的应用报文 2,分片:将数据分片成可管理的快,每个上传报文被分成16KB或者更小的数据块 3,进行数据压缩(可选),压缩的前提是不能丢失数据 4,增加 MAC:加入信息认证码(MAC) ,这一步...

chenhanhao0000的博客 1164

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SSL 2344 洛谷 2835 信息学奥赛一本通 1383 刻录光盘#floyd,tarjan,kosaraju#

洛谷请关掉优化 题目 求有多少个连通块 分析 floyd+并查集 floyd代码 #include &amp;amp;lt;cstdio&amp;amp;gt; #include &amp;amp;lt;cctype&amp;amp;gt; #include &amp;amp;lt;cstring&amp;amp;gt; using namespace std; int n,m

lemondinosaur的博客 1154

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

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

SSL 1411 洛谷 2085 信息学奥赛一本通 1370 最小函数值#堆#

题目 求前m个最小函数值 分析 用堆实现,首先把每一种函数的最小值(x=1)加入堆,再把这种函数增加1。 优先队列STL代码 #include &amp;amp;lt;cstdio&amp;amp;gt; #include &amp;amp;lt;cctype&amp;amp;gt; #include &amp;amp;lt;queue&amp;amp;gt; #define M 10

lemondinosaur的博客 835

IEDA中建立三级的maven结构,第一层是springboot工程,第二层是maven工程,第三层是maven工程

IEDA中建立三级的maven结构,第一层是springboot工程,第二层是maven工程,第三层是maven工程!!结果我今天晚上在建第三层的maven工程的时候出现的问题就是maven工程建立的包是与service这个包并列的,反思到底是哪里出了问题,结果是因为IEDA个sb,不能识别,。。。所以,建第三层maven工程的时候,一定要注意目录结构,我真是个憨憨!!看图二,便知晓!! ...

Jenny_xuexi的博客 455

【洛谷_P1347】排序

排序 题目 题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列A,B,C,D 表示A<B,B<C,C<D。在这道题中,我们将给你一系列形如A<B的关系,并要求你判断是否能够根据这些关系确定这个数列的顺序。 输入格式 第一行有两个整数n,m,n表示需要排序的元素数量,2<=n<=26,第1到n个元素将用大写的A,B,C,D…表示。m表示将给出的形如A<B的关系的数量。 接下来有m行,每行有3个字符,分别为一个大写字母,一个

你...你不要过来啊!!! 1632

【洛谷_P1983】车站分级

车站分级 题目描述 一条单向的铁路线上,依次有编号为 1, 2, …, n 的 n 个火车站。每个火车站都有一个级别,最低为 1 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点) 例如,下表是 5 趟车次的运行情况。其中,前 4 趟车次均满足要求,而第 55 趟车次由于停靠了 33 号火车站(2 级)却未停靠途经的 6 号火车站(亦为 2 级)而不满

你...你不要过来啊!!! 1255

【洛谷_P4017】最大食物链计数

最大食物链计数 题目背景 你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。 题目描述 给你一个食物网,你要求出这个食物网中最大食物链的数量。 (这里的“最大食物链”,指的是生物学意义上的食物链,即最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者。) Delia 非常急,所以你只有 1 秒的时间。 由于这个结果可能过大,你只需要输出总数模上 801120028011200

你...你不要过来啊!!! 677

【SSL_P1325】08年东莞特长生 奖金

08年东莞特长生 奖金 Description 由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。 于是Mr.Z下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工a的奖金应该比b高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖金最少为100元。 Input 两个整数n,m,表示员工总数和代表数; 以下m行,每行2

你...你不要过来啊!!! 578

【SSL_P1786】麻将游戏

麻将游戏 题目链接:麻将游戏 题目描述 在一种"麻将"游戏中,游戏是在一个有W*H格子的矩形平板上进行的。每个格子可以放置一个麻将牌,也可以不放(如图所示)。玩家的目标是将平板上的所有可通过一条路径相连的两张相同的麻将牌,从平板上移去。最后如果能将所有牌移出平板,则算过关。 这个游戏中的一个关键问题是:两张牌之间是否可以被一条路径所连接,该路径满足以下两个特性:   1. 它由若干条线段组成,每...

你...你不要过来啊!!! 482

【洛谷_P1137】旅行计划

旅行计划 题目描述 小明要去一个国家旅游。这个国家有#NN个城市,编号为11至NN,并且有MM条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止。 所以他就需要选择最先到达的城市,并制定一条路线以城市i为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。 现在,你只知道每一条道路所连接的两个城市的相对位置关系,但并不知道所有城市具体的位置。现在对于所有的i,都需要你为小明制定一条路线,并求出以城市ii为终点最多能够游览多少个城市。 输入

你...你不要过来啊!!! 450

【SSL_P1194/洛谷P5767】最优乘车

最优乘车 题目链接1:最优乘车(洛谷) 题目链接2:最优乘车(SSL) 题目描述 H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。   一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路已士可以直接到达S公园...

你...你不要过来啊!!! 329
上一篇: 【SSL_P1325】08年东莞特长生 奖金
下一篇: 【洛谷_P1347】排序
SSL_GYX
博客等级 码龄7年 103粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值