毕竟考得太频繁了于是不可能每次考试都写题解。(我解释个什么劲啊又没有人看)

甚至有的题目都没有改掉。跑过来写题解一方面是总结,另一方面也是放松了。

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)的更多相关文章

  1. 「题解」NOIP模拟测试题解乱写I(29-31)

    NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...

  2. 「考试」noip模拟9,11,13

    9.1 辣鸡 可以把答案分成 每个矩形内部连线 和 矩形之间的连线 两部分 前半部分即为\(2(w-1)(h-1)\),后半部分可以模拟求(就是讨论四种相邻的情况) 如果\(n^2\)选择暴力模拟是有 ...

  3. 「NOIP2009」最优贸易 题解

    「NOIP2009」最优贸易 题解 题目TP门 题目描述 \(C\)国有\(n\)个大城市和\(m\)条道路,每条道路连接这\(n\)个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 ...

  4. 「NOIP2016」天天爱跑步 题解

    (声明:图片来源于网络) 「NOIP2016」天天爱跑步 题解 题目TP门 题目 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是 ...

  5. 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组

    2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...

  6. 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色

    2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...

  7. 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)

    2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...

  8. 「NOWCODER」CSP-S模拟赛第3场

    「NOWCODER」CSP模拟赛第3场 T1 货物收集 题目 考场思路即正解 T2 货物分组 题目 考场思路 题解 60pts 算法:一维 DP 100pts 算法:一维 DP ?线段树 + 单调栈 ...

  9. 「工具」Dubbo可视化测试工具的设计和实现

    「工具」Dubbo可视化测试工具的设计和实现 学习了:https://blog.csdn.net/qq355667166/article/details/78914453

随机推荐

  1. ElasticSearch 索引查询使用指南

    1.检测集群是否健康,我们通常用下面的命令.确保9200端口号可用: http://localhost:9200/_cat/health?v 或者 http://localhost:9200/_clu ...

  2. ECMAScript1.2 表达式|语句|break|continue

    表达式 一个表达式可以产生一个值,有可能是运算,函数调用, 有可能是字面量,表达式可以放在任何需要值的地方. 语句 语句可以理解为一个行为,循环语句和判断语句就是典型的语句. 一个程序有很多个语句组成 ...

  3. uoj140 【UER #4】被粉碎的数字

    题目 看起来就像是数位\(\rm dp\) 不妨从竖式乘法的角度来考虑这个问题 为了方便处理进位,我们得从低位向高位填数 设\(dp[i][0/1][j][p][t]\)表示填到了第\(i\)位,卡不 ...

  4. 【csp】2017-12

    第一题:游戏 题目: 题意:啊,不多赘述.看的懂. 题解:sort一下直接暴力比较大小. 代码: #include<iostream> #include<cstdio> #in ...

  5. linux安装openoffice,并解决中文乱码

    1.安装openoffice 官网http://www.openoffice.org/zh-cn/download/下载 2.解压并进入文件夹: cd /zh-cn/RPMS yum localins ...

  6. Django ORM 之基于对象、双下划线查询

    返回ORM目录 Django ORM 内容目录: 一. 基于对象的表查询 二. 基于双下划线的查询 三. 聚合查询 aggregate 四. 分组查询 annotate 一. 基于对象的表查询 1.正 ...

  7. Spark与Hadoop的对比

  8. JS函数 返回值的函数 return sum;或者result = add2(3,4);

    返回值的函数 思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢? 我们只要把"document.write(sum ...

  9. elasticsearch.net一个查询问题

    .Query(q => q.Bool(b => b.Must(m => m.MultiMatch(t => t .Fields(f => f.Field(obj => ...

  10. PHP算法之宝石与石头

    给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字符都是字母 ...