bzoj 题目选做
这里将记录着我在接下来的日子里在bzoj上遇到的各种 毒瘤题目
1.轮状病毒
题目是很没意思的 列出状态 显然无法递推 我简单推了一下加动态加点的状态 嗯发现规律没有那么简单 打表 也不太能发现吧
正解显然是 矩阵树定理啊 然后这题咕了 以后再复习矩阵树定理的时候再证明这个结论吧 暂时当做打表做的。
$f_n=f_n*3-f_{n-1}+2$ 然后高精加和高精减即可。由于都是高精和单精之间的运算 所以还是很好写的。
2.[NOI2003 EDitor](https://www.lydsy.com/JudgeOnline/problem.php?id=1507)
这道题还是蛮有意义的学习一下块状链表...(这样我就可以写分块第k大带插入带修改了哈哈
2h过后这啥玩意啊 ex到我了 没想到细节这么多这么复杂 大致是了解了 改天重新了解一下...自闭中。
3.[4180字符串计数](https://www.lydsy.com/JudgeOnline/problem.php?id=4180)
这题鬼的很!看了一眼题解因为真觉得不太会写这道题。
题目意思是 给出一个字符串T 每次我们可以从这个T中取出一个子串构造出来一个长度为n的字符串 且T的字符集为{A B C D}
定义一个长度为n的字符串需要添加子串的次数是最小的,求所有能被构造出来长度为n的字符串所花费的最大次数。
很绕 因为存在最小的最大。这个问题很难去考虑 让人觉得无从下手 因为不知道怎么构造是合法的是最小次数的同时怎么求次数最大。
首先 就从最小次数出发 先构造出来T的后缀自动机,里面存有我们想要的所有子串。然后我们从一个能被构造出来的字符串S 求出怎么构造才是使次数最小。
显然我们让S在T的后缀自动机上跑 跑不动了回到原点继续跑 在原点的次数即最小构造次数 为什么这是最小的?显然。自证不难。
现在我们再来考虑这个问题的模型 在后缀自动机上走n步求经过原点的次数最大。
我们显然有dp f[i][j]表示到了节点i已经走了j步所能获得的最大值 这个dp的复杂度是$T\cdot n$的考虑优化.
我们出发点是固定的原点所连的那几个节点 接下来顺着这几个节点跑还是会回到这个几个节点 不妨设f[i][j]表示 从i节点到j节点经过的边数最小值 当然i和j 一定都是出发节点。这个topsort一下或者bfs一下都可以求出来.
于是我们发现了 刚才那个dp已经被我们转换到了4个点之间的转移了当然复杂度还是近乎4*n的 考虑进一步的优化我们发现这个dp的转移是一个线性递推式矩阵乘法可以优化 进一步来说每乘一次转移矩阵答案+1 还是很难求出答案 但是我们能根据答案求步数 所以二分这个答案 求出在这个答案的情况下的最小步数 从而来判定答案的大小范围即可.
值得一提的是这样做是log^2的 还要乘上矩阵乘法的常数...更快的做法是直接倍增答案即可以一个log解决。
bzoj 题目选做的更多相关文章
- jzyz 题库 题目选做
题库中也有很多我想不出来的模拟赛的题目.做还是必要的.做自己的题目 时间很紧 想想自己的文化课 我又没有那么强 我必须得刷. LINK:水题一道 发现是一道计数题 计数题拿高分的才是王者,但是 计数题 ...
- BZOJ 题目乱做
记录一点在 BZOJ 上做的题. 众所周知原 BZOJ 炸掉了,于是跑去了 HydroOJ 的 BZOJ 域上面做. 目录 P1001 [Beijing2006]狼抓兔子 P1002 [FJOI200 ...
- CF 题目选做
写省选的题目对noip没什么大用 关键是 细节题或者是思考题比较重要 练思维自然是CF比较好了 把我见到的比较好的CF题放上来刷一刷. LINK:Complete the projects 就是说一个 ...
- NOIP PJ/CSP-J 题目选做
1. luoguP7074 [CSP-J2020] 方格取数 2. luoguP5662 [CSP-J2019] 纪念品 3. luoguP2671 [NOIP2015 普及组] 求和 4. luog ...
- Atcoder 水题选做
为什么是水题选做呢?因为我只会水题啊 ( 为什么是$Atcoder$呢?因为暑假学长来讲课的时候讲了三件事:不要用洛谷,不要用dev-c++,不要用单步调试.$bzoj$太难了,$Topcoder$整 ...
- 贪心/构造/DP 杂题选做Ⅱ
由于换了台电脑,而我的贪心 & 构造能力依然很拉跨,所以决定再开一个坑( 前传: 贪心/构造/DP 杂题选做 u1s1 我预感还有Ⅲ(欸,这不是我在多项式Ⅱ中说过的原话吗) 24. P5912 ...
- 迭代和JDB(课下作业,选做)
迭代和JDB(课下作业,选做) 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图 ...
- 20155228 2017-11-19 实现mypwd(选做,加分)
20155228 2017-11-19 实现mypwd(选做,加分) 题目和要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd ...
- 2017-2018-2 20165312 课下选做 MySort
2017-2018-2 20165312 课下选做 MySort 题目描述 模拟实现Linux下Sort -t : -k 2的功能,参考 Sort的实现. import java.util.*; pu ...
随机推荐
- 什么?你还不会通过纯js提交表单?
如果程序已经封装好了, 不管后台是java .asp.net .还是php ?这个时候你的客户突然追加说我要 追加表单验证? what 妇产科 怎么办? submit 自带刷新效 ...
- PHP一维数组快速去重、去零
1.一维数组去重: /** * 一维数组去重,返回格式为索引数组 * @param array $data 待去重的数组 * @return array */ public static functi ...
- Layui数据表格动态加载操作按钮
效果: 方法一:绑定模版选择器 <div class="layui-card"> <div class="layui-card-body layui-r ...
- 一、kafka 安装配置
Kafka是什么 Kafka最初是由LinkedIn公司采用Scala语言开发的一个分布式.多分区.多副本且基于ZooKeeper协调的内部基础设置,现已捐献给Apache基金会.Kafka是一个流平 ...
- day15 作业
day15 作业 目录 day15 作业 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第一题 ===================题目一=================== input ...
- 玩转 Windows Terminal
今天给大家分享一下Windows Terminal的使用及个性化定制. 一.安装 该项目的开源地址为https://github.com/microsoft/terminal,如果想折腾,可以按照上面 ...
- 题解:2018级算法第三次上机 C3-Zexal的浩瀚星辰
题目描述: 样例: 实现解释: 一道结合了火箭发射的贪心题目 知识点: 贪心,优先队列 题目分析: 根据题目描述可知,延迟后时间是正常推进的,也就是假设共有n个火箭,推迟k小时.则在到达k+1小时时, ...
- 汉王JAVA笔试题
汉王JAVA笔试题 1,jsp中动态include与静态include的区别? (1)动态包含总是会检查文件中的变化,适合用于包含动态页面,并且可以带参数. (2)静态包含不会检查所含文件的变化,适用 ...
- Maven 专题(四):什么是Maven
1 Maven 简介 Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和 依赖管理.Maven 这个单词的本意是:专家,内行.读音是['meɪ ...
- SQLAlchemy03 /外键、连表关系
SQLAlchemy03 /外键.连表关系 目录 SQLAlchemy03 /外键.连表关系 1.外键 2.ORM关系以及一对多 3.一对一的关系 4.多对多的关系 5.ORM层面的删除数据 6.OR ...