dp
文章平均质量分 62
星辰大少主
重庆oier
展开
-
【USACO3.2.2】01串
题目【问题描述】 给出三个整数:N,L,i。需要你找出长度为N,且1的个数小于等于L的二进制数中,第i小的那个二进制数。【输入格式】 共一行,用空格分开的三个整数N,L,i。【输出格式】 共一行,输出满足条件的第i小的二进制数。【输入样例】 5 3 19【输出样例】 10011【数据范围】 1 <= L <= N <=31 所有测试数据中,第 i 小的二进制数一定能找原创 2017-08-01 16:49:16 · 257 阅读 · 0 评论 -
BZOJ 3329: Xorequ
题目原题链接 有这样一类数,x^(3x)=2x 求n之内有多少个x以及2^n之内有多少个x,第二问要mod x可达1e18分析变形: x^(2x)=3x x^(2x)=x+2x 说明在这里^运算和+运算等价,有2x=x<<1,可以推出只有每位元素都和前一位元素不同时为1才满足这个条件。第一问数位DP第二问由当前选择0,则后一位随便选,当前选择1,则后...原创 2018-03-13 20:22:31 · 168 阅读 · 0 评论 -
BZOJ1010: [HNOI2008]玩具装箱toy(斜率优化以及斜率优化套路)
题目将n个元素进行分组,每个元素都有一个权值w[i],每组的元素必须是一段连续的元素,将i~j 这一组组带来的费用是(∑jk=iw[k]−L)2(∑k=ijw[k]−L)2(\sum_{k=i}^jw[k]-L)^2,求最小费用分析老子终于写了一道斜率优化啦!!!!先说一下斜率优化的一般步骤: 1. 推出DP方程,大概是f[i=min{f[j]+g(i,j)}的形式,max也...原创 2018-03-19 19:36:01 · 144 阅读 · 0 评论 -
BZOJ 1023: [SHOI2008]cactus仙人掌图(仙人掌DP)
题意求仙人掌直径 仙人掌直径:任意两点间最短路的最大值。说两句仙人掌DP包括所有仙人掌题目都是要抓住那个简单环,讨论在环上和不在环上或者是环的根和不是环的根的情况。 如果可能的话尽可能向树的方向靠拢,因为树非常特殊。 具体实现其实主要就差不多是个tarjan算法了。 在有些复杂的时候可能需要先DFS预处理出仙人掌的双亲结点,父亲儿子这些,但是像这种比较简单的题目就没必要预处...原创 2018-03-13 10:46:46 · 217 阅读 · 0 评论 -
BZOJ3670: [Noi2014]动物园(DP)
前言这道题理解KMP真是再好不过了,虽然和KMP没什么关系。 但是这里核心就是处理KMP的next数组,而KMP的重难点也是next数组,所以对于刚刚学了KMP的少主来说真的是很恰到好处了。题意求出一个序列每一个前缀的不重合的相同前缀和后缀的个数。 看不懂吧。。。。看这个 题目链接分析虽然说和KMP关系密切并且你必须会KMP,但实际上分析和KMP没啥关系。 大概...原创 2018-03-06 23:28:57 · 189 阅读 · 3 评论 -
关路灯(区间dp)
题目【问题描述】 某一村庄在一条路线上安装了N盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。 为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置的路灯,然后可以向左也可以向右去原创 2017-08-25 22:23:02 · 691 阅读 · 0 评论 -
【USACO3.3.5】游戏(区间dp的滚动数组与编码问题)
前言这篇文章是以介绍对角线填表的滚动数组为主,以区间dp为典型应用并且以USACO3.3.5游戏为引例展开题目【问题描述】 有如下一个双人游戏: N个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜。 编一个执行最优策略的程序,最优策略就是使自己能得到...原创 2017-08-24 23:38:52 · 297 阅读 · 0 评论 -
分组背包
题目【问题描述】 有n个物品,编号为1..n,编号为i的物品的体积为v[i],价值为p[i]。 有m个同样的背包,编号为1..m,他们的最大容积都为C。 现在需要选择一些物品装入这些背包,要求编号大的背包装入的物品不能比编号小的背包装入物品的编号小,具体地说,不允许把编号为2的物品装入背包1,然后把编号为1物品装入背包2的情况出现,也就是说,物品时按编号由小到大的顺序装入背包的,并且只有在原创 2017-08-11 21:58:49 · 235 阅读 · 0 评论 -
阿里巴巴(区间dp)
题目【问题描述】 在一条直线上有 n 件珠宝,已知每件珠宝的位置xi,并且第 i 件珠宝在 ti 时刻(单位:秒)就消失,问能否将所有的珠宝收集起来?如果能,求出最短时间。搜集能瞬间完成,但收集的人每秒只能移动一个单位的距离。【输入格式】 若干组数据,每组数据的第一行为n,表示有n颗珠宝,接下来的n行,每行宝行两个整数:x,t,表示珠宝的位置和消失时间。【输出格式】 如果有解,原创 2017-08-17 23:21:00 · 222 阅读 · 0 评论 -
旅馆
前言为了弥补用各种关键字使用搜索引擎搜索这道题目都出现的是旅游广告什么的这个缺陷,我决定来写一篇博客贴个代码供大家共同学习题目【问题描述】 小沐几年前到德国去旅游时住过一间旅店,觉得它非常有特色,这次旅游打算还要住那里。但是他已经记不清旅店的名字了,于是他使用通配符’‘和’?’和26个小写字母来描述。注意,这里的’‘代表0个或任意多个字母,’?’代表一个字母。 小沐在网上找到了一系列旅店的名原创 2017-08-16 22:02:53 · 200 阅读 · 0 评论 -
越大越聪明(输出路径问题)
题目【问题描述】 一些人认为,大象的体形越大,脑子越聪明。为反驳这一错误观点,你想要分析一组大象的数据,找出尽量多的大象组成一个体重严格递增但IQ严格递减的序列。【输入格式】 第一行一个整数N(编号为1..N); 接下来的N行,每行两个整数,分别第i头大象表示体重W[i]和IQ指数S[i]。【输出格式】 第一行输出一个整数,表示找到的最长的大象序列长度m; 接下来m原创 2017-08-16 20:04:13 · 608 阅读 · 0 评论 -
BZOJ:2726: [SDOI2012]任务安排(斜率优化)
题目你有n个任务和一台机器,第i个任务完成时间是s[i],带来的费用是它的完成时间*费用系数f[i]。 每次启动机器需要时间S,可以将几个任务分成一组,这样只需要启动一次机器,但是所有任务的完成时间都将被计算为最后一个任务完成的时间。 注意计算等待时间!!! 现在你需要使费用最小。 时间可以为负数 0 < N<=300000 0<=S<=2^8 -(2^8)&...原创 2018-03-20 19:00:57 · 197 阅读 · 0 评论