NOIP2014解题报告

day 1

1.生活大爆炸版石头剪刀布(rps)

直接按照题意模拟即可

  

2.联合权值(link)

比较基础的树形dp. mxx,cntx表示以x为根的子树中结点x的孩子的最大权值和总权值, 在对树进行dfs时计算出结果.

时间复杂度O(N)

3.飞扬的小鸟(bird)

完全背包, dp(x, y)表示小鸟在坐标(x, y)处的最小点击屏幕数.

从左到右dp, 状态转移方程为 dp(x, y) = min{dp(x-1,y-INCx-1)+1,dp(x,y-INCx-1)+1,dp(x,y+DECx-1)}

其中INCx表示横坐标为x点击一次屏幕的上升高度.

我们知道完全背包是要顺序枚举, 这道题也是, y要从1开始枚举. 还要注意先算点击屏幕的, 再算不点击屏幕让bird自己下来的, 这样才不会重复. 不能到达终点就在dp过程中算一算.

时间复杂度O(NM)

day1的题目总体上比较简单, 或者说有点过于简单了.

 

day 2

1.无限网路发射器选址(wrieless)

直接枚举每一个点, 再对于每一个点暴力算即可.

2.寻找道路(road)

先从终点反向dfs一遍标出T能到达的点, 然后对于每个点检查它的出边是否被标记来确定是否可经过此点. 然后跑最短路即可.

3.解方程(equation)

当f(x) = 0时, f(x) mod p = 0. 那么当f(x) mod p = 0时f(x)就有可能=0.

我们可以取几个质数, 然后对于[1,m]每一个都进行验证. 只需算出x在[1,p)中的结果即可, x在[p,m]上, f(x) mod p = f(x%p) mod p.

day2前2题依旧是简单, 第三题比较有难度

posted @   JSZX11556  阅读(3532)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示