首页 > TAG信息列表 > SCOI2014
P3286 [SCOI2014]方伯伯的商场之旅(数位dp)
目录 Description State Input Output Solution Code Description 将所有属于 \([l,r]\) 上的数 \(x\) 变为 \(k\) 进制,每一个 \(x\) 都可以变为 \(1\) 位数,其花费为 \(\sum{a[i]*dis}\) ,\(a[i]\) 为 \(i\) 位上的值,\(dis\) 为第 \(i\) 位数所移动的距离,求所有 \(x\) 变P3288-[SCOI2014]方伯伯运椰子【0/1分数规划,负环】
正题 题目链接:https://www.luogu.com.cn/problem/P3288 题目大意 给出\(n\)个点\(m\)条边的一张图,没条边\(i\)流量为\(c_i\),费用是\(d_i\),然后缩小一个流量费用是\(a_i\),增加一个流量费用是\(b_i\)。 要求改动图之后最大流不减少 假设减少的费用是\(\Delta X\),改动次数是\(k\),求[SCOI2014]方伯伯的玉米田
一开始看错题目惹,导致错过了这题的关键\(trick\) 考虑每次操作肯定都是一个\([k,n]\)的,证明贪心一下就好了。 那么考虑记\(f[i][k]\)为前\(i\)个数用了\(k\)次。 那么只要满足\(j < i \ and\ a_j + k_j <= a_i + k_i \ and\ k_j < k_i\)就能转移了。 由于前一个偏序关系是自然的Luogu P3287 [SCOI2014]方伯伯的玉米田
题链 分析 发现:对于每次修改操作\([L,R]\),对\(L\)有正影响,对\(R+1\)有负影响 所以每次修改\([L,n]\) 设\(f[i][j]\)表示前\(i\)个修改\(j\)次的最长LIS \[f[i][j]=max(f[k][l])+1,j>=l&&a[i]+j>=a[k]+l \]用二维树状数组维护即可 #include<bits/stdc++.h> using namespace std; cP3287 [SCOI2014]方伯伯的玉米田
首先可以证明,一定存在一种最优解,每次选择的区间结尾都是 \(n\)。因为如果某一个区间结尾不是 \(n\),将其替换成 \(n\) 仍然保持单调不下降。接着都按这个策略拔高玉米。 令 \(f_{i,j}\) 表示 \(1\sim i\) 这段前缀进行了 \(j\) 次操作,第 \(i\) 株玉米不被拔掉,所能剩下最多的玉米。洛谷 「SCOI2014」方伯伯运椰子 解题报告
「SCOI2014」方伯伯运椰子 可以看出是分数规划 然后我们可以看出其实只需要改变1的流量就可以了,因为每次改变要保证流量守恒,必须流成一个环,在正负性确定的情况下,变几次是无所谓的。 然后按照套路,设 \[ ans=\frac{X-Y}{k}\\ ans\times k =X-Y\\ ans\times k=-\sum w_i\\ \sum ans-w_「SCOI2014」方伯伯的 OJ 解题报告
「SCOI2014」方伯伯的 OJ 和列队有点像,平衡树点分裂维护即可 但是需要额外用个set之类的对编号查找点的位置 插入完了后记得splay,删除时注意特判好多东西 Code: #include <cstdio> #include <cctype> #include <set> const int N=2e5+10; template <class T> void inline read(T &P3285 [SCOI2014]方伯伯的OJ
https://www.luogu.org/problemnew/show/P3285 题目描述 方伯伯正在做他的Oj。现在他在处理Oj上的用户排名问题。Oj上注册了n个用户,编号为1~n“,一开始他们按照编号排名。 方伯伯会按照心情对这些用户做以下四种操作,修改用户的排名和编号: 1.操作格式为1 x y,意味着将编号为x的用户编号