3.5模拟赛题解

今天模拟赛了,不幸的是两道水题不知原因的爆〇了,只有90分,差点因缺斯厅。写一下题解锻炼一下。大牛有新算法欢迎交流。
About T1
题意:
对于每个字符串,最少可以在字符串最后加多少个字符,使得新字符串成为回文串。
数据范围:
对于60%的数据 字符串长度≤10^3
对于100%的数据 字符串长度≤10^5,数据组数≤10
题解及想法:
①这显然是一道好题,不料有水的数据,直接暴力即可,及枚举起始点逐一比较即可,复杂度O(len^2),我估计是Π(len){len是字符串长度}。
②我爆〇了,主要想写复杂度更小的算法(实际上也确实有,学习ing),然而失败了。。。
About T2
题意:
给你一个n*m的矩阵,要你用
1*2的方格{可以旋转}
2*2的方格缺一个角{可以旋转}
两种形状的方格铺满整个矩阵,求铺法的种数。
数据范围:
对于60%的数据 n,m≤6
对于100%的数据 n,m≤9
题解及想法:
部分分很大,所以可以考虑深搜打表,可以拿60,好的情况能拿70。标算是状压DP,先跑一遍深搜,搞出所有可能的情况,在直接转移,可以用二进制优化。
About T3
题意:
一辆有n个门的火车驶进了一座长len的火车站,火车的n个门在火车上的位置分别为di(1≤i≤n,且d1=0,di≤len)。火车站有m个乘客,第i个乘客位于火车站的pi(pi≤len)位置,一个乘客会选择离他最近的门上车。火车的每个门都必须停在火车站内,为了让所有乘客上车时走的距离和最长,火车司机应该让火车的第一个门停在火车站的什么位置,最长距离和又是多少。
数据范围:
对于60%的数据 n,m≤10 len≤100
对于100%的数据 n,m≤300 len≤5000
题解及想法:
考虑到保留三位,可以在0–len之间每次增加0.001,计算长度,可以拿60分左右,然而通过观察发现人在整数位置,而当车恰好停在X.5或X位置时出最优解,所以这样搞一搞可以大大优化时间,我最后AC0.02ms。
About T4
题意:
一个n个点m条边的无向加权图,想从点s到点t,路线符合以下规则:
1、不会重复经过一个点;
2、走从s到t的第k短路。
问要走多长的距离。
数据范围:
对于60%的数据 n≤20 k≤100
对于100%的数据 n≤100 k≤500 m≤n*(n-1)/2 数据保证存在k条路
题解及想法:
裸深搜乱搞40~60分,我的垃圾搜索0分,不知原因。。。然而可以二分答案,再搜,就大大减少了做的次数,搜索再加上最优化剪枝:如果做到现在ans已经大于mid,直接退出,这样就可以过,嗯,还可以跑spfa,然而标算是A*,学习ing。

总结:今天模拟赛并不算太难,至少大暴力200+没问题的,但我却漏洞百出,这告诉我我还有许多不足,缺乏了思考验证,同时当把握不定时,最好选择能拿分的,而不是选择或许能拿更多分但有风险的,总之加油吧!

目标:下次如果四题{希望200+,争取250+},如果三题{希望150+,争取200+},能进前5。
怎么做:①看《算法导论》,多学知识,多学算法;②少写水题,多做难题;③少做无谓的事,多干正事。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值