「题解」NOIP模拟测试题解乱写II(36)
毕竟考得太频繁了于是不可能每次考试都写题解。(我解释个什么劲啊又没有人看)
甚至有的题目都没有改掉。跑过来写题解一方面是总结,另一方面也是放松了。
NOIP模拟测试36
T1字符
这题我完全懵逼了。就是来教我们打暴力和高级一点的复杂度分析的??
然而暴力拿走,复杂度分析并没有get到。调和级数是啥??
度娘:
调和级数(英语:Harmonic series)是一个发散的无穷级数。调和级数是由调和数列各元素相加所得的和。中世纪后期的数学家Oresme证明了所有调和级数都是发散于无穷的。但是调和级数的拉马努金和存在,且为欧拉常数。……
级数是啥??拉马努金和是啥??一脸懵逼。
不过暴力打法给我上了一课。倒不是这道题的暴力打法有多么高明,只是告诉我不要钻进死胡同。
我一开始想的是枚举循环节的长度$len$,然后根据前$len$个数字中已填的位置确定一个循环节,根据$m$个已知位置check。
然后发现这样不可做。因为我还需要枚举一下上下界,还要调和一下$len$范围内的各个数字的个数。于是非常难过。
然后一直想一直想一直想。。。。
后来Larry告诉我直接用$m$个已知位置和枚举的$len$确定循环节就好……然后贪心……
值得一提的是一个柿子,赛时曾经让我很难受:$(i-1)%len+1$直接mod的话$len$的整数倍的位置就会出现$bug$。
于是$-1$,$mod$后$+1$。完美解决。
T2蛋糕
模板区间dp??然而很久没打区间dp再加上以前太水。。。
T3游戏
我没读懂题意……一直以为所有莉露露一起动。后来发现最优情况下肯定不能所有莉露露一起动啊……
考虑莉露露的四种操作:拿起由岐,放下由岐,扔出由岐,抱着由岐飞。
发现拿起和放下都没用,充其量就是换一个莉露露来接他。
考虑由岐的状态:一种是被扔出的状态,一种是被莉露露抱着飞的状态。
而由于被扔的状态中不能拐弯,于是被扔出去的状态又分为两种:横着飞和竖着飞。
所以考虑拆点。把每个点拆成三个:横着飞的状态,竖着飞的状态,被莉露露抱着的状态。
考虑如何建边:
对于每一个点:状态1为被莉露露抱着,设状态2为横着飞,状态3为竖着飞。
对于状态1:可以由莉露露抱着向上向下向左向右飞,权值都是C。
也可以选择原地抛出让由岐进入“飞行”状态(滑稽),B可以在这里结算。于是权值为B。
对于状态2:可以继续向左飞,也可以继续向右飞,也可以选择在这个点降落。
继续飞的权值都是A,而降落需要考虑这个点有没有莉露露。无论有没有我们都可以视为召唤一个最近的莉露露过来接她。
于是考虑预处理每一个点最近的莉露露过来所需要的花费。
考虑多源点bfs预处理。然而有同学说了:莉露露会动啊。
的确会动,但是我们通过仔细考虑发现,假如莉露露1号通过某种交易将由岐交给了莉露露2号,再由莉露露2号交给莉露露1号,这样肯定是不优的。
所以每一个莉露露只会接由岐一次。这样下来预处理最近的莉露露赶过来需要的权值就正确了。
状态3同上。
建边后跑一边无脑堆优化dijkstra就行了。
完结撒花。
「题解」NOIP模拟测试题解乱写II(36)的更多相关文章
- 「题解」NOIP模拟测试题解乱写I(29-31)
NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...
- 「考试」noip模拟9,11,13
9.1 辣鸡 可以把答案分成 每个矩形内部连线 和 矩形之间的连线 两部分 前半部分即为\(2(w-1)(h-1)\),后半部分可以模拟求(就是讨论四种相邻的情况) 如果\(n^2\)选择暴力模拟是有 ...
- 「NOIP2009」最优贸易 题解
「NOIP2009」最优贸易 题解 题目TP门 题目描述 \(C\)国有\(n\)个大城市和\(m\)条道路,每条道路连接这\(n\)个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 ...
- 「NOIP2016」天天爱跑步 题解
(声明:图片来源于网络) 「NOIP2016」天天爱跑步 题解 题目TP门 题目 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色
2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...
- 「NOWCODER」CSP-S模拟赛第3场
「NOWCODER」CSP模拟赛第3场 T1 货物收集 题目 考场思路即正解 T2 货物分组 题目 考场思路 题解 60pts 算法:一维 DP 100pts 算法:一维 DP ?线段树 + 单调栈 ...
- 「工具」Dubbo可视化测试工具的设计和实现
「工具」Dubbo可视化测试工具的设计和实现 学习了:https://blog.csdn.net/qq355667166/article/details/78914453
随机推荐
- ElasticSearch 索引查询使用指南
1.检测集群是否健康,我们通常用下面的命令.确保9200端口号可用: http://localhost:9200/_cat/health?v 或者 http://localhost:9200/_clu ...
- ECMAScript1.2 表达式|语句|break|continue
表达式 一个表达式可以产生一个值,有可能是运算,函数调用, 有可能是字面量,表达式可以放在任何需要值的地方. 语句 语句可以理解为一个行为,循环语句和判断语句就是典型的语句. 一个程序有很多个语句组成 ...
- uoj140 【UER #4】被粉碎的数字
题目 看起来就像是数位\(\rm dp\) 不妨从竖式乘法的角度来考虑这个问题 为了方便处理进位,我们得从低位向高位填数 设\(dp[i][0/1][j][p][t]\)表示填到了第\(i\)位,卡不 ...
- 【csp】2017-12
第一题:游戏 题目: 题意:啊,不多赘述.看的懂. 题解:sort一下直接暴力比较大小. 代码: #include<iostream> #include<cstdio> #in ...
- linux安装openoffice,并解决中文乱码
1.安装openoffice 官网http://www.openoffice.org/zh-cn/download/下载 2.解压并进入文件夹: cd /zh-cn/RPMS yum localins ...
- Django ORM 之基于对象、双下划线查询
返回ORM目录 Django ORM 内容目录: 一. 基于对象的表查询 二. 基于双下划线的查询 三. 聚合查询 aggregate 四. 分组查询 annotate 一. 基于对象的表查询 1.正 ...
- Spark与Hadoop的对比
- JS函数 返回值的函数 return sum;或者result = add2(3,4);
返回值的函数 思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢? 我们只要把"document.write(sum ...
- elasticsearch.net一个查询问题
.Query(q => q.Bool(b => b.Must(m => m.MultiMatch(t => t .Fields(f => f.Field(obj => ...
- PHP算法之宝石与石头
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字符都是字母 ...