NOIP2017 之前

再过1天就要联赛了, 去年的这个时候还有10天, 今年的准备时间倒是比去年还要紧张呢.

想想去年 Day1 没仔细审题规划好时间, Day2 基础不扎实没拿到该拿的分, 导致最后的爆炸. 今年经过了一年的春华秋实, 基础什么的也渐渐的补平, 低级错误就不能再犯了.


准备工作

  • 记得抄好或背好自己习惯的 Vim 配置, guide 是真心不好用. (虽然以前所有OI比赛一直用的 guide 但还是忍不住想吐槽)

  • 赛前几天调整休息时间, 晚上少玩手机好好睡觉. (赛前白天和赛后随便玩)

  • 看看不熟的模板, 减少赛时调试的时间.


坑点

  • 注意取模.

  • 位运算要打括号! (尤其在宏定义的 For 里面当参数时)

  • 变量名不要打错.

  • int 乘法注意可能溢出.

  • STL 极其耗氧, 尽量减少使用.

  • 注意常数影响.

  • 仔细审题, 题目难度不一定递增.


技巧

(自己总结的以及最近看到的)

  • DP 题之前可以先写好搜索, 这样状态的选取会简单许多.

  • 解决二进制问题的一种思路: 在 (mod 2k) 意义下考虑, 而不是仅仅单独考虑每一位的贡献.

  • 如果题目要求全局答案最优, 单调性也可以是答案的单调性.

  • 斐波那契数列第 n+2 项同时也代表着集合 {1,2,3......n} 中所有不包含相邻正整数的子集个数.

  • 斐波那契数列其他的公式: 

     1. f1+f3+f5+f7+......+f2n1=f2nf2+f1.
     
     2. f2+f4+f6+f8+......+f2n2=f2n1f1.
     
     3. f2n=f2n+2 fn1fn.

  • 一类通过 +1 1 将序列变为单调递增的问题: 这类题目有一个经典转化: 将 Ai 变为 Aii , 问题转化为让所有数单调不降 .

  • 遇到有向图的路径问题, 不妨试试缩强连通分量转换成 DAG 图会不会好做一点.


卡常

  • Noip Linux 评测, 读入优化时用 getchar_unlocked() 会快许多.

  • 不开 O2 的时候, 一些 std 函数例如 min,max,swap,reverse 之类的, 尽量手打.

  • 非递归函数可加 inline.

  • 尽量减少新建变量的次数, 一些临时变量能重复利用就重复利用.

  • 在创建数组时, 若出现这种情况:

          int dp[2][10005];
   不妨改成
          int dp[10005][2];
  • 调用数组时, 尽量减少寻址的次数. 若要经常访问 a[i][j] 的值, 较好的解决方法是用临时变量 tmp 存下 a[i][j] 的值, 每次查询 tmp 的值即可.

  • 若出现以下语句:

          for(int i = 0; i < a.size(); ++ i)
   不妨这样写:
          for(int i = 0, s = a.size(); i < s; ++ i)
  • 假如实在想用 STL , 可以去看看 pb_ds , 这玩意没那么耗氧, 而且功能比 STL 丰富, 最重要的是 Noip 让用.

  • 总之, 卡常就两大点: 人为减少不必要的时间消耗 (新建多余变量, 冗余寻址, 不必要的重复计算等) 以及利用程序内部逻辑结构优化算法细节(手打一些std函数, 位运算, pd_ds 等).


心态

好难, 做不出来..
  • 首先要保持冷静.

  • 心里默念: “我做不出来, 他们也不一定做的出来.”

  • 再把题认真读一遍, 说不定是题意理解错了.

  • 发现题意没有理解错, 还是没有思路. 想想打表找规律或是猜结论.

  • 先盖住那 100% 的数据, 看 80% ~ 30% , 尽量拿多的部分分.

  • 先不管这题, 看后面的题.

  • 做完回来看还有没有思路?

  • 建议去上厕所, 说不定在蹲坑时来了灵感.

  • 还是没有, 那就先保证拿到可以拿到的部分分, 剩下的数据可以思考一些不完全正确但是很难被卡掉的做法. (也就是骗分)

  • 提高智商, 上帝保佑.

妈蛋, 看错题了!
  • 首先要保持冷静.

  • 赶紧再把题仔细读一遍.

  • 把原来写到一半的错误代码只留下头文件, 读入优化等必需品, 其余的一律删掉.

  • 开码正解.

  • 仔细审题, 提高严谨性.

拍不上, 调不出来!
  • 首先保持冷静.

  • 检查 gen 有没有写错, 数据是否合法, 以及暴力有没有写错.

  • 不要只局限于算法中容易出错的地方, 看看函数名, 数组名, 变量名是不是写错了.

  • 检查发现名字什么的没写错, 那就检查算法逻辑是否正确, 或者重新分析算法本身的正确性.

  • 重新审题, 检查题意是否理解错.

  • 题意没有理解错, 那就开始分段调试, 检查每个步骤是否有问题.

  • 还是没调出来, 先放一放, 写后面的题, 反正我还有个暴力.

  • 写完回来还是没调对? 优化自己的暴力, 尽量拿更多的分.

  • 静态查错 + 动态调试.

码完之后.
  • 检查是否开了文件, 文件名是否正确.

  • 检查数组大小.

  • 即使这题不对拍, 也要记得造极限数据. 跑不过或者时间很极限就卡常.

  • 不要只拍大数据, 一定还要拍小数据. 有些大数据查不出问题.

  • 查完之后没问题? 稳了, 下一题!

考完之后.
  • 即使自己考的不错, 也不要炫耀, 可能这次你运气比较好, 而其他人却没有发挥好.

  • 即使自己考的不错, 也不要装弱, 可能这次你运气比较好, 而其他人运气比你还好.

  • 不管考的怎么样, 回机房都要开车, 毕竟马上要回去补文化了.


最后, 祝大家 Rp ++ !

Noip Bless All.


wrote by miraclejzd.

内容概要:本文档提供了关于“微型车间生产线的设计与生产数据采集试验研究”的毕业设计复现代码,涵盖从论文结构生成、机械结构设计、PLC控制系统设计、生产数据采集与分析系统、有限元分析、进度管理、文献管理和论文排版系统的完整实现。通过Python代码和API调用,详细展示了各个模块的功能实现和相互协作。例如,利用SolidWorks API设计机械结构,通过PLC控制系统模拟生产流程,使用数据分析工具进行生产数据的采集和异常检测,以及利用进度管理系统规划项目时间表。 适合人群:具有机械工程、自动化控制或计算机编程基础的学生或研究人员,尤其是从事智能制造领域相关工作的人员。 使用场景及目标:①帮助学生或研究人员快速搭建和理解微型车间生产线的设计与实现;②提供完整的代码框架,便于修改和扩展以适应不同的应用场景;③作为教学或科研项目的参考资料,用于学习和研究智能制造技术。 阅读建议:此资源不仅包含详细的代码实现,还涉及多个学科领域的知识,如机械设计、电气控制、数据分析等。因此,在学习过程中,建议读者结合实际操作,逐步理解每个模块的功能和原理,并尝试调整参数以观察不同设置下的系统表现。同时,可以参考提供的文献资料,深入研究相关理论和技术背景。
本次的学生体质健康信息管理网站,按照用户的角色可以分为教师与学生,后台设置管理员角色来对学生的信息进行管理。,设计如下: 1、后台管理系统 后台管理系统主要是为该系统的管理员提供信息管理服务的系统,具体包括的功能模块如下: (1)管理员信息管理 (2)教师信息管理 (3)学生信息管理 (4)健康信息统计(图形化进行健康,亚健康等学生的信息数量统计) 2、教师角色的功能模块设计 教师角色所需要的功能模块主要包括了如下的一些内容: (1)个人资料修改 (2)学生体质健康管理:录入相关数据,包括但不限于身高、体重、肺活量、视力等生理指标以及运动能力、身体成分、骨密度等健康指标,并且设置健康,亚健康状态 (3)学生健康建议:根据体质信息,进行学生健康的建议 (4)健康预警:对健康出问题的学生,进行健康预警 (5)饮食和锻炼情况管理,查看 3、学生角色 学生角色可以通过该信息网站看到个人的基本信息,能够看到教师给与学生的健康建议等,功能模块设计如下: (1)个人资料修改 (2)我的健康建议查看 (3)我的健康预警 (4)饮食和锻炼情况管理,记录平时的饮食和锻炼情况 完整前后端源码,部署后可正常运行! 环境说明 开发语言:Java后端 框架:ssm,mybatis JDK版本:JDK1.8+ 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:eclipse/idea Maven包:Maven3.3+ 部署容器:tomcat7.5+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值