◇例题·I◇ Snuke's Subway Trip 题目来源:Atcoder Regular 061 E题(beta版) +传送门+ 一.解析 (1)最短路实现 由于在同一家公司的铁路上移动是不花费的,只有在换乘时会花费1日元.我们可以视换乘的花费为点权——当换乘到不同公司时花费1,同一家公司时花费0. 对于这种点权因情况而变化的题,最常见的做法便是拆点.设节点 u 相连的铁路由 c1,c2,...,cp p个公司修建,则将节点u拆分为节点 uc1~ucp,点uci表示到达点u的铁路是由公司c…
すぬけ君の地下鉄旅行 / Snuke's Subway Trip Time limit : 3sec / Memory limit : 256MB Score : 600 points Problem Statement Snuke's town has a subway system, consisting of N stations and M railway lines. The stations are numbered 1 through N. Each line is operate…
题目大意:Snuke的城镇有地铁行驶,地铁线路图包括$N$个站点和$M$个地铁线.站点被从$1$到$N$的整数所标记,每条线路被一个公司所拥有,并且每个公司用彼此不同的整数来表示. 第$i$条线路($1\le i \le M$)是直接连接$p_i$与$q_i$的双向铁路,中间不存在其他站点,且这条铁路由$c_i$公司所拥有. 如果乘客只乘坐同一公司的铁路,他只需要花费一元,但如果更换其他公司的铁路需要再花一元.当然,如果你要再换回原来的公司,你还是要花一元. Snuke在1号站的位置出发,他想通…
大意: 给你一张无向图,边有种类. 当你第一次/重新进入某种边时费用 + 1 在同一种边之间行走无费用. 求 1 到 n 的最小费用. 嗯...乍一看有一个很直观的想法:记录每个点的最短路的上一条边的种类. 但是这个算法是个错的......有些数据能够hack掉. 由于边权只有0 & 1,考虑01BFS. 事实上我们还要记录每个点来之前的边,然后就要写结构体/pair 然后还要判重... 正解:考虑按照每个点的边的type拆点.在不同点的同一type分点之间边权为0原点与拆出来的点之间边权为1然…
传送门 就是一个另类最短路啊. 利用颜色判断当前节点的最小花费的前驱边中有没有跟当前的边颜色相同的. 如果有这条边费用为0,否则费用为1. 这样跑出来就能ac了. 代码: #include<bits/stdc++.h> #define N 500005 #define M 500005 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); wh…
传送门 题目大意 已知某城市的地铁网由一些地铁线路构成,每一条地铁线路由某一个公司运营,该城市规定:若乘坐同一公司的地铁,从开始到换乘只需要一块钱,换乘其他公司的价格也是一块钱,问从1号地铁站到n号地铁站的最低价格. 分析 做法1: 这个题在原图上跑显然是不可能的,所以我们需要考虑如何重新构图,首先我们想到如果数个点能被一条线连接就可以不花钱,所以我们可以考虑把他们缩成一点,我们有不难想到如果有两条线路是一家公司的但是它们不相连则它们和由不同两个公司运营效果是一样的.于是我们便得到了构图思路:枚…
目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog Problem:传送门  Portal  原题目描述在最下面.  \(n(1e5)\)个点, \(m(2e5)\)条边, 每条边有一个属性值.经过一条同一属性值的连续路径花费为1.问从1到n的最小花费. Solution: 我的解法  直接边最短路搞,然后t的飞起.仔细一想,这样写的话有\(2e5\)个点,边数更是多到飞起,拿命跑啊,不过代码我还是放下面. 正解:拆点  把一条\(u…
◆例题·6◆ 电压机制 周六日常模拟赛……已经不知道该说什么了(感觉做不出来的都是好题) ▷ 题目 (终于不用自己翻译英文题了╮(╯-╰)╭) [问题描述] 科学家在“无限神机”(Infinity Machine)找到一个奇怪的机制,这个机制有N个元件,有M条电线连接这些元件,所有元件都是连通的.两个元件之间可能有多条电线连接. 科学家对这些元件可以任意地设置为“高电压”和“低电压”两种模式,如果一条电线的一端为高电压,另一端为低电压,这条电线就会产生电流. 为了安全的研究“无限神机”,科学家需…
◇例题·IV◇ Wooden Sticks 借鉴了一下 Candy? 大佬的思路 +传送门+ (=^-ω-^=) 来源:+POJ 1065+ ◆ 题目大意 有n个木棍以及一台处理木棍的机器.第i个木棍用二元组 (li,wi) 表示,li 为它的长度,wi 为它的重量. 机器可以连续处理木棍{a[1],a[2]...a[m]}当且仅当对于每一个i(1≤i<m) la[i]<la[i+1] 且 wa[i]<wa[i+1] .机器连续处理木棍的时间是1单位.你需要将这些木棍按一定顺序在机器中处…
◇例题·V◇ Gap 搜索训练开始了……POJ的数据比ZOJ强多了!!看来不得不写正解了 +传送门+ ◇ 题目 <简要翻译> 有一个四行九列的矩阵——在第1~4行.2~8列上填上数字 11~17,21~27,31~37,41~47(不一定有序).例子如下: 现在我们将数字11移动在第一行第一列,21移动在第二行第一列,31移动在第三行第一列,41移动在第四行第一列,上面的例子移动后如下: 若一个数x(不是最右边的一列)的右边位置是空位,设x十位为a,个位为b,若b≠7,我们可以把数(10*a+…