随笔分类 - 动态规划 -- 普通emmm?
摘要:[POI2013]BAJ ytecomputer "P3558 [POI2013]BAJ Bytecomputer" 给一个只包含 1,0,1的数列,每次操作可以让a[i]+=a[i 1],求最少操作次数使得序列单调不降 还是很好想的 这样操作下来最后序列里的数也肯定都为 1,0,1 用$f[i][
阅读全文
摘要:单调队列优化 做动态规划时常常会见到形如这样的转移方程:$f[i] = optimize\{g(j)|L[i] ≤ j using namespace std; const int N=1000000+5,M=2e5+5,inf=0x3f3f3f3f,P=19650827; int n,m,a[N]
阅读全文
摘要:"[BZOJ1296]" "[luoguP4158]" 第一眼没看出来emmm... 所以就先想只有一条木板怎么做 即$f[i][j]$表示前$i$个格子刷$j$次最多能刷正确多少个格子 然后很容易就能想到n条木板就可以将其进行01背包来算最多能刷正确有多少个格子 因为每个格子最多刷一次 所以枚举$
阅读全文
摘要:"[ZJOI2007]棋盘制作" 悬线法 H[i,j]为点(i,j)对应的悬线的长度 L[i,j]为点(i,j)对应的悬线向左最多能够移动到的 位置 。 R[i,j]为点(i,j)对应的悬线向右最多能够移动到的 位置 。 预处理:对于第i行 若(i,j)和(i,j 1)不同色则L[i,j]=L[i,
阅读全文
摘要:"[luogu1578]奶牛浴场" 按照论文上第一种算法 时间复杂度:$O(S^2)$ 空间复杂度:$O(S)$ 算法二的话需要离散化处理一下面积 (from 王知昆dalao的PPT) 现在矩形四个角上各加一个障碍点 第一次取1号点作为所要枚举的极大子矩形的左边界 设定上下边界为矩形的上下边界 从
阅读全文
摘要:我把03年集训队王知昆的论文搬上来辽 王知昆《浅谈用极大化思想解决最大子矩形问题》 王知昆《浅谈用极大化思想解决最大子矩形问题》 【摘要】 本文针对一类近期经常出现的有关最大(或最优)子矩形及相关变形问题,介绍了极大化思想在这类问题中的应用。分析了两个具有一定通用性的算法。并通过一些例题讲述了这些算
阅读全文
摘要:P1052 过河 把ppt上的内容搬上来QAQ 容易想到如下DP方法 f[x]表示跳到坐标x的位置上最少需要踩到的石子个数 f[x] = min( f[x-j] + stone[x] ), s <= j <= t 但是,x高达10^9,难以计算 但也容易发现,最多100个石子,所以很多时候两个石子距
阅读全文
摘要:P1373 小a和uim之大逃离 qwq普通动态规划 f[i][j][k][0/1]走到点(i,j)小a和uim的差值为k 当前这一步是小a/uim走的 只是不知道为什么我注释掉的那坨由当前更新后面会错qwq
阅读全文
摘要:2051 [AHOI2009]中国象棋 开始瓜想状压 发现n≤100压个P 分情况来讨论 利用乘法原理和加法原理 f[i][j][k]放第i行当前只有一个棋子的有j列 有两个棋子的有k列
阅读全文
摘要:1.足球联赛 (soccer.pas/c/cpp) hin水 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<cstring> 5 #include<cmath> 6 #include<stack> 7 #in
阅读全文
摘要:P1772 [ZJOI2006]物流运输 先将各个时间段共同能走的最短路处理出来(毕竟只有100天) 然后dp[i]表示前i天所用最少费用 再枚举断点
阅读全文
摘要:P2215 [HAOI2007]上升序列 这么过分一定要写博客 我从昨天下午搞到今天 还复制了题解的代码来自己验证 打开讨论一看 你告诉我是按下标的字典序????? 是我的锅我的锅 怪我不仔细读题 打到怀疑人生 反复WA0分 谢谢你 让我对LIS的认识又加深了呢 倒着来一遍最长下降子序列 然后按照L
阅读全文
摘要:1854 花店橱窗布置 把图画出来 一眼看过去就特别像走矩阵取数 然后我们就这样做 但是要注意它的位置有限制 一个花束i可取的花瓶位置j在i~v-n+i之间 然后就是记录路径
阅读全文
摘要:P1450 [HAOI2008]硬币购物 第一反应 多重背包 wodema 我准备好我的单调队列优化了 emmmm1k次???怎么搞???? 瓜想20min 难道我真的无法自主做出一道题吗???是的呢先考虑完全背包 然后根据dalao们说的 就像区间相减一样 emmm所以用f[money]-f[mo
阅读全文
摘要:求最长不下降序列 看不出来哪里还错了..... d[i]以i为结尾的最长上升子序列的长度 g[i]表示d值为i的最小状态的编号即长度为i的上升子序列的最小末尾值(d[j]=i的j值最小) liurujia's 二昏好难啊..... 贴上90昏代码....
阅读全文
摘要:1776 宝物筛选_NOI导刊2010提高(02) 我...比较弱 暂时只能打出二进制优化 过段时间再来刚 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using
阅读全文
摘要:2224 [HNOI2001]产品加工 哭辽 决定以后手写比较函数QAQ 开始想了一个二维的 但不对 瓜想了半天决定看题解 发现这个变量的含义很熟悉f[i][j] 表示前i件产品,第一个机器用时j,第二个机器用时f[i][j] 然后就分三种情况来讨论 分别是用第一个机器 第二个机器 两个一起用 算是
阅读全文
摘要:POJ - 3093 问有多少种方案使得无法装入剩下的任意一个物品 一眼看过去 嘻嘻普通一维背包嘛 记录一个最小的物品然后加上就好 样例一跑 emmmmmm 仔细一看 没那么简单QAQ 是道好题 不能再装即=最小的也装不进去 枚举不在背包中的最小值 然后比它小的肯定都装进去了 比它大的装不进去 好像
阅读全文
摘要:P4141 消失之物 看题我直接懵逼 然后想着先打一遍统计方案的dp 猛然发现我忘了.... 灰溜溜打开学长的代码 哦!这样!其实我也可以 我们在转移的时候 是f[v]+=f[v-a[i]] 这样统计的体积为a[i]的贡献值 所以!.....(我咕了)
阅读全文
摘要:一遍dp 要注意转移时它行号注意判断 因为它行是一个环 然后就是UVa一如既往令人窒息的输入输出 主要按的刘汝佳的思路
阅读全文