广西大学

“东信杯”广西大学第一届程序设计竞赛(同步赛)H

懵懂的女人 提交于 2020-02-29 03:29:17
链接: https://ac.nowcoder.com/acm/contest/283/H 来源:牛客网 题目描述 由于临近广西大学建校90周年校庆,西大开始了喜闻乐见的校园修缮工程! 然后问题出现了,西大内部有许许多多的道路,据统计有N栋楼和M条道路 (单向) ,每条路都有“不整洁度”W,现在校方想知道从S楼到T楼的所有路径中,“不整洁度” 乘积最小 是多少。 由于答案可能很大,所以你需要将最后的答案 对 10 9 +7取模 。 输入描述: 第一行为四个整数N、M、S、T,意义如上。 第2至第M+1行每行表示一条道路,有三个整数,分别表示每条道路的起点u,终点v和“不整洁度”W。 输入保证没有自环,可能有重边。 其中W一定是2的整数次幂。 输出描述: 输出一个整数,表示最小的不整洁度之乘积对10 9 +7取模的结果。 若无解请输出 -1 示例1 输入 4 4 1 3 1 2 8 1 3 65536 2 4 2 4 3 16 输出 256解题思路:由于每条路的权值可以转化成2的n次幂,所以权值的乘法可以转化成指数的加法,那么这道题就可以求权值指数和的最小值了,这道题就成最短路的问题了。这里我用了dijkstra求最短路,注意要用优先队列优化。 #include<iostream> #include<cstring> #include<algorithm> #include

“东信杯”广西大学第一届程序设计竞赛(同步赛)-出装方案(km算法)

匿名 (未验证) 提交于 2019-12-02 23:03:14
链接: https://ac.nowcoder.com/acm/contest/283/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 众所周知,在各种对抗类游戏里装备都是很重要的一环,不同的出装方案会给玩家带来不同的强度。 dalao手里有N件装备,现在dalao要把装备分给N个队友,每个队友只能分一件装备,而每个队友穿上不同的装备会有不同程度的强度提升。 现在给出每个队友对每件装备的强度提升的值,请问dalao的所有分配方案里, 最多 能让团队的 总 强度提升多少呢? 输入描述: 第一行有一个整数T,表示数据的组数(不会超过150组) 每组数据第一行包含一个整数N,接下来会有N行,每行有N个整数,其中第 a 行的第 b 个数字表示第 a 个队友穿上第 b 件装备的强度提升。任何队员穿任何装备的强度提升都不会超过20000。 输出描述: 对于每组数据在一行内输出一个整数表示强度能够提升的最大值 示例1 输入 复制 2 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 1 3 5 2 4 6 7 9 11 输出 复制 34 16 km算法模板题 ac: #include <iostream> //slack:匹配