NOIP2016

DAY1

T1:一看题目好长,数据范围写了一整版,感觉很厉害的样子。细心模拟即可。

T2:此题大坑。

想了40分钟,有一点想法,把路径在起始点的LCA处切断,即转化为两条路径,然后记录用于更新答案的信息,不过每棵子树的信息都要重算一遍,以前做过一道题,将重儿子的信息保存下来,在算当前结点的答案时就不要再遍历重儿子了,时间复杂度nlogn。然而感觉过程过于复杂,细节也很多,估计想错了,一看数据发现骗分可达80,还是老老实实写骗分吧(然而骗分都写挂了)。。。

T3: 10:20时写完了 T2 60分的骗分,一看第三题暴力分巨多,良心出题人。。。刚准备打暴力,感觉DP可做,令dp[i][j][0/1]表示前i节课,提交j次申请,0/1表示第i节课是否提交申请,方程略长但并不是很难推,11点过了看似强度还行的大样例,回头继续骗T2的分。。。

DAY2

T1:用杨辉三角,一遍递推一边对k取模,预处理即可。然而并没有想到,写了个冗长的质因数分解,幸好还没有写挂,以后看到题还是要多想想额。。。

T2:看了题,以为是优先队列裸题,一看数据范围,瞬间变成mengbier,果断STL骗了60分。

T3:看了数据范围,感觉就是DFS,然而显然会T,发现状压比较好做,用0/1存猪是否被打死,枚举两只猪就可以构造出一条抛物线,就可以得到很多状态,表示这条抛物线能打死的猪,然后dp要从某一个状态推其他状态,复杂度O(T*n^2*2^n),然而考完后想起抛物线的一个判断写错了,只能随缘了。。。

总结:

1)感觉还是老写挂,各种题还是自己实现一下,增强代码能力

2)做题时多想想,尽量降低编程难度,用尽量简单的算法解决问题,降低调试难度

3)打代码不要只图快,写之前想清楚,把思路理清楚写出来正确率才高,反而会节省更多的用于调试的时间

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值