16.10.29 提高C组总结

来源:互联网 发布:c语言temp怎么交换位置 编辑:程序博客网 时间:2024/05/16 07:07

`这一次考得还不错,拿了260,拿了第七。

一来到教室看到题目,发现第一题是个贪心,先把a【i】排序,然后从大到小加到n为止,但是我很快的举出了反例6个5和6个1,于是往dp这方面想,我设f【i】为a【i】 排序后第i个人所得到的队伍总数最大,方程很快写了出来.
当f[i]小于a[i]时,f[i] = f[i-1]
否则f[i] = max(f[i-1],f[min(i-a[i],i-1)]+1);

第二题一开始想到了dfs,但后来发现n太大了,用了BFS来模拟,用变量s记录操作次数,当a 和 b 等于1时,返回次数,结束递归,否则当a>b时a要减去b,否则b减去a。这样子方案是最优的。

第三题一开始看到有两百分,吓蒙了,但我看到是ioi挑战,以为是个线下数据自己挑战,所以用了纯模拟,认为今天ak是很简单的事情了。

11:45
成绩出来了,看来没翻车,我去第一题怎么错了!?只拿了60。回来检查一看,10^6我写成1e5了,应该写1e6,我之前居然没有检查!十分可惜。更令我惊讶的是某lsy居然第三题拿到了180!WTF!真的第三题200分!只好苦苦去打在线算法了。

这次比赛锻炼了我的爆搜能力,希望noip普及组复赛不要翻车,能ak最好啦!
`

0 0
原创粉丝点击