【集训】jzoj 2017.7.13 noip模拟赛A 总结
来源:互联网 发布:略略略网络啥意思 编辑:程序博客网 时间:2024/06/14 00:49
今天A组难度直达D组
7.13(7.12要去被虐)的比赛要注意:
0. 摆好蒟蒻心态,不要自以为是。
1. 先打暴力再打正解,有助于思考与查错。 (每一题都先打了暴力)
2. 首次思考时间控制在1h, 每一题都要保证至少思考20分钟。 (第三题最后大半小时才思考,应该先思考好)
3. 记得多根据数据范围与问题想一下学过的算法。(今天第二题就是这么切的)
第一题
神tm原题,直接二分答案,然后判断有多少个比它小。时间
第二题
给出了一堆神奇的式子,一开始没看懂,想贪心构造题目中的e数组。 想了差不多10分钟没啥收获。
后面再了一下dp,发现这好像就是一个多重背包.. 于是就直接上了单调队列。(拆物品好像会T)
打得十分繁琐,常数还很大。其实还可以加两个优化:
1.先枚举余数,再枚举取了多少个
2.可以先把范围为a[i]..b[i]转换为0..b[i]-a[i]的问题。这样打起来十分简洁
第三题是一道玄学题。首先我们可以打表得到规律: 0,1,6,质数与2的幂数
(如果是质数绝对是,否则先预处理phi,然后算公差,再一个个判,只需要0.5s就可以把所有都判完了)
然后尴尬的地方就在操作2. 一直没有想到mod与这个规律有什么可以相通的地方。 其实压根没啥关系: 一个数n最多只会被小于他的数模log n次。于是我们只需要每一次找到需要模的地方然后暴力修改。 找这个可以用线段树。 维护一个区间最大值mx,若a< mo则这个区间不用做。 否则就先暴力修改mx,然后分治l..loc[mx]-1与loc[mx]+1..r。这一步可以直接在线段树上完成。
时间复杂度就是
(码的时候忘了在线段树上二分,直接对区间分治了,于是第二部分就多个log)
7.14的比赛要注意:
0. 摆好蒟蒻心态,不要自以为是。
1. 先打暴力再打正解,有助于思考与查错。
2. 首次思考时间控制在1h, 每一题都要保证至少思考20分钟。 不能在最后没事干了才想没想过的题目
2.1. 先把所有题都看一遍再思考,把握一下时间。
3. 记得多根据数据范围与问题想一下学过的算法。
- 【集训】jzoj 2017.7.13 noip模拟赛A 总结
- 【集训】jzoj 2017.7.6 noip模拟赛A 总结
- 【集训】jzoj 2017.7.7 noip模拟赛A 总结
- 【集训】jzoj 2017.7.8 noip模拟赛A 总结
- 【集训】jzoj 2017.7.10 noip模拟赛A 总结
- 【集训】jzoj 2017.7.11 noip模拟赛A 总结
- 【集训】jzoj 2017.7.14 noip模拟赛A 总结
- 【集训】jzoj 2017.7.15 noip模拟赛A 总结
- 【集训】jzoj 2017.8.10 noip模拟赛A 总结
- 【集训】jzoj 2017.8.22 noip模拟赛A 总结
- 【集训】jzoj 2017.7.5 noip模拟赛A 总结 (欧拉回路)
- [暑假集训] jzoj 2016.7.13 noip模拟赛B 总结
- [暑假集训] jzoj 2016.8.13 noip模拟赛B 总结
- [暑假集训] jzoj 2016.7.7 noip模拟赛C 总结
- [暑假集训] jzoj 2016.7.8 noip模拟赛C 总结
- [暑假集训] jzoj 2016.7.9 noip模拟赛C 总结
- [暑假集训] jzoj 2016.7.11 noip模拟赛C 总结
- [暑假集训] jzoj 2016.7.12 noip模拟赛B 总结
- KANO模型以及产品经理的素质模型
- 洛谷 P1908 逆序对
- 测试
- 26、C#:C#中的隐藏和C++中的隐藏
- 使用SharedPreferences进行数据存储
- 【集训】jzoj 2017.7.13 noip模拟赛A 总结
- UBUNTU14.04 的rabbitvcs问题
- 你知道商业思维导图么
- 一个简单的涂鸦例子
- dbvisualizer9.5.6 中文乱码
- 可重入函数与线程安全的区别与联系
- Java消息中间件--ActiveMq,RabbitMQ,Kafka
- 机器学习3:使用梯度下降和退火算法得到全局最小值
- Android判断是否有拍照权限