IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 省选模拟赛2022/3/31 -> 正文阅读

[数据结构与算法]省选模拟赛2022/3/31

比赛时间安排

7.50-8.10
t1 暴力复杂度都很大啊,完全没想法
t2 dfs可以试一试,但是感觉复杂度还是会炸,想的是全排列+枚举每个攻击了哪个国家,是否攻击成功
t3 期望,而且样例也不会推

8.10-9.05
t2 dfs写完之后,刚开始一直过不了样例,本来想的是只用一种排序方式,最后乘一个组合数,但是发现是不对的,有可能有的城市攻击完之后他被占领了,就不合法了,所以只好用最开始想的方法,写完之后发现6都跑不动,自闭了,开始疯狂剪枝,最后把6跑到2s(并没什么用),先去想t3了

9.05-9.20
觉得t3的形式很像之前jjh讲的一个字符串的随机游走问题,要考虑重复的部分之类的,然后高斯消元做,但是这数据范围也太。。完全不符合啊,于是看t1了

9.20-9.46
冷静下来看发现暴力分是个dp,分段类型的,就想到斜率优化或者单调队列了。
先把暴力打完,刚开始不过,发现是忘了有些数字可以不要,也就是先和f[i-1]取个max就过了

9.46-10.17
那明显第三档分就是优化呗。
刚开始想的是单调队列,但是发现没法踢队头,于是把我的shu这个数组展开,发现就是斜率优化的式子
分析了一下,发现是单调递增求max,要用单调栈做斜率优化,很快的写完,对拍没问题,50分有了

10.17-11.00
想中间那一档的做法
很明显如果每次都做一次,那么复杂度是3e8的,感觉很接近2s了,貌似卡卡常就能过?注意到每次只修改一个数字,那么这个数字之前的f和s都不变,不是白做了那么多次吗,于是我把修改位置相同的询问存起来,按顺序一起做,这样就能省掉那个常数了吧,而且m是3e5,n是1000,一定有很多相同的位置。
写完之后发现错了,突然意识到,每次处理x相同的一个询问之后,必须把f和s复原才能接着处理下一个,那复杂度不是又回来了??合着半天只省掉了一个n的复杂度吗,爆哭(就是里层循环栈的复杂度)
试了一下拉满的数据,跑了5秒多一点,感觉和没有优化差不多,又试了做m遍的,跑了25秒,还是有明显进步的,再卡卡常吧,然后就卡场失败了

11.00-12.00
想t1卡常,t2dfs,t3暴力,发现都搞不动,自闭时间

赛后反思总结

  1. 看来写斜率优化是有用的,一下子就能反应过来要用单调栈
  2. t2暴力写的太der了,虽说可以优化一下,但是也能拿15啊本来,思路没理清楚,有东西重叠了,导致结果算重了,如果再拿10,就第三了(哭)

与正解的差距

T3

10: 真没想到高斯消元那么长的代码只有10分,而正解只有30行!想到了,要枚举随机到的每个字符,然后找最后能匹配的地方,竟然没想到是个nxt??!!(这都能忘,杀了我吧)订完觉得以后这样的题,以后在考场上尽量写出来!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:38:43  更:2022-04-01 23:42:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:54:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码