BZOJ2157 旅行 模拟

题目内容:

Ray 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有N ? 1 座桥。Ray 发现,有些桥上可以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray 经过这座桥会增加w 的愉悦度,这或许是正的也可能是负的。有时,Ray 看待同一座桥的心情也会发生改变。现在,Ray 想让你帮他计算从u 景点到v 景点能获得的总愉悦度。有时,他还想知道某段路上最美丽的桥所提供的最大愉悦度,或是某段路上最糟糕的一座桥提供的最低愉悦度。

题目分析:

  一道码农题,最难的地方在于如何判断输入的是哪个操作,所以要深刻掌握switch,下面我来讲讲switch的用法。

  switch的主要结构是:

switch(a){
    case x:{......;break;}
    case y:{......;break;}
    default:{.......}
}

值得注意的是case可以写任意多个且不能像if那样进行大于小于等的比较,所以switch的用处没有if大,而且switch可以完全用if代替,但是switch可以更方便地判断数字是否是这个并且作出操作。考虑到编程习惯,所以switch中case后面的括号是可以省略的。

题目代码:

  略,一道码农题,没什么好写的

时间: 2024-10-05 04:45:06

BZOJ2157 旅行 模拟的相关文章

潍坊一中模拟赛10.25 长途旅行

[题目描述] JY是一个爱旅游的探险家,也是一名强迫症患者.现在JY想要在C国进行一次长途旅行,C国拥有n个城市(编号为0,1,2...,n - 1),城市之间有m条道路,可能某个城市到自己有一条道路,也有可能两个城市之间有多条道路,通过每条道路都要花费一些时间.JY从0号城市开始出发,目的地为n – 1号城市.由于JY想要好好参观一下C国,所以JY想要旅行恰好T小时.为了让自己的旅行更有意思,JY决定不在任何一个时刻停留(走一条到城市自己的路并不算停留).JY想知道是否能够花恰好T小时到达n

2016级算法期末模拟练习赛-A.wuli51和京导的毕业旅行

1063 wuli51和京导的毕业旅行 思路 中等题,二分+贪心. 简化题意,将m+1个数字分成n份,ans为这n段中每段数字和的最大值,求ans最小值及其方案. 对于这种求最小的最大值,最常用的方法是二分.答案一定在[0,sum]之间,通过判断是否符合要求可以求得ans.在本题中,ans一定是整数,所以二分过程中left.mid.right也是整数. 如何判断是否符合要求?对于某一mid值,遍历一次露营地距离数组,通过贪心,总是使一天内的行程尽可能接近mid,但不可超过mid.若是加上某一露营

【csp模拟赛4】旅行计划 (travelling.cpp)--欧拉回路

[题目描述] 小 Z 打算趁着暑假,开启他的旅行计划.但与其他同学不同的是,小 Z 旅 行时并不关心到达了哪个网红景点打了哪些卡.小 Z 更关注沿路的风光,而且 小 Z 觉得,尽管多次到达同一个地方,但如果来时的路不一样,也是别有一番 风味. 小 Z 事先准备了一份地图,地图上给出了 N 个小 Z 心仪的城市,依次编号 1…N,以及 M 条连接两个城市的路,编号 1…M.小 Z 打算把 M 条路都走一遍且 仅一遍,但他发现这样的路线可能是不存在的.于是他打算,当他走到一个城 市后发现从这个城市出

noip模拟赛 旅行

分析:一个贪心的想法是每次找到根的点权和最大的点进行操作,关键是怎么维护.每次找最大值,修改后会对这条链上每个点的子树上的点造成影响,可以用线段树来维护.找最大值就是区间求最大值嘛,对子树进行操作利用dfs序维护一下就好了.记录一下最大值的位置,每次从这个位置向上跳并对它的子树进行修改直到当前点的点权为0. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm>

【NOIP2012模拟10.25】旅行

题目 给定一个n行m列的字符矩阵,'.'代表空地,'X'代表障碍.移动的规则是:每秒钟以上下左右四个方向之一移动一格,不能进入障碍. 计算:在空地中随机选择起点和终点(可以重合,此时最短耗时为0),从起点移动到终点最短耗时的平均值. 每一行每一列至多有1个障碍,并且障碍不在对角线方向相邻.以下矩阵是不合法的: .X X. 分析 50%的数据,全都是空地,答案就是所有两点间的曼哈顿距离和. 很容易求,\({第i行空地的数量}*{第j行空地的数量}*|i-j|*2\) 因为每一行每一列至多有1个障碍

校内模拟赛 旅行(by NiroBC)

题意: n个点的无向图,Q次操作,每次操作可以连接增加一条边,询问两个点之间有多少条边是必经之路.如果不连通,输出-1. 分析: 首先并查集维护连通性,每次加入一条边后,如果这条边将会连接两个联通块,那么lct连接两个点,边权化为点权,新增一个点,点权为1.否则,构成了环,环上的边都变为0,lct维护覆盖标记.询问就是对一条链进行询问. 离线+树剖的做法:从前往后建出树,如果出现环则不加入,然后树剖,每次出现一条非树边就是将环上的边赋值为0,询问就是两点之间的边权和. 代码: lct #incl

Car的旅行路线(Floyd+模拟)

题目地址 贼鸡儿猥琐的一道题 好在数据不毒瘤,而且Floyd就OK了. 这道题的难点在于 建图,也很考验模拟能力,需要十分的有耐心. 建图 题目中告诉了我们一个矩形的三个点 我们在平面直角坐标系中随便画出一个直角三角形,假设(x1,y1)是直角的这个点,(x4,y4)是我们要求的第四个点,那么: \[x_4=x_2+x_3-x_1,y_4=y_2+y_3-y_1\] (因为我画图太渣只好文字解说) 我们尝试在原直角三角形的基础上把整个矩形画出来,矩形的四个顶点分别平行于坐标轴做平行线,得到了一个

NOI导刊模拟题(1)

最大音量 动态规划 题意:给出一个初始值和一个变化序列 c,在第 i 步可以加上或减去 c[i],求 n 步之后能达到的最大值.有一个限定值 maxlevel,在变化过程中值不能超过 maxlevel 也不能低于 0. 初步解法:搜索.每一步两种决策,及时阻止无效状态的搜索. 然后是(来自 lzw 大神的)剪枝: 如果当前已经找到的答案达到了 Maxlevel 就直接退出: 如果当前值加上后面所有的值也无法超过当前找到的答案就退出: 对于重复状态只搜索一次. 从第三步看出来其实是个动规. 正解:

codevs1199 开车旅行

[问题描述]小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为H i ,城市 i 和城市 j 之间的距离 d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i, j] = |H i − H j |.旅行过程中,小 A 和小 B 轮流开车,第一天小 A 开车,之后每天轮换一次.他们计划选择一个城市 S 作为起点,一直向东行驶,并且最多行驶 X 公里就结束旅行.小 A 和