文章标题

第二题

  1. 【五校联考6day2】er (Standard IO)
    Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits
    Goto ProblemSet

Description

小明在业余时间喜欢打电子游戏,不是星际和魔兽这些,是赛尔号一类的游戏。最近小明在玩一款新出的游戏,叫做■■■■■■■■。小明觉得游戏里自己的装备太垃圾了,每次都被大神虐,一怒之下充了■■元准备强化装备。
这个游戏中用于强化装备的道具叫做强化符文。有以下3 种:
1. 赋值强化符文,对某个装备使用这个符文以后,装备威力值会变为一个常数。因为这个功能很IMBA,可以让一个垃圾装备变得非常牛■,所以它在游戏里很稀有,市场上最多能见到一个。
2. 加法强化符文,对某个装备使用后,威力值加上一个常数。
3. 乘法强化符文,对某个装备使用后,威力值乘上一个常数。
市场上有M 个不同强化符文可以购买,小明有N 件装备准备强化,他只能购买K 个强化符文,然后以任意顺序使用这些符文,强化他的任意装备(一个装备可以不强化也可以强化多次)。根据游戏的设定,所有装备威力值乘积为总效果。请为他设计一个购买和强化方案,使强化后的所有装备总效果值最大。
由于小明RP 不太好,打BOSS 都不掉神装,所以他的装备不超过两件。

Input

第一行3 个正整数N;M;K, 含义见题面。
第二行N 个正整数Ai,表示他的每个装备的初始威力值。
第三行开始共M 行,每行两个正整数Type_i;Ci,描述一个强化符文。Type_i表示符文类型,1 表示赋值,2 表示加法,3 表示乘法。Ci 是对应的常数值。

Output

一个数,表示最大的总效果值。由于这个数可能很大,请输出它的自然对数,保留3 位小数。

Sample Input

2 5 3
0 1
2 3
2 1
2 4
3 4
3 2

Sample Output

4.159

Data Constraint

对于20% 的数据,N = 1;
对于全部数据M,K ≤ 100;N ≤ 2,最多一个Type_i = 1。
输入数据中所有数不超过2000。

第三题

  1. 【五校联考6day2】san (Standard IO)
    Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits
    Goto ProblemSet

Description

小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一。由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短路。小明有严重的强迫症,认为奇数很不和谐,如果他某一天从一个地点去另一个地点走过的路程是奇数,就会很不爽,但他又不想白白多走路,所以遇到最短路长度是奇数的情况就只能忍了。
如果从某个地点A 到另一个地点B 的最短路径长度为奇数,则称这条最短路径为“不和谐最短路”。如果一条不和谐最短路上包含地点C,则称它为“经过C 的不和谐最短路”。现在请你编程求出对于每个地点,经过它的不同的不和谐最短路数量。两条最短路不同,当且仅当它们途径的地点的序列不同。

Input

第一行两个正整数N;M,含义见题面。
接下来M 行,每行三个正整数Ai;Bi;Li,表示一条无向道路的两端和长度。

Output

 N 行每行一个整数,第i 行表示经过第i 个点的不同的不和谐最短路条数。

Sample Input

4 4
1 4 1
1 2 1
3 4 100
2 3 2

Sample Output

6
4
2
2
样例说明
长度为奇数的最短路有:1 → 2; 1 → 2 → 3; 1 → 4; 2 → 1; 3 → 2 → 1; 4 → 1。
这些路径中四个点的经过次数分别为6, 4, 2, 2。
其它一些路,如1 → 4 → 3 不是最短路,2 → 3 是最短路但长度为2,是偶数。这些路都不计入答案。

Data Constraint

对于50% 的数据,N ≤ 100;
对于全部数据,N ≤ 1000;M ≤ 3000,每条路的长度不超过1000。
保证图连通,无自环重边。

NOIP 模拟题题解
谷晟
October 5, 2015
1 第一题
这题没有什么难度,只要将飞船按照可乘坐人数从大到小排序,依次贪心地
选择能选的飞船,统计答案就可以通过此题。
注意题目中划线的重要信息写了地球到锑星的距离为 K,旅游团需要往返,
所以飞船的燃料容量要大于等于 2K。
2 第二题
首先,因为赋值强化符文最多只有一个,可以枚举它用不用,至多算 3 次。
相当于没有这个东西。
先考虑 N = 1 的情况。如果已知选几个加法符文几个乘法符文,那么一定
是选数值最高的,一定是先加后乘,也就是说,决定了选择的两种符文的数量
就可以确定最后的结果。所以可以先排好序,计算前缀和,枚举选几个加法符
文,就可以计算出当前的总数值,用它来更新答案。复杂度 O(M)
N = 2 的情况,乘法符文没什么区别,因为最后算答案的时候是两个装备
数值相乘,随便乘哪里都没关系。但是加法符文就不同了,决定了选几个加法
符文还不够,还要考虑该怎么分配到两个装备上。直觉上暴力枚举复杂度好
象是指数级的。但是我们只需考虑相加后的答案,如果给第一个装备分配的数
值之和为 x,那么给第二个装备分配的数值也就确定了,而这个 x 最多只有
2000 × 100 = 200000 种情况,比指数级小多了。具体在实现时,可以在枚举选
几个加法符文的同时,用背包算法算出所有可能的分配情况并枚举这些情况计
算答案。复杂度 O(M ×
∑Ai)。
3 第三题
3.1 50 分算法
N = 100,可以枚举起点和终点,用各种算法枚举两点间所有最短路并累加
答案,复杂度一般为 O(N3
)。
3.2 满分算法
题目中的图是一般图,结构复杂没有规律。考虑枚举起点并计算单源最短路,
保留所有最短路中的边(有向),原图就变成了一个 DAG,可以很方便地在上
面进行拓扑排序,DP 等。再考虑长度为奇数的最短路,从一个点断开,一定是
一边长度为奇数,另一边长度为偶数。因此可以在 DAG 上 DP 计算从起点到
达每个点的奇偶最短路径分别有几条,再逆序 DP 计算从每个点出发的奇偶最
1
短路径条数,在后面的 DP 过程中顺便统计答案。这样对每个起点算一遍。复
杂度 O(NM log N)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值