首页 > TAG信息列表 > Zjoi2006

[ZJOI2006]物流运输

link 一道典型的早期OI题目:数据范围小,技巧性不强,代码简短,考察的知识点比较初级,但客观上来说仍然具有一定的思维难度。 对于这道题来说,读懂题是关键。题目是说假如给定一张无向图,图上一些节点在某个时间段内无法使用,且知道每次改变路径都会付出一定代价,询问总花费最小值。 显然可以

动态规划:P2585[ZJOI2006]三色二叉树

P2585[ZJOI2006]三色二叉树 题目传送门:P2585 [ZJOI2006]三色二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目: 思路分析: 可以借鉴动态规划:P1352没有上司的舞会 - 朱朱成 - 博客园 (cnblogs.com),建立一个二维的dp 第二维01代表有没有去,有没有染成绿色的。对于一个结点来

【P1772 [ZJOI2006]物流运输】题解

题目链接 一道很好的最短路+dp。 先考虑最后结果,设 \(dp_i\) 表示前 \(i\) 天的最小费用。设 \(f(i, j)\) 为从第 \(i\) 天到第 \(j\) 天都走同一条道路的最小费用。 \(f(i, j)\) 很好求,提前预处理这段时间内哪些点不能走然后再可以走的点内跑一遍最短路即可。 转移: \(dp_i=\min_{

[ZJOI2006]书架

嘟嘟嘟 splay++…… 这真是一道好题…… 刚开始我困扰了好久,因为前几道题都是以权值为关键字建树的,但是这题显然不是。 后来才知道这题是以位置为关键字,即对于当前节点\(now\),\(now\)的左子树表示位置在\(now\)之前的,右子树表示位置在\(now\)之后的,即左子树的大小\(+\)\(1\)就是

[ZJOI2006]物流运输

嘟嘟嘟   简单说就是一道最短路+dp。 令dp[i] 表示到第 i 天最小的总成本,每一次 j 从 i 到1枚举,得到dp方程 dp[i] = min(dp[i], dp[j - 1] + cost * (i - j + 1) + k)。其中 cost 表示从 j 到 i 这几天都可以走的最短路,因此在第 j 天要改变一次线路,所以加一次k。这时可定有人会问

洛谷P2596 [ZJOI2006]书架

题目 https://www.luogu.com.cn/problem/P2596 思路 这显然是一道数据结构题。 观察一下要求支持的操作,要是没有top和bottom操作就好了诶,开一个类似map的东西就可以了,然而这两个操作导致了剩余书本的编号和排名的映射关系都发生了变化。 所以,我们需要一个暴力的数据结构维护书本之

P2596 [ZJOI2006]书架(fhq treap)

P2596 [ZJOI2006]书架 我们用fhq treap来完成这一题 对于一个新插入的节点我们取权值为其索引值,其所记录的 v a l u e

题解[ZJOI2006]书架

题目描述 Link 小 T 有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用 \(1\) 到 \(n\) 的正整数给每本书都编了号。 小 T 在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜

题解P2596 [ZJOI2006]书架

P2596 [ZJOI2006]书架 一道简单的数据结构题 对于每一个操作 Top:将s转到根节点,并将s的左子树移给s的后继 Bottom:将s转到根节点,并将s的右子树移给s的前驱 Insert:与前驱/后继交换信息 Ask:询问s的前驱的排名 Query:询问排名为s的编号 用Splay实现 代码 #include<iostream> #inclu

P2585 [ZJOI2006]三色二叉树 树形Dp

    输入格式 输入文件仅有一行,不超过10000个字符,表示一个二叉树序列 输出格式 输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染成绿色。 样例 样例输入 1122002010 样例输出 5 2 可以用f[i][0],f[i][1],f[i][2]分别表示当i被染成

[BZOJ1003] ZJOI2006 物流运输

问题描述  物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转 停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无法装卸货物。这时候就必须

[ZJOI2006]书架(权值splay)

[ZJOI2006]书架(luogu) Description 题目描述 小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原

BZOJ 1003. [ZJOI2006]物流运输

  $cost[i][j]$ 表示第 $i$ 天到第 $j$ 天都走同一条路线时每天的最小花费,即为 $1$ 到 $m$ 的最短路。dijkstra即可。然后 $dp[i]$ 表示到第 $i$ 天的最小花费$dp[i] = min(dp[j] + cost[j + 1][i] * (i - j) + k)$ #include <bits/stdc++.h> #define pii pair<int, int> #defi

BZOJ1003&洛谷P1772--物流运输【ZJOI2006】DP+最短路

题目链接:https://www.luogu.com.cn/problem/P1772 洛谷: 时间限制1.00s 内存限制125.00MB   BZOJ: Time Limit: 10 Sec  Memory Limit: 162 MB Description   物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头

LGOJ P1772 [ZJOI2006]物流运输

LGOJ P1772 [ZJOI2006]物流运输 本来想着用什么状态压缩结果t飞了…… 普通的dp就可以了。 动态规划,最短路径 首先可以列出状态转移方程: \[ f[i]=f[i-s]+s*d[i-s+1][i]+K, \quad s \in (0,i] \] 其中,\(d[i][j]\)在第\(i\)到第\(j\)天的时间里,起点到终点的最短路径是多少。 然后暴

P1772 [ZJOI2006]物流运输(最短路DP)

题意是某些天的点不能使用,但是保证每一天都有一条从1到达m的路径,每次改变路径会有一个消耗,现在求最小花费 考虑如下的dp方程:(在时间上DP) \(dp[i]=min\{dp[j]+(i-j)*L+K\} (0<=j<=i-1)\) 其中L是在\([j+1,i]\)闭区间内每一天都可行的最短路,意味着不可用区间与这个闭区间有交集的点都

「ZJOI2006」物流运输

题目 【内存限制:$256MiB$】【时间限制:$1000ms$】 【标准输入输出】【题目类型:传统】【评测方式:文本比较】 【题目描述】 物流公司要把一批货物从码头 A 运到码头 B。由于货物量比较大,需要 $n$ 天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输

P2585 [ZJOI2006]三色二叉树

    学了一下dfs建树 指针蛮好的,而且因为是dfs序直接倒着来就行了,和上司那个题差不多 #include<bits/stdc++.h>using namespace std;char ch[501000];int sn[501000][5],root,f[501000],g[501000],it;void dfs(int &t){ t=++it; int x=ch[it]-'0'; if(x==0)return ;

P1772 [ZJOI2006]物流运输[DP+最短路]

题目描述 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改

【ZJOI2006】书架 - Splay

题目链接 洛谷P2596 题目描述 现在书架从上到下摆了n本书,编号1-n,要求维护一个数据结构来支持下面5个操作 Top S 把编号为s的书放到顶部 Bottom S把编号为s的书放到底部 Insert S T如果编号为S的书上面有x本,那么把这本书放在一个位置使得它上面有X+T本书,保证T∈{−1,0,1}T

P4409 [ZJOI2006]皇帝的烦恼

题目描述 经过多年的杀戮,秦皇终于统一了中国。为了抵御外来的侵略,他准备在国土边境安置n名将军。不幸的是这n名将军羽翼渐丰,开始展露他们的狼子野心了。他们拒绝述职、拒绝接受皇帝的圣旨。 秦皇已经准备好了秘密处决这些无礼的边防大将。 不过为防兵变,他决定先授予这些将军一些

[ZJOI2006]三色二叉树 (树形dp)

  转一个讲的很详细的题解↓清晰又简洁,给跪orz 题解 P2585 【[ZJOI2006]三色二叉树】 Fading posted on 2018-03-17 11:40:53 | under 树形动态规划 | 19 大佬们dp方程没解释清楚啊... 我的dp也是递推实现的,不像大佬们那样用树上dfs ——————分割线—————— 首先是

[ZJOI2006]物流运输

题面 一开始没看懂,看了样例才知道每一天都要从A->B,如果今天和昨天的路线不同就需要多花费k元。 那么怎么做呢,好像还挺简单(看了题解之后),设f[i]为i天之后最少的花费,考虑转移 f[i]=min(f[i],f[j-1]+(i-j+1)*val+k) (1<=j<=i),就是枚举从第几天之后路线改变,从第j天到第i天路线相同。 如

[ZJOI2006]书架

题目描述 有n本书从上到下放,有5种操作: 1.将编号为s的书放在最上面 2.把编号为s的书放在最下面 3.把编号为s的书上下移动一个位置或者不动 4.询问编号为s的书上面的书的个数 5.从上面数第k个书的编号 100%的数据,n,m <= 80000 题解 序列的平衡树。前后插入最值方便些。下标为编号 1.

BZOJ 1003: [ZJOI2006]物流运输 Dp+最短路

title BZOJ 1003 LUOGU 1772 Description   物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码