[BZOJ4897][THUSC2016]成绩单(DP)】的更多相关文章

4897: [Thu Summer Camp2016]成绩单 Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 220  Solved: 132[Submit][Status][Discuss] Description 期末考试结束了,班主任L老师要将成绩单分发到每位同学手中.L老师共有n份成绩单,按照编号从1到n的顺序叠 放在桌子上,其中编号为i的成绩单分数为w_i.成绩单是按照批次发放的.发放成绩单时,L老师会从当前的一叠 成绩单中抽取连续的一段…
拿走一个区间的代价只与最大最小值有关,并且如果最后一次拿走包含区间右端点的子序列一定不会使答案更劣,于是设f[i][j][x][y]为使i~j区间剩余最小值为x最大值为y且若有数剩余一定包含j的最小代价,特别地f[i][j][0][0]表示取完i~j区间的最小代价.转移时考虑j最后和哪一段一起拿走,有f[i][j][min(x,a[j])][max(y,a[j])]=min{f[i][d-1][x][y]+f[d][j-1][0][0]},这样就能处理拿走一段后区间的合并了. 区间dp好难啊.…
题目 LOJ2292 分析 比较神奇的一个区间 DP ,我看了很多题解都没看懂,大约是我比较菜罢. 先明确一下题意:abcde 取完 c 后变成 abde ,可以取 bd 这样取 c 后新增的连续段.因此这题需要区间 DP. 能发现取一段区间的代价只与这段区间的最大值和最小值有关.那么用 \(f_{i,j,l,r}\) 表示将区间 \([i,j]\) 取到只剩下值在 \([l,r]\) 中的数的最小代价,\(g_{i,j}\) 表示取完区间 \([i,j]\) 的最小代价,则 \(g_{1,n}…
简单区间dp. 考虑 \(f_{i,j,mn,mx}\)表示 \(i,j\) 区间的最大值为 \(mx\),最小值为 \(mn\) 的最小花费,\(g_{i,j}\) 为删掉 \([i,j]\) 的最小花费.目标答案:\(g_{1,n}\) 我们容易发现这个状态可以由区间 \([L,R-1]\) 和 \([R,R]\) 合并起来,即加入一个 \(v_r\) ,第一个转移方程 \(f_{i,j,\min(mn,v_r),\max(mx,v_r)} = \min \{f_{i,j-1,mn,mx}\…
题目链接 LOJ:https://loj.ac/problem/2292 洛谷:https://www.luogu.org/problemnew/show/P5336 Solution 区间\(\rm dp\),状态比较难想...为啥网上好多仙人说这题很蠢,可能是我太菜了吧 设\(f[l][r]\)表示\([l,r]\)消完的最小代价,\(g[l][r][x][y]\)表示把\([l,r]\)的值域消成\([x,y]\)的最小代价. 注意这题只需要大小关系,所以可以离散化. 转移就很好办了,先转…
题目链接:Click here Solution: 我们设\(f[l][r][x][y]\)表示在原区间\(l\sim r\) 内还未被取走的值最大为\(x\)最小为\(y\)时的代价,这里我们只考虑区间\(l \sim r\) 我们再用\(g[l][r]\)表示将原区间$l\sim r $里的数全部取完的最小代价,则易得转移式 \[ f[l][r][min(x,a[r])][max(y,a[x])]=min(f[l][r][min(x,a[r])][max(y,a[x])],f[l][r-1]…
(总计:共66题) 4.18~4.25:19题 4.26~5.2:17题 5.3~5.9: 6题 5.10~5.16: 6题 5.17~5.23: 9题 5.24~5.30: 9题 4.18 [BZOJ3786]星系探索(伪ETT) [BZOJ4337][BJOI2015]树的同构(树的最小表示法) [BZOJ3551][ONTAK2010]Peaks(加强版)(Kruskal重构树,主席树) [CTSC2017]游戏(Bayes定理,线段树) 4.19 [CTSC2017]吉夫特(Lucas定…
Description 期末考试结束了,班主任L老师要将成绩单分发到每位同学手中.L老师共有n份成绩单,按照编号从1到n的顺序叠 放在桌子上,其中编号为i的成绩单分数为w_i.成绩单是按照批次发放的.发放成绩单时,L老师会从当前的一叠 成绩单中抽取连续的一段,让这些同学来领取自己的成绩单.当这批同学领取完毕后,L老师再从剩余的成绩单中 抽取连续的一段,供下一批同学领取.经过若干批次的领取后,成绩单将被全部发放到同学手中.然而,分发成绩 单是一件令人头痛的事情,一方面要照顾同学们的心理情绪,不能让…
题目描述 给你一个数列,每次你可以选择连续的一段,付出 $a+b\times 极差^2$ 的代价将其删去,剩余部分拼到一起成为新的数列继续进行此操作.求将原序列全部删去需要的最小总代价是多少. 输入 第一行包含一个正整数n,表示成绩单的数量. 第二行包含两个非负整数a,b,表示给定的评估参数. 第三行包含n个正整数w_i,表示第i张成绩单上的分数. 输出 仅一个正整数,表示最小的代价是多少. 样例输入 103 17 10 9 10 6 7 10 7 1 2 样例输出 15 题解 区间dp 对于这…
题目链接 BZOJ4897 题解 发现我们付出的代价与区间长度无关,而与区间权值范围有关 离散化一下权值 我们设\(f[l][r][x][y]\)表示区间\([l,r]\)消到只剩权值在\([x,y]\)所需最小代价 \(f[l][r][0][0]\)即为消完的最小代价 那么 \[f[l][r][0][0] = min\{f[l][r][x][y] + a + b(w[y] - w[x])^2\}\] 转移的话,贪心地取出区间两边在权值区间\([x,y]\)以内的数,剩下区间\([l',r']\…
$f(i,j,x,y)$ 表示区间 $[i,j]$中,第 $j$ 个数在最后一次操作中才消去,最后一次操作的最大值为 $x$,最小值为 $y$ 时的最小代价: $g(i,j)$ 表示区间 $[i,j]$ 中,不管第 $j$ 个数是在之前哪次消的情况下,消掉区间所有数的总代价. 则 $$f(i,j,max(a,w_i),min(b,w_i)) = \min(f(i,j,max(a,w_i),min(b,w_i)),\space f(i,k,a,b)+g(k+1,j-1))$$ $$g(i,j)=\…
成绩单 $f[l][r][mi][mx]$表示从l到r发到还没发的部分的最小值为mi最大值为mx时的最小代价. $f[l][r][0][0]$表示从l到r全部发完的代价. 自己写的无脑dp,枚举中转点k,分成(i,k) (k+1,j)两个区间,分别用mi,mx都在左区间,都在右区间,一个左一个右来转移,这样会发现可以转移过来的都是某个一维或者二维前缀和的形式,于是我开了四个二维数组,暴力维护了6个前缀和更新答案... 然后代码就比较鬼畜 //Achen #include<algorithm>…
BZOJ 显然是个区间DP.令\(f[l][r]\)表示全部消掉区间\([l,r]\)的最小花费. 因为是可以通过删掉若干子串来删子序列的,所以并不好直接转移.而花费只与最大最小值有关,所以再令\(g[l][r][j][k]\)表示将区间\([l,r]\)中的数删到只剩下权值在\([j,k]\)中的数的最小花费(也就是让剩下数的最小值为\(j\),最大值为\(k\),最后一次取走\([j,k]\)这些数来删掉整个\([l,r]\)).为了方便转移强制右端点\(r\)保留,同整个区间最后一起删掉.…
题目:https://loj.ac/problem/2292 直接 DP 很难做,主要是有那种 “一个区间内部有很多个别的区间” 的情况. 自己想了一番枚举 max-min 的最大限制,然后在该基础上最小化区间个数之类的.还是不会. 看了题解才会. 考虑再设一个 dp 数组来辅助表示那种麻烦的情况. 值可以离散化!又因为代价与值有关,可以考虑把值放进角标里. 令 f[ i ][ j ] 表示把 [ i , j ] 全取完的最小代价,g[ i ][ j ][ l ][ r ] 表示把 [ i ,…
Prelude 快THUWC了,所以补一下以前的题. 真的是一道神题啊,网上的题解没几篇,而且还都看不懂,我做了一天才做出来. 传送到LOJ:(>人<:) Solution 直接切入正题. 我们考虑区间dp,第一件事是离散化. 然后用\(g(i,j)\)表示消除完闭区间\([i,j]\)的最小费用. 然后呢?怎么转移?exm??? 这时候会有一个非常自然的想法. 计算\(g(i,j)\)的时候,我们枚举两个数\(l,r\),然后保留下值在闭区间\([l,r]\)之内的所有数,先消除掉其他的数字…
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4897 [题解] 第一次看这题想的是f[l,r]的区间dp发现仅记录这两个好像不能转移啊 会出现abaca这种情况,也就是拿走的段在原序列中不连续. 考虑为什么会出现这个情况,肯定是这三个a里的元素十分集中,我们才会留着等合并后取. 我们离散值域,记f[l,r,nl,nr]表示[l,r]区间内,剩下[nl,nr]没拿走的min代价. 特别的如果nl=nr=0就表示全拿走了. 那么考虑f[l,…
传送门 g[i][j][k][l]g[i][j][k][l]g[i][j][k][l]表示将区间l,rl,rl,r变成最小值等于kkk,最大值等于lll时的花费的最优值. f[i][j]f[i][j]f[i][j]表示取掉区间l,rl,rl,r的最优值. 考虑ggg数组的转移. g[i][j+1][min(k,w[j+1])][max(l,w[i+1])]=min(g[i][j+1][min(k,w[j+1])][max(l,w[i+1])],g[i][j][k][l])g[i][j+1][mi…
区间\(dp\)提升复习 不得不说这波题真的不简单... 技巧总结: 1.有时候转移可以利用背包累和 2.如果遇到类似区间添加限制的题可以直接把限制扔在区间上,每次只考虑\([l,r]\)被\([i,j]\)完全包含的情况 [BZOJ4897] [Thu Summer Camp2016] 成绩单 典型的利用背包转移,\(dp[i][j]\)表示处理完这段\([i,j]\)区间的答案 转移时一段区间可以被先处理掉或者直接从已经处理完的\(dp[i][j]\)中取过来,这个可以用一个背包维护 con…
自从angular问世,一直就有去了解学习angular,一直想用angular去做一个项目,但无奈,大ng是国外产物,ng1.2版本就只兼容到IE8,1.3后的几个版本提升到IE9,据说NG2.0更是向移动端靠拢的. 一次次纠结中一天逛博客看到了司徒正美开发的avalon,当时又兴奋又犹豫,总觉得是一个私人在维护的框架,在许多方面都让人提不起信心,虽然一直有在学习avalon,但也一直不敢投入正式的生产环境中,一次次的逛官网看教程运行实例,现在想想还不如动手多做做示例. 今天就用avalon来…
补退选 Luogu LOJ BZOJ 比较裸. 建一棵Trie树,记录一下每个节点的\(sum\)表示经过该点的字符串个数,每次暴力插入.删除. 同时每个节点维护一个vector,记录一下这个点的\(sum\)第一次达到(超过)某个值的时间. 容易证明vector的总的元素个数是\(O(\sum|S|)\)的.总的复杂度为\(O(\sum|S|)\). #include<bits/stdc++.h> using namespace std; const int N=100007,M=60*N;…
Description 期末考试结束了,班主任L老师要将成绩单分发到每位同学手中.L老师共有n份成绩单,按照编号从1到n的顺序叠 放在桌子上,其中编号为i的成绩单分数为w_i.成绩单是按照批次发放的.发放成绩单时,L老师会从当前的一叠 成绩单中抽取连续的一段,让这些同学来领取自己的成绩单.当这批同学领取完毕后,L老师再从剩余的成绩单中 抽取连续的一段,供下一批同学领取.经过若干批次的领取后,成绩单将被全部发放到同学手中.然而,分发成绩 单是一件令人头痛的事情,一方面要照顾同学们的心理情绪,不能让…
1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Status][Discuss] Description Input Output Sample Input 4 -1 10 -20 2 2 3 4 Sample Output 9 HINT f[i]=max{f[j]+...} 随便一化就好了 (a*(s[k]*s[k]-s[j]*s[j])+f[k]-f[…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and sometimes roleplaying game) is a game in which players assume the roles of characters in a fictional setting. Players take responsibility for acting…
1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS服务的热部署机制. 后续基于AEAI DP开发的开源AEAI应用软件,如:CRM.HR.WM.EM将会陆续基于AEAI DP 3.7版本进行升级. 2  升级内容 1.类库升级: a) 升级JDK1.7.X b) 升级CXF版本为3.1.2 c) 升级Spring版本为4.1.6.RELEASE d…
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并上传至开源社区,下载地址:http://pan.baidu.com/s/1gdKlQvD. 1 升级说明 AEAI DP v3.6版本是一次常规升级,也是AEAI DP最后一次支持JDK1.6版本,后续AEAI DP产品升级将会基于JDK1.7进行扩展开发.AEAI DP 3.7版本将扩展支持Res…
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit][Status][Discuss] Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000). 每块土地…
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroSky/p/6009685.html [一] 对于一类转移方程: f[i]=max{a[i]*b[j]+c[i]+d[j]} a[i]和c[i]是开始求解前就知道常数,b[j]和d[j]知道f[j]后就知道有关 可以使用斜率优化(不是这个形式就尽量往这个形式化) {以下讨论不严格区分优于和不差于} […
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][Status][Discuss] Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P…
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上, 每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量. 横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素…
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public int…