CSPS模拟 96
我菜的一批。
反省一下,我只能在简单场考的好的原因。
过分依赖灵感,不注意积累思路历程和各种套路。没灵感直接崩了
懒得打暴力,主要还是代码能力限制,打暴力真的很费时费力
不打对拍,这个emmm和第二条是相关联的..不知道为什么dalao们都有时间对拍
思维僵化,即使思路上有一点突破,也会轻易地由于复杂度的问题hack掉这个思路,而不想去优化
最重要的就是菜啦。什么时候能有题解所说的那种清晰自然的思路啊。
T1
通览了一遍题目,每个题都思考了一会,就过了40min了(?)
没打过龟速乘,考场上也想不出来。
高精调到1h40min(?)
T2
没剩多长时间,急忙打了n^2还挂了,成为一片绿色中一点耀(zha)眼的红
T3
复读考场思路,现在看来就是放p:
主观上,小A应该会选择这样的路径去走:
本身不是很长,而且被小B卡了之后还不会很长的路。
假设小B要卡小A,那一定会在小A走到点i的时候卡掉i的一条出边,因为如果提前卡的话小A绕路的长度不会更长。
而且卡掉的边一定是i到n的最短路上的边,否则没意义。
先dijkstra求一发最短路,$dis[i]$
然后我用树上启发式合并的方法正确求出了 i到n的最短路上第一条边被切断后的最短路长度 $replace(i)$
然后思路就开始偏离
那么对于一个点,如果小B卡这个地方,经过这个点的最短路径长度一定,就是$len[i]=dis[i]+replace[i]$(错的)
那么从1到n,应该尽量避免那些$len[i]$特别大的点,因为会被卡死..
所以再从1开始跑最短路(改装后),找出这样一条路径:
这条路径上的点的$len[i]$的最大值是可能取到的最小值
WA爆,现在回想,考虑经过i点的贡献时,没想到不一定是用最短路到达点i才被阻拦,可能在最短路上被直接截杀了,到不了点i。
正解&感悟
T1 龟速乘..好东西...
T2 skyh有时候挺有素质
比如教我nlogn的倍增
考试的时候真是什么也想不到,觉得二分/倍增的复杂度彻底爆炸,就没认真分析
记忆已经凿实的答案长度,每次在后面接上一段长度倍增的串,然后归并,暴力check
如何考虑这个倍增的复杂度呢。
对于每次后接的长度,它被$O(lenloglen)$排序然后$O(len)$,若失败则不再与复杂度有关,失败情况下,复杂度不超过$O(nlogn)$
若成功,则长度倍增,设倍增k次,第k次长度为$2^k$,则复杂度为$\sum 2^k*log 2^k = \sum 2^k*k$
复杂度与$2^k*k$同级,即成功的复杂度为$O(nlogn)$
总的也是$nlogn$
T3 好想咕咕咕啊
不过按照题解打应该也没什么问题吧
我感觉这题给我的收获主要在于最短路模型dp那一段
如果有问题问我还是私聊吧(/w\)
不能咕了,skyh又教我做人了
每天都被教做人。
以下为skyh教我的
认真观察题目给的转移式子!
对于拓展j是的一条边j->i,都用max(f[j]+len[j->i],d(i,j))更新答案
意思就是,这条边割还是不割两种情况取max
如果取max取到后边,则割
可是小B只能割一条边,于是有了一点诡异
然而争当gtds的我怎么可能发现这式子的诡异呢
显然的做法是,把f[j]+len[j->i]排序,将最小的f[j]+len[j->i]对d(i,j)取max,然后再排序
排序后的最小值作为答案,这样是小B截断了小A最优的一条路径,让小A取到了次优路径
如果题解正确,那么每次的取max最多一次取到后面
只有当j等于点i在最短路树上的父亲时才可能取到后面,这才是题解正确的原因。
不要水题啊越水越lj
CSPS模拟 96的更多相关文章
- csp-s模拟测试96
csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...
- 反省——关于csp-s模拟50
本人于搜索csp-s模拟49题解时,有意识地点开了一篇关于csp-s模拟50T2的题解,并知道了题解是二维前缀和以及四维偏序. 更重要的是,那篇博客说有解法二,叫二维莫队. 于是我上网搜索二维莫队,结 ...
- csp-s模拟测试99
csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...
- csp-s模拟测试98
csp-s模拟测试98 $T1$??不是我吹我轻松手玩20*20.$T2$装鸭好像挺可做?$T3$性质数据挺多提示很明显? $One$ $Hour$ $Later$ 这$T1$什么傻逼题真$jb$难调 ...
- csp-s模拟测试97
csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 00 ...
- csp-s模拟测试95
csp-s模拟测试95 去世场祭. $T1$:这不裸的除法分块吗. $T2$:这不裸的数据结构优化$Dp$吗. $T3$:这不裸的我什么都不会搜索骗$30$分吗. 几分钟后. 这除法分块太劲了..(你 ...
- csp-s模拟测试94
csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...
- csp-s模拟测试93
csp-s模拟测试93 自闭场. $T1$想到$CDQ$,因为复杂度少看见一个$0$打了半年还用了$sort$直接废掉,$T2$,$T3$直接自闭暴力分都没有.考场太慌了,心态不好. 02:07:34 ...
- csp-s模拟测试92
csp-s模拟测试92 关于$T1$:最短路这一定建边最短路. 关于$T2$:傻逼$Dp$这一定线段树优化$Dp$. 关于$T3$:最小生成树+树P+换跟一定是这样. 深入(?)思考$T1$:我是傻逼 ...
随机推荐
- .Net Core删除ClientApp目录,重新生成报错解决办法
因为在老的项目上做修改,需要删除单独的spa目录,就把ClientApp删掉了.但是重新生成报错,在VS2017界面上也没找到在什么地方配置.最后发现在csproj上里面可以去掉spa的配置 < ...
- SpringBoot第二十五篇:SpringBoot与AOP
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 作者在实际 ...
- FreeRTOS优化与错误排查方法
写在前面 主要是为刚接触 FreeRTOS 的用户指出那些新手通常容易遇到的问题.这里把最主要的篇幅放在栈溢出以及栈溢出j检测上,因为栈相关的问题是初学者遇到最多的问题. printf-stdarg. ...
- STM32进阶之串口环形缓冲区实现
队列的概念 在此之前,我们来回顾一下队列的基本概念: 队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除 ...
- Maven插件构建Docker镜像
背景 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维上的额外复杂性,尤其是在服务部署和服务监控上.单体应用是集中式的,就一个单体跑在一起,部署和管理的时候非常简单,而微服务是一个网 ...
- 算法学习之剑指offer(六)
题目1 题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. import java.util.*; public cl ...
- formidable处理提交的表单或文件的简单介绍
一般来说,客户端向服务端提交数据有GET和POST这两种方式,在之前的文章node.js当中的http模块与url模块的简单介绍当中我们可以知道通过req.url与url模块的配合处理可以快速得到客户 ...
- 修改配置文件application.properties
附录A.常用应用程序属性 可以在application.properties文件内部application.yml,文件内部或命令行开关中指定各种属性.本附录提供了常见Spring Boot属性的列表 ...
- MyBatis 示例-类型处理器
MyBatis 提供了很多默认类型处理器,参考官网地址:链接,除了官网提供的类型处理器,我们也可以自定义类型处理器. 具体做法为:实现 org.apache.ibatis.type.TypeHandl ...
- 使用JRebel插件实现SpringBoot应用代码热加载
前言 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,在我之前的文章里面 ...