例题1

noiopenjudge9277

给出在最底层的木头的个数,问有多少种堆放木头的方式,当然你的堆放方式不能让木头掉下来.

在堆放的时候木头必须互相挨着在一起.

设dp[i]表示多少个log(原木)为底时的方案数。

dp[i]=dp[1](i-1)+dp[2](i-2).....dp[i-1]*1

这就是dp方程,不过好像是O(n^2)的,过不了

我们再看看看dp[i+1]

dp[i+1]=dp[1]i+dp[2](i-1).....dp[i]*1

发现dp[i+1]是dp[i]加上1~i dp值的和

然后使用前缀和,就可以O(n)处理


例题2

hdu4362

在连续的 n 秒中,在x轴上每秒会出现 m 个龙珠,出现之后会立即消失,知道了第0秒所在的位置,每从一个位置i

移动到另一个位置j的时候,消耗的价值为abs(i-j), 拿到龙珠也要消耗一个价值(不同龙珠的价值不同),问 n 秒之后最少消耗多少价值。

dp最基础的o(nm^2)很好想

我们考虑优化

abs很难看,我们拆开他,就是左起一次dp,右起一次dp,取最小值。

然后我们设一个数s,表示当前可以从s这个最优状态中转移

s如何求。我们只需要比较挖出上一个龙珠的价值加上和跑过来的价值,和单挖当前龙珠的价值就可以了。


例题3

hdu5009

给你一个数组,每个值代表一种颜色,每次选一个区间涂颜色,代价是区间内颜色种类数的平方,涂完所有数组,问你最小代价是多少。

o(n^2) 的dp很好想,然是我们仍然过不去2333.我们还是需要考虑加速

我们想一下,如果有数量相同种颜色的长度不同,右端点相同的区间,我们肯定是选长的。显而易见的贪心。

然后我们考虑记录每个颜色最晚的出现位置并维护(类似扫描)

用一个链表,每次按着颜色网后跳,最多跳\(\lfloor \sqrt{n} \rfloor\)次,时间复杂度就是O(\(n \sqrt{n}\));

对于五万的数据就是可以过了了。

qbxt Day3 其余题的更多相关文章

  1. qbxt Day3 on 2019-8-18

    qbxt Day3 on 2019-8-18 一.基础数论 1.进制转换 进制转换是一个非常简单且基础的问题. 也许我们只需要...Emmm... 列个式子就好了鸭 设\(k\)进制数每一位上是\(a ...

  2. 正睿OI DAY3 杂题选讲

    正睿OI DAY3 杂题选讲 CodeChef MSTONES n个点,可以构造7条直线使得每个点都在直线上,找到一条直线使得上面的点最多 随机化算法,check到答案的概率为\(1/49\) \(n ...

  3. 【套题】qbxt国庆刷题班D2

    D2 今天的题感觉还是好妙的 T1 传送门 Description 现在有一张\(n\)个节点\(m\)条边的无向连通图\(G=(V,E)\),满足这张图中不存在长度大于等于3的环且图中没有重边和自环 ...

  4. 【套题】qbxt国庆刷题班D1

    Day1 事实上D1的题目还是比较简单的= =然而D1T2爆炸了就十分尴尬--错失一波键盘 看题 T1 传送门 Description 现在你手里有一个计算器,上面显示了一个数\(S\),这个计算器十 ...

  5. LOJ.6066.[2017山东一轮集训Day3]第二题(树哈希 二分)

    LOJ 被一件不愉快的小事浪费了一个小时= =. 表示自己(OI方面的)智商没救了=-= 比较显然 二分+树哈希.考虑对树的括号序列进行哈希. 那么每个点的\(k\)子树的括号序列,就是一段区间去掉距 ...

  6. 三校联考 Day3

    三校联考 Day3 大水题 题目描述:给出一个圆及圆上的若干个点,问两个点间的最远距离. solution 按极角排序,按顺序枚举,显然距离最远的点是单调的,线性时间可解出答案. 大包子的束缚 题目描 ...

  7. Qbxt 模拟题 day3(am) T3 选数字 (select)(贪心)

    选数字 (select Time Limit:3000ms Memory Limit:64MB 题目描述 LYK 找到了一个 n*m 的矩阵,这个矩阵上都填有一些数字,对于第 i 行第 j 列的位置上 ...

  8. 【LOJ6067】【2017 山东一轮集训 Day3】第三题 FFT

    [LOJ6067][2017 山东一轮集训 Day3]第三题 FFT 题目大意 给你 \(n,b,c,d,e,a_0,a_1,\ldots,a_{n-1}\),定义 \[ \begin{align} ...

  9. 【LOJ#6066】「2017 山东一轮集训 Day3」第二题(哈希,二分)

    [LOJ#6066]「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 LOJ 题解 要哈希是很显然的,那么就考虑哈希什么... 要找一个东西可以表示一棵树,所以我们找到了括号序列. 那么 ...

随机推荐

  1. 参考美团、饿了么 && localStorage

    localStorage使用.        为什么要使用 localStorage?       因为在之前的讨论过程中,问题:每次添加一件商品和去掉一个商品都需要发送一个http请求来更新购物车, ...

  2. cloudemanager安装时出现ProtocolError: <ProtocolError for 127.0.0.1/RPC2: 401 Unauthorized>问题解决方法(图文详解)

    不多说,直接上干货! 问题详情 查看日志/var/log/cloudera-scm-agent/,得知 解决办法 $> ps -ef | grep supervisord $> kill ...

  3. 【计算机网络】HTTP请求和响应格式

    HTTP请求格式:<request-line><headers><blank line>[<request-body>]说明:第一行必须是一个请求行(r ...

  4. c# xml API操作

    LoginInfo loginInfo = new LoginInfo(); xmlNode = _xml.SelectSingleNode(loginUrl); loginInfo.LoginUrl ...

  5. 6、图标:icon

    1.图标 /* ---html----*/ <ion-content text-center class="icons-basic-page"> <ion-row ...

  6. 简单的Extjs中的Combox选择下拉框使用

    { xtype: "combobox", editable: false, emptyText: "--请选择--", mode: 'local', store ...

  7. Android界面编程--使用活动条(ActionBar)

    ActionBar的使用 1.启动ActionBar(默认状态下是启动的) 1.1 在Android配置文件(AndroidManifest.xml)中设置应用的主题为 ***.NoActionBar ...

  8. [转]scp命令学习

    原博客地址http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html scp是secure copy的简写,用于在Linux下进行远程拷贝 ...

  9. 2015-08-19(i++与++i的思考)

    今天看到一个很有趣的东西,关于表达式优先级的问题.如下. ; int j=(i++)+(i++); j的值是多少? 分析:编译器是从左往右编译也就是说编译器先做(i++) 1.(i++)由于是++所以 ...

  10. Java transient和volatile关键字

    关键字Volatile Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总 ...