自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

转载 字符串/序列类DP(二)

题目:P1026 统计单词个数\(\text{蒟蒻在DP之路上求索着}\)作为一道NOIP的中档题目,它很好地把我虐趴下了展现出了NOIP的难度水平.以至于不看题解我根本没思路花了好久好久才A掉.思路这道题让我学习了如何使用\(STL\)中的\(string\).它真是太好用了.\(string\)中有一个\(find(str)\)函数,可以用于从字符串中找到\(str\)...

2019-09-29 15:40:00 131

转载 贪心与DP——P1987摇钱树

题目:P1987 摇钱树\(\text{蒟蒻在DP之路上求索着}\)这道题我一开始竟然觉得是区间DP思路看起来这道题我们可以以任何顺序来砍树,这就牵扯到先后砍树哪一种更优.如果我们要暴力的话,那就是枚举树的全排列,然后寻找最优解.可是如果我们不枚举,有没有办法通过一些方法判断出哪一棵树先砍呢?还记得国王游戏吗,在那一题中我们讨论了邻项交换法来寻找贪心策略.我们不妨来尝试一下...

2019-09-27 13:08:00 220

转载 字符串/序列类DP(一)

题目:P1279 字串距离\(\text{蒟蒻在DP之路上求索着}\)这道题让我想起了在一个数字串中添加若干乘号使得乘积最大的问题。我开始考虑在前\(i\)个字符中插入\(j\)个字符的最小距离。后来我发现我不会转移(泪)。于是我打算一步一步,从分析开始找到其中的秘密。思路观察这道题是要求字符匹配然后求出最小的差值。因此相比于在字符串中插入空格,不如说是指定哪个字符与哪个字符...

2019-09-25 11:53:00 127

转载 区间dp与滚动数组——[USACO10DEC]宝箱Treasure Chest

题目:P3004 [USACO10DEC]宝箱Treasure Chest\(\textit{蒟蒻在DP之路上求索着}\)这道题要求每次只能从最左边或者最右边取走硬币,这是一个经典的区间DP模型.思路在刚刚看到这个题目的时候,我首先像个傻子一样想到了"哪边大拿哪边不就好了".但是只需要三秒钟就可以找到一个反例:\[1,2,114514,3\]别忘了,对手也会取最优策略...

2019-09-21 22:54:00 164

转载 多重背包的二进制分解法

题目:P1776 宝物筛选_NOI导刊2010提高> \(\text{蒟蒻在DP之路上求索着}\)这是一道裸的多重背包,也就是给出若干种物品,每种物品的价格是\(v_i\),每种物品的代价是\(w_i\),每种物品有\(c_i\)件的背包问题.思路当我们在看到这种题的时候,首先想到可以直接把每种物品视为\(c_i\)件不同的物品,然后做01背包.这原则上是正确的.但是,题目...

2019-09-20 11:58:00 210

转载 二维差分与二维前缀和

推荐模板题:[USACO19FEB]Painting The Barn差分与前缀和互为逆运算,即差分数组的前缀和数组为原数组,前缀和数组的差分数组为原数组.二者都利用了容斥原理,这一点在二维平面(或者二维数组)中体现的更加明显.那么我们先来讲二维前缀和二维前缀和一维的前缀和数组是求从数组的首项加到当前项的和,即:\[sum[i]=\sum_{j=1}^{i}a[j]=(\su...

2019-09-13 21:07:00 278

转载 luogu P1854 花店橱窗设置

DP怎么能学好呢(允悲题目描述某花店现有\(F\)束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按\(1\)到\(V\)顺序编号,\(V\)是花瓶的数目。花束可以移动,并且每束花用\(1\)到\(F\)的整数标识。如果\(I < J\),则花束\(I\)必须放在花束\(J\)左边的花瓶中。例如,假设杜鹃花的标识数为\(1\...

2019-09-10 13:13:00 133

转载 P3874 [TJOI2010]砍树

典型的树形DP,但是做起来还是要看题解,看来还是不会吖.题目背景小\(A\)在果园里发现了一棵结满果子的树,于是他就打起了坏主意,他打算把树的一部分砍下来带回家。题目描述我们可以把这棵树表示成一个树型的结构,也就是说,任意两个点之间有且仅有一条路径。在每个点\(i\)处都结着一个水果,每个水果有一个价值\(v_i\)和重量\(w_i\)。小\(A\)想带走树的一部分(或全部),包...

2019-08-30 11:40:00 164

转载 相邻项交换排序类贪心问题

事实上这种考虑方式完全可以构成一类题的解题思路,因此我决定做一个小结,不过无法像ouuan奆佬那样写出完整的论文.重要参考:ouuan奆佬的博客浅谈邻项交换排序的应用以及需要注意的问题例题1 国王游戏题目描述恰逢\(H\)国国庆,国王邀请\(n\)位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这\(n\)位大...

2019-08-29 15:33:00 523

转载 P1220 关路灯

不看题解我是真的不会DP吖题目描述某一村庄在一条路线上安装了\(n\)盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置...

2019-08-20 16:58:00 100

转载 常见思想——倍增

倍增真的好难理解啊WSLNo.1 倍增RMQ:P3865 【模板】ST表题目描述给定一个长度为\(N\)的数列,和\(M\)次询问,求出每一次询问的区间内数字的最大值。输入格式第一行包含两个整数\(N,M\),分别表示数列的长度和询问的个数。第二行包含\(N\)个整数\((\)记为 \(a_i)\),依次表示数列的第\(i\)项。接下来\(M\)行,每行包含两个整数\(l_...

2019-08-20 16:57:00 195

转载 神奇思想——离线操作

本文不讨论强制在线(允悲)有一些看起来很不可做的题目,会有很多变态的条件和询问,让人摸不着头脑,但是这种题的题解中不乏一种神奇的小方法——离线处理。而且就我目前短浅的见识来看,这种做法多出现在数据结构和贪心中.例题 P1972 [SDOI2009]HH的项链题意给定一个长度为\(n\)的数列\(a\),其中\(a_i\)是\((1,1000000)\)之间的正整数.现在有\(m\...

2019-08-20 16:48:00 231

转载 2019.8.13 模拟赛

T1题意有一个\(1...n\)的排列,现在给出\(n\)和一个正整数\(k\),代表目标是原序列右移\(k\)次的结果(右移一位代表将当前的序列末尾插入头上,如\(12345\)右移两次是\(45123\))你可以进行任意次操作,每次反转一个区间\([l,r]\),最终使得原序列变为目标序列.最小化操作次数并输出任意一组方案.\(0≤k<n≤100\)解法事实上,这个题...

2019-08-20 16:47:00 103

转载 基础树形DP——P1040 加分二叉树

题目描述设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第ii个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下:subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数。若某个子树为空,规...

2019-08-20 16:46:00 182

转载 专题——四维DP

因为在做题的时候常常做不出来,一看题解大呼“竟然有四维”,所以我决定整理一下四维DP的问题。T1 P1004 方格取数题目描述设有N×N的方格图(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。如下图所示(见样例):A0 0 0 0 0 0 0 00 0 13 0 0 6 0 00 0 0 0 7 0 0 00 0 0 14 0 0 0 00 2...

2019-08-20 16:44:00 293

转载 8.9 莫比乌斯反演

DLSTXDY积性函数对于任意a,b,gcd(a,b) == 1,都有f(ab) = f(a)f(b).也就是f(n)=f(p1^e1)...f(pk^ek)常见的积性函数有 d(x), σ(x), id(x), e(x), I(x), µ(x) d(x) = ∑a|x 1, σ(x) = ∑a|x a, id(x) = x, I(x) = 1 e(x) = 1 ⇐⇒ x = ...

2019-08-20 16:43:00 116

转载 8.08 贪心

T1问题给你一个长度为n的数字,可以删掉其中的m位,使得结果数字最小.解法首先考虑m = 1的情况.此时我们为了降低字典序,显然要从前往后找到第一个下降的数字,然后删掉它.这样起到了降低字典序的效果.然后考虑一般情况,其实相当于m次这个过程.这体现了贪心的核心:单步最优解导致全局最优解.我们删去了m个数字,这些数字也可以组成一个序列.如果当前贪心不是最优解,那与最优解相比,肯...

2019-08-20 16:42:00 71

转载 重要基础数据结构——单调栈

例题例题1 SP1805 Largest Rectangle in a HistogramA histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different...

2019-08-20 16:41:00 435

转载 7.31 "简单"(大嘘)DP

T1问题给定一个n * m的矩阵,要求在每一个格子填入0或1,使得没有相邻的1,问方案数有多少解法用f[i][j][s]代表现在在(i,j),状态为s的方案数.状态S为一个数,将它转化成二进制后,每一位的0或1代表目前最晚填完的m个格子的方案数,也就是从[i-1][j]到[i-1][m];从[i][1]到[i][j-1]的这m个.这样就可以一直更新了.T2问题给定n个字符串...

2019-08-20 16:39:00 113

转载 P2014 选课

题目描述在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修课即只有学完了课程a,才能学习课程b)。一个学生要从这些课程里选择M门课程学习,问他能获得的最大学分是多少?输入格式第一行有两个整数N,M用空格...

2019-08-20 16:38:00 52

转载 7.30 "简单"(大嘘)DP

T1题目给定n个括号序列,要求从中选出若干个拼起来,使得拼成的序列为合法的括号序列,在此基础上使得长度尽量长.n <= 1000,总长度 <= 10000解法对于一个括号序列来说,如果将其中匹配的括号去掉的话,它的形式会变成左边一串右括号,右边一串左括号.比如)()))((,去掉匹配括号之后就形如)))((,可以用二元组(3,2)来表示.设f[i][j]表示考虑了...

2019-08-20 16:36:00 130

转载 P2341 受欢迎的牛

题目描述每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果A喜欢B,B喜欢C,那么A也喜欢C。牛栏里共有N 头奶牛,给定一些奶牛之间的爱慕关系,请你算出有多少头奶牛可以当明星。输入格式第一行:两个用空格分开的整数:N和M第二行到第M + 1行:每行两个用空格分开的整数:A和...

2019-08-20 16:35:00 75

转载 P1020 导弹拦截

题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是≤50000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截...

2019-08-20 16:34:00 81

转载 The captain题目回顾

题面给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。分析首先,直接走过去花费肯定是min(...).画图可以发现,在1,n围成的矩形中,如果有其他点,那么通过其他点走过去一定不会更劣(至少不亏).而且最短路显然会选择更短的路线(废话)所以两个点之间可以建两条边也无所谓.所以,我们按照x排序...

2019-08-20 16:33:00 97

转载 7.29 "简单"(大嘘)DP

今天是真的头疼T1问题有n个电线杆,第i个高度为h[i],在相邻的电线杆之间造电线需要的价值是abs(h[i]-h[i-1]) * C.为一根电线杆增加X高度的代价是X²,最小化代价和n <= 10^5,h[i],C[i] <= 100;解法设f[i][j]表示T2问题求有多少长度为N的排列,使得每个数要么比旁边两个都大,要么比旁边两个都小.N <=...

2019-08-20 16:32:00 156

转载 经典模型——并查集解决区间/树链染色问题

蒟蒻的第一篇blog模型背景:已知一个长度为n的序列,开始时序列的每一个元素都没有颜色(0),现进行m次操作,第i次操作将一段区间[l,r]中还未被染色的点(即a[i]=0的点)染成颜色i.问m次操作后这个区间长什么样子,并将它输出来.数据规模约定:对于100%的数据,n,m<=10^6问题解决我会nm暴力!对于每一个操作i,暴力扫描[l,r],染色,最后输出....

2019-08-20 16:31:00 649

转载 luogu P3078/P5019/P1969

三倍经验NOIP2018 铺设道路NOIP2013 积木大赛题意给出一个长度为n的数列A,每次可以任选一段区间[l,r],使A[l]到A[r]全部-1,最终将整个序列减到0,求最小操作次数.分析一开始的序列可以转化成这个样子.每一次选取一段区间-1,可以怎么操作呢?1.暴力枚举区间,然后暴力-1emmm,时间复杂度:O(不能过),pass.※期望得分:0;2.线段...

2019-08-20 16:29:00 154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除