DP
OI界第一麻瓜
入门菜鸟
展开
-
poj 2228 Naptime
题意现在给你一个环你找刚好b个数,求他们的和每一段数的第一个数不计入贡献要你使得贡献最大题解还不错的题对于环的题,一般考虑的是破环为链,然后DP但是放在这题这样做似乎不是很好做于是可以换一个姿势先不管这是一条链如果只是一个序列的话,n2n^2n2DP就比较简单了考虑如果是环的话有什么情况是序列算不到的那就是111可能可以计入贡献,1计入贡献的情况当且仅当第n天已经开始睡觉...原创 2018-11-08 08:49:17 · 420 阅读 · 0 评论 -
bzoj 4737: 组合数问题
Lucas定理原创 2018-03-18 20:11:01 · 693 阅读 · 0 评论 -
51nod 1611 金牌赛事
题意你是汽车比赛的组织者,现在你将要在线性王国组织几场比赛。线性王国有n条连续的公路,方向由左到右。我们对公路从左到右分别用1-n进行编号。这样,汽车就是沿着编号变大的方向行驶。有几场比赛可能将要在这里举行。每场比赛将会用到线性王国中的某一段连续的道路。对于每一场比赛,如果它举行了,你将会得到一定的费用作为报酬。这些比赛都是分开举行的,所以道路可以重复使用。但是很不幸的,所有的道路都是...原创 2018-03-12 08:43:24 · 345 阅读 · 0 评论 -
bzoj 3233: [Ahoi2013]找硬币
题意小蛇是金融部部长。最近她决定制造一系列新的货币。假设她要制造的货币的面值为x1,x2,x3… 那么x1必须为1,xb必须为xa的正整数倍(b>a)。例如 1,5,125,250就是一组合法的硬币序列,而1,5,100,125就不是。不知从哪一天开始,可爱的蛇爱上了一种萌物——兔纸!从此,小蛇便走上了遇上兔纸娃娃就买的不归路。某天,小蛇看到了N只可爱的兔纸,假设这N 只兔纸的价钱分别是...原创 2018-03-01 09:48:33 · 231 阅读 · 0 评论 -
CF D. Packmen Strike Back
题意给你一个长度为n的字符串 .表示空地 *表示豆子 P表示吃豆子的人 问你所有吃豆人所可以吃到最多的豆子是多少,且输出最少时间题解一个人就直接枚举方向就可以了 如果有两个人,那么他们一定可以把所有豆子吃完 问你就变成了要把所有豆子吃完要多少时间 直接做不好做 考虑二分一个答案 f[i]表示前i个人所可以吃到最右边的豆子,当然,不能漏 那么有三种转移 1.第i...原创 2018-03-01 08:21:45 · 278 阅读 · 0 评论 -
Hihocoder Rikka with Sequence
题意众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的: 勇太有n个[0,8192)中的整数,现在六花可以从中选出若干个数(不可以不取),她的方案需要满足她选出的所有数的异或和恰好等于它们AND(二进制与运算)起来的值,现在勇太想让六花求出满足条件的方案数。 当然,这个问题对于萌萌哒六花来说实在是太难了,你可以帮帮她吗? n≤50题解今天早上想到...原创 2018-02-08 15:15:47 · 273 阅读 · 0 评论 -
51nod 1020 逆序排列
前言今天不小心点开了一个5级算法题。。题解考虑从1~n按顺序吧数插到里面 f[i][j]f[i][j]f[i][j]表示插入了前i个数,然后产生了j个逆序对有多少种方案 显然可以前缀和优化一下 然后就可以了CODE不想写了。。...原创 2018-02-28 08:17:28 · 182 阅读 · 0 评论 -
bzoj 5190: [Usaco2018 Jan]Stamp Painting
题意给你n,m,k 你现在要构造一个长度为n的序列 里面每个数的范围是[1,m][1,m][1,m] 问你有多少种方案使得至少有一段>=k的序列数字是一样的题解由于n是10610610^6 所以我们可以考虑一个和n有关的东西 考虑用全部减去不合法的 就是要减去没有的 那就可以DP了 我们考虑我们把序列分成若干个子序列,所有长度不能达到k 然后相邻的子序列颜色...原创 2018-03-07 11:28:00 · 212 阅读 · 0 评论 -
Good Bye 2016 E. New Year and Old Subsequence
题意自己看英文题解左老师在KOI讲的题,没看题就听题解了QAQ 还没想过呢。。 线段树维护矩阵,好像很难啊。。 然后今天做了一下,发现也不怎么难 就线段树每个节点维护一个DP数组,表示从i状态到j状态所需的代价 0:什么都没有 1:2 2:20 3:201 4:2017 CODE:#include#include#include#include#in原创 2018-02-07 11:49:22 · 252 阅读 · 0 评论 -
bzoj 3522: [Poi2014]Hotel
题意有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达。吉丽要给他的三个妹子各开(一个)房(间)。三个妹子住的房间要互不相同(否则要打起来了),为了让吉丽满意,你需要让三个房间两两距离相同。 有多少种方案能让吉丽满意?n≤5000题解(⊙o⊙)…还有一个加强版,等会做。。估计会在下一篇见到他吧。。 这个的话,显然n2n2n^2可以做呀...原创 2018-02-26 15:43:36 · 268 阅读 · 0 评论 -
51nod 1367 完美森林
题意有一棵N个点的树,树中节点标号依次为0,1,2,…N-1,其中N<=500000。树中有N-1条边,这些边长度不一定相同。现在要把树中一些边删除,设删除了K条边(K>=0,即可以不删除任何边),由树的性质可知,该树将被分割为一个含有K+1棵树的森林。称一个森林是”完美森林”,要求这个森林中的每一棵树满足:该树的直径长度不超过MAXDIST这么长。其中树的直径指树中任意两点的最大...原创 2018-02-09 16:41:34 · 256 阅读 · 0 评论 -
51nod 1254 最大子段和 V2
题意N个整数组成的序列a[1],a[2],a[3],…,a[n],你可以对数组中的一对元素进行交换,并且交换后求a[1]至a[n]的最大子段和,所能得到的结果是所有交换中最大的。当所给的整数均为负数时和为0。 例如:{-2,11,-4,13,-5,-2, 4}将 -4 和 4 交换,{-2,11,4,13,-5,-2, -4},最大子段和为11 + 4 + 13 = 28。题解首...原创 2018-03-06 07:31:26 · 822 阅读 · 0 评论 -
NOIPDAY2T2 宝藏
题意参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋, 也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度。 小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远, 也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路 则相对容易很多。 小明的决心感动了考古挖掘的赞助商,赞助商决定免费赞助他打通一条从地面到某...原创 2018-03-13 21:56:24 · 221 阅读 · 0 评论 -
bzoj 5298: [Cqoi2018]交错序列
题意我们称一个仅由0、1构成的序列为”交错序列”,当且仅当序列中没有相邻的1(可以有相邻的0)。例如,000,001,101,都是交错序列,而110则不是。对于一个长度为n的交错序列,统计其中0和1出现的次数,分别记为x和y。给定参数a、b,定义一个交错序列的特征值为x^ay^b。注意这里规定任何整数的0次幂都等于1(包括0^0=1)。显然长度为n的交错序列可能有多个。我们想要知道,所有长度为...原创 2018-07-20 16:08:17 · 449 阅读 · 0 评论 -
1803 City Game 0x18「基本数据结构」练习
题意一个01矩阵,要找最大的全是1的矩阵题解垂线法的裸题,复习一下CODE:#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;const int N=1005;int n,m;in...原创 2018-07-14 12:44:14 · 260 阅读 · 0 评论 -
51nod 1291 Farmer
题意给你一个01矩阵,问你有i*j的全1矩阵有多少个前言这题肝了很久 主要是受到惯性思维的影响。。 一直没有意识到一个i∗ji∗ji*j的矩阵里面包含了两个i∗(j−1)i∗(j−1)i*(j-1)的矩阵 真是失了智,一个早上就被浪费了题解我们考虑,我们只要左右能扩展最远的极大子矩阵 这个用一个单调栈来维护即可 这个差分一下就可以做到O(nm)O(nm)O(n...原创 2018-07-19 11:38:41 · 891 阅读 · 0 评论 -
bzoj1974代码拍卖会 & 51nod1261上升数
题意一个10进制表示的正整数,如果从左到右,每一位的数字都不小于前一位的数字,则被称为上升数。 给出长度N和一个数K,求有多少个长度恰好为N的上升数,是K的倍数。 1&lt;=N&lt;=1018,2&lt;=K&lt;=5001&lt;=N&lt;=1018,2&lt;=K&lt;=5001 O(k2∗94∗logn)O(k2∗94∗logn)O(k^2*9^4*logn原创 2018-07-12 22:26:49 · 265 阅读 · 0 评论 -
51nod 1488 帕斯卡小三角
前言文化课弱鸡选手又来做题啦。。 (⊙o⊙)…尽量保证一周一或两题?(大雾) 可能过多几个星期文化课补上来就可以多做点题了吧。。题意· f(1,j)=a[j], 1≤j≤n. · f(i,j)=min(f(i-1,j),f(i-1,j-1))+a[j], 2≤i≤n, i≤j≤n. a是一个长度为n的数组。现在有若干个询问,输入x,y,求f(x,y)题解...原创 2018-05-24 16:53:32 · 308 阅读 · 0 评论 -
bzoj 4872: [Shoi2017]分手是祝愿
题意时空将你我分开。B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态,下标为从 1 到 n 的正整数。每个灯有两个状态亮和灭,我们用 1 来表示这个灯是亮的,用 0 表示这个灯是灭的,游戏的目标是使所有灯都灭掉。但是当操作第 i 个开关时,所有编号为 i 的约数(包括 1 和 i)的灯的状态都会被改变,即从亮变成灭,或者是从灭变成亮。B 君发现这个游戏很难...原创 2018-05-06 16:33:26 · 155 阅读 · 0 评论 -
51nod 1201 整数划分 1259 整数划分 V2
前言今天在家颓了一天。。 为了证明自己还是有点用的,所以来补一篇博客 然而还是改不了今天颓了一天的事实明天就要回去上文化课了。。什么都不会呢 感觉省选GG以后一连颓了很多天呢 好吧,省选的时候也在颓1201 整数划分将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种。由于数据较大,输出Mod 10^9...原创 2018-05-05 22:28:51 · 553 阅读 · 0 评论 -
GDOI 2016 Day1 T2 最长公共子串
题意给出两个字符串A和B,求最长公共子串。 其中B串中有k个区间的字符可以任意调换。 |A|,|B|<=2000,k<=100000题解一个显然的性质就是,如果两个区间有交集,那是可以并成一个的 然后我们就来考虑怎么做。。 一个十分朴素的想法,是枚举两个的起点,然后暴力往后匹配 这样做是O(n3)O(n3)O(n^3)的,不满足要求 但是我们考虑一下,枚...原创 2018-05-12 08:47:17 · 178 阅读 · 0 评论 -
GDKOI2018DAY2 T4
题意有n种颜色和L个不同的珠子 如果一种染色方案有k种颜色没用到,那么这个方案的代价就是1k+11k+1\frac{1}{k+1} 现在要求所有染色方案的代价和题解感觉这题的套路比较巧妙。。 先说O(nl)O(nl)O(nl)的吧,虽然这个只可以拿到20分 另g(n,l)g(n,l)g(n,l)为用nnn种颜色给lll个珠子涂色,且每一种颜色都要用到的方案数 如果知道了这...原创 2018-05-10 17:34:55 · 206 阅读 · 0 评论 -
斜率优化复习小结
前言我第一次学斜率优化的时候 学得一头雾水 然后现在,在拥有了许多凸包等东西的支持下 我觉得斜率优化也不过如此先给一个最简单的例题有n个数,分成连续的若干段,每段的分数为a*x^2+b*x+c(a,b,c是给出的常数),其中x为该段的各个数的和。求如何分才能使得各个段的分数的总和最大。 bzoj 1911: [Apio2010]特别行动队 这是我个人觉得最简单的例题了...原创 2018-04-09 21:40:12 · 214 阅读 · 0 评论 -
51nod 1566 重复的最长不下子序列
题解一开始想错了,以为答案是1~n里面选择一个点i,然后选一个终点j,答案是i~j都只选一样的数,然后i前面和j后面贪心地做最大值 发现是错了 样例就是一个反例了QAQ 然后我们再考虑,这个做法错误的原因是两个串拼起来之后可能会有更好的选择 那么多少个串拼起来答案就不会变优了呢? 明显地,是n/2" role="presentation" style="position: relat原创 2018-02-04 16:05:45 · 204 阅读 · 0 评论 -
bzoj 3591: 最长上升子序列
好题原创 2017-12-28 09:23:45 · 642 阅读 · 0 评论 -
bzoj 2726: [SDOI2012]任务安排
CDQ+斜率优化原创 2018-01-03 09:12:32 · 373 阅读 · 0 评论 -
4557: [JLoi2016]侦察守卫
好题原创 2017-09-11 13:59:02 · 300 阅读 · 0 评论 -
3530: [Sdoi2014]数数
数位DP+AC自动机原创 2017-09-10 17:05:16 · 321 阅读 · 0 评论 -
bzoj3594: [Scoi2014]方伯伯的玉米田
DP原创 2017-09-17 19:30:11 · 291 阅读 · 0 评论 -
bzoj4753: [Jsoi2016]最佳团体
分数规划+树形DP原创 2017-09-08 13:36:58 · 412 阅读 · 0 评论 -
bzoj4993: [Usaco2017 Feb]Why Did the Cow Cross the Road II
DP水题原创 2017-08-30 09:25:21 · 486 阅读 · 1 评论 -
4922: Karp-de-Chant Number
分类讨论+DP原创 2017-08-22 09:44:33 · 487 阅读 · 0 评论 -
bzoj1831: [AHOI2008]逆序对
这题吧,一开始以为有什么对于填的数字的结论,但是想来想去,觉得还有很多没填的数字会造成影响,于是不行。。看了下题解,是序列有结论那我们就继续想啊! 如果有两个位置a和b,a在b前面 a填了x,b填了y,要是x比y小的话,要是把x和y交换的话,逆序对肯定会变多 这个很好证的,我就不证了。。 乱七八糟地推导一下,就发现是一个递增序列 这样的话就可以DP了 时间的话是O(nk)O(nk),具体原创 2017-07-27 22:13:04 · 293 阅读 · 0 评论 -
百度之星Valley Numer
数位DP原创 2017-08-19 09:18:52 · 375 阅读 · 0 评论 -
1089: [SCOI2003]严格n元树
这题其实很水啊,就是高精度写了我一会。。这个考虑对d值进行DP 我们只要限定有d-1这个深度就可以推过去了。。 然后因为怕重复,所以我枚举了一下最左边的d-1深度 算了,不想写了。。看看暴力代码吧。。有注释的#include<cstdio>#include<cstdlib>#include<cstring>struct Int{ int a[10000];//东西 i原创 2017-08-11 13:37:48 · 282 阅读 · 0 评论 -
bzoj1801: [Ahoi2009]chess 中国象棋
挺好的一个DP题 我们可以知道每行每列只要不超过有2个跑就是和法的#include<cstdio>#include<cstring>typedef long long LL;const LL N=105;const LL MOD=9999973;LL f[N][N][N];//前i行 有j列是没有棋子的 有k列是有一个棋子的有多少种方案LL n,m; int main()原创 2017-07-31 12:43:56 · 211 阅读 · 0 评论 -
bzoj1855: [Scoi2010]股票交易
傻逼的题+傻逼的人原创 2017-09-29 11:01:57 · 344 阅读 · 0 评论 -
bzoj4417: [Shoi2013]超级跳马
简单的矩阵快速幂原创 2017-10-08 11:16:14 · 509 阅读 · 0 评论 -
bzoj 5004: 开锁魔法II
排列组合+DP+强行double原创 2017-12-17 22:13:22 · 377 阅读 · 0 评论 -
bzoj 5003: 与链
我没想出来原创 2017-12-25 21:56:22 · 356 阅读 · 0 评论