【BZOJ 5047 空间传送装置】】的更多相关文章

Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 282  Solved: 121[Submit][Status][Discuss] Description 太空中一共有n座星球,它们之间可以通过空间传送装置进行转移.空间传送装置分为m种,第i种装置可以用4个参 数a_i,b_i,c_i,d_i来描述.因为时空抖动的问题,在非整数时刻禁止使用空间传送装置.如果在整数s时刻使用装 置,那么需要花费((a_i*s+b_i) mod c_i)+d_i单位时…
Description 太空中一共有n座星球,它们之间可以通过空间传送装置进行转移.空间传送装置分为m种,第i种装置可以用4个参 数a_i,b_i,c_i,d_i来描述.因为时空抖动的问题,在非整数时刻禁止使用空间传送装置.如果在整数s时刻使用装 置,那么需要花费((a_i*s+b_i) mod c_i)+d_i单位时间才能完成传送.现在是s时刻,小Q位于1号星球,请写一个 程序计算从1号星球到每个星球最少需要的时间. Input 第一行包含4个正整数n,m,s,e(2<=n<=100000,…
[BZOJ5047]空间传送装置 Description 太空中一共有n座星球,它们之间可以通过空间传送装置进行转移.空间传送装置分为m种,第i种装置可以用4个参数a_i,b_i,c_i,d_i来描述.因为时空抖动的问题,在非整数时刻禁止使用空间传送装置.如果在整数s时刻使用装置,那么需要花费((a_i*s+b_i) mod c_i)+d_i单位时间才能完成传送.现在是s时刻,小Q位于1号星球,请写一个程序计算从1号星球到每个星球最少需要的时间. Input 第一行包含4个正整数n,m,s,e(…
题目描述 n个点e条边的有向图,每条边是m种类型之一.第i种类型在第x时刻通过所花费的时间为$(a_i*x+b_i)\mod c_i+d_i$.可以在某个点停留.问:在s时刻从1号点出发,到达每个点所花费的最小时间. 输入 第一行包含4个正整数n,m,s,e(2<=n<=100000,1<=m<=50,1<=s<=2000,1<=e<=200000) 分别表示星球的个数.空间传送装置的种类数.当前的时间以及空间传送装置的个数. 接下来m行,每行4个正整数$a…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5047 题解 题目中没有说可以停留在一个点等待.问了别人才知道停留是可以的. 那么既然停留是可以的,越先到达一个点肯定是越好的,所以一般的最短路算法依然是对的. 那么我们如果当前的这个点是 \(u\),要通过装置 \(w\) 在 \(dis[u]\) 时刻往后到达点 \(v\). 可以发现,对于第 \(i\) 个装置,第 \(t\) 秒和第 \(t+c_ik\) 秒没有区别.所以一个装置所用时…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5047 题意概括 概括??~别为难语文做一题错两题的我了…… 题解 我们发现,对于某一种装置,有c种不同的时刻的花费是不同的. 对于s mod c不同的,花费也不一定相同. 但是有一点是一定可以确定的:对于s1<s2,从如果可以从s1开始,一定不比s2差,因为s1可以转移到s2时刻. 我考虑预处理一个数组gt(变量名瞎捏的),gt[i][j]表示第i个机器,从第j个时刻出发,最快可以在哪个时刻到.…
今天跟着zcg大神学了一发fhq_treap 发现在维护区间问题上fhq_treap不仅思维量小,而且代码量更小 是Splay的不错的替代品,不过至今还是有一些问题不能很好的解决 譬如查询某个数在序列中的第几个位置QAQ fhq_treap的核心是split和merge可以logn的完成区间的分裂和合并 由于没有旋转所以可以支持可持久化 cojs 2314 可持久化fhq_treap的裸题,直接上代码 每次merge和split的时候新建一条链上的节点就可以啦 #include<cstdio>…
题意 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N 之间的正 整数. 如果一段山脉比所有与它相邻的山脉都高,则这段山脉是一个山峰.位于边 缘的山脉只有一段相邻的山脉,其他都有两段(即左边和右边). 类似地,如果一段山脉比所有它相邻的山脉都低,则这段山脉是一个山谷. 地精们有一个共同的爱好——饮酒,酒馆可以设立在山谷之中.地精的酒馆 不论白天黑夜总是人…
同NOI2013快餐店(NOI出原题?),下面代码由于BZOJ栈空间过小会RE. 大致是对每个连通块找到环,在所有内向树做一遍DP,再在环上做两遍前缀和优化的DP. #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define rep(i,l,r) for (int i=(l); i<=(r); i++) #define For(i,x) for (i…
https://www.lydsy.com/JudgeOnline/problem.php?id=4943 http://uoj.ac/problem/315 https://www.luogu.org/problemnew/show/P3823#sub 题面太长自己看吧orz. 参考:洛谷题解. 用链表暴力维护每个蚯蚓,每次合并和分离只对k*k的元素有影响,哈希一下存起来query时候比较就好了. 没了. (具体复杂度我不会证明,以及bzoj卡空间,正常的哈希表空间总觉得不能开如代码所示的这么…