bzoj 1109】的更多相关文章

1109: [POI2007]堆积木Klo Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 948  Solved: 341[Submit][Status][Discuss] Description Mary在她的生日礼物中有一些积木.那些积木都是相同大小的立方体.每个积木上面都有一个数.Mary用他的所有积木垒了一个高塔.妈妈告诉Mary游戏的目的是建一个塔,使得最多的积木在正确的位置.一个上面写有数i的积木的正确位置是这个塔从下往上数第i个位置…
BZOJ 二维\(DP\)显然.尝试换成一维,令\(f[i]\)表示,强制把\(i\)放到\(a_i\)位置去,现在能匹配的最多数目. 那么\(f[i]=\max\{f[j]\}+1\),其中\(j<i,\ a_j<a_i,\ j-a_j\leq i-a_i\).就是三维偏序,可以\(CDQ\). 这三个不等式很相似,再观察一下,发现由\(a_i>a_j,\ i-a_i\geq j-a_j\)就可以推出\(i>j\). 所以只要满足两个条件就可以了,即二维偏序. 同时转移比较特殊,…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1109 [题目大意] Mary在她的生日礼物中有一些积木.那些积木都是相同大小的立方体. 每个积木上面都有一个数.Mary用他的所有积木垒了一个高塔. 妈妈告诉Mary游戏的目的是建一个塔,使得最多的积木在正确的位置. 一个上面写有数i的积木的正确位置是这个塔从下往上数第i个位置. Mary决定从现有的高塔中移走一些,使得有最多的积木在正确的位置. 请你输出最优答案 [题解] 我们发现…
[题意] n个数的序列,删除一个数后序列左移,求最后满足i==a[i]的最大个数. [思路] 设最终得到a[i]==i的序列为s,则s应满足: i<j,a[i]<a[j],i-a[i]<=j-a[j] 最后一项代表后边的移动距离不少于前边的. 因为i=i-a[i]+a[i] 所以只要满足i-a[i]单调不减,a[i]单调递增则i一定递增. 则问题转化为一个二维偏序问题,O(nlogn)求LIS.用个BIT即可. [代码] #include<cstdio> #include&l…
题目大意:给定一个序列,能够多次将某个位置的数删掉并将后面全部数向左串一位,要求操作后a[i]=i的数最多 首先我们如果最后a[i]=i的数的序列为S 那么S满足随着i递增,a[i]递增(相对位置不变),i-a[i]单调不减(后面的不会比前面移动的少) 这是一个三维偏序问题 要是不看题解我就真去写CDQ分治了233 我们发现i=(i-a[i])+a[i] 也就是说假设一个序列满足i-a[i]单调不减且a[i]单调递增 那么i一定单调递增 于是就剩两维偏序了 LIS走起吧= = #include…
思路:我们考虑dp[ i ] 表示的是 i 在指定位置上 的最大个数, dp[ i ] = max(dp[ j ] + 1) j需要满足3个条件 1. j < i 2. a[ j ] < a[ i ] 3. a[ i ] - a[ j ] <= i - j 通过 2,3 我们能推出1 所以其实是个二维偏序问题 将序列按 a[ i ]排序后可以用树状数组解决或者转化为LIS问题. #include<bits/stdc++.h> #define LL long long #def…
题面 传送门 分析 设dp[i]是第i个积木在自己的位置上时,前i个积木中最多能回到自己位置的数目. \(dp[i]=max(dp[j])+1 (i>j,a[i]>a[j],a[i]-a[j]<=i-j)\) 其中\(a[i]>a[j]\)是保证i,j都在自己的位置上,\(a[i]-a[j]<=i-j\)是为了保证中间有足够的积木让i能在a[i]这个位置上. 转换一下发现有三个条件: $(1) i>j $ $ (2) i-a[i]>=j-a[j]$ \((3) a…
题意 \(n(1 \le n \le 100000)\)个数放在一排,可以一走一些数(后面的数向前移),要求最大化\(a_i=i\)的数目. 分析 分析容易得到一个dp方程. 题解 \(d(i)\)表示前\(i\)个数且第\(i\)个数放在\(a_i\)位置的最大答案,则\(d(i) = max(d(j)+1) (j < i, a_j < a_i, j - a_j \le i-a_i)\),发现是一个三维偏序.然而这个三维偏序是可以变成二维偏序的. 由于\(j-a_j \le i-a_i, a…
BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Length 695765 Eolv 1000 Accepted 804 kb 0 ms 118 B 739478 Eolv 2463 Accepted 804 kb 0 ms 134 B 696662 Eolv 1968 Accepted 1272 kb 48 ms 137 B 739546 Eolv…
2127: happiness Time Limit: 51 Sec  Memory Limit: 259 MBSubmit: 1815  Solved: 878[Submit][Status][Discuss] Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文科或者理科,那么他们又将收获一些喜悦值.作为计算机竞赛教练的scp大老板…