NOIPRV

来源:互联网 发布:阿里云 ddns 编辑:程序博客网 时间:2024/06/01 08:12

NOIPRV


2001

1117 数的划分 [ DP ]

注意long long。
f[i][j]=f[ij][j]+f[i1][j1]
<1. 第一个元素不为1 > : f[i - j][j] (j个元素全部减1)
<2. 第一个元素为1> : f[i - 1][j – 1] (去掉第一个元素)

1119 Car 的旅行路线 [ SPFA ]

预处理稍麻烦。

1116 一元三次方程求解 [ … ]

暴枚。VIJOS数据好像有点问题?
竟然。。。输入数据原来是double。。。醉烂。
也可以用到零点定理的了。。。

1118 统计单词个数 [ DP? ]

预处理g[i][j] : 字串s[i..j]中单词个数。
f[i][j]=maxf[k][j1]+g[k+1][i]|k=j1..i1 (是j – 1不是0)


2002

1123 均分纸牌 [ … ]

开始想复杂了,虽然A了。
Quote from VIJOS :
第一堆数量只能由第二堆改变,而第一堆的最终数量又是确定的。
所以第二堆给第一堆的数量也就确定了。
然后因为第二堆最终数量也是确定的。
所以第三堆给第二堆的数量也是确定的。

1125 自由落体 [ … ]

好无聊啊。。
求出接住的时间上下界,位移上下界。。for if…

1124 字串变换 [ BFS,字符串Hash ]

不想写了。。。

1126 矩形覆盖 [ ??? ]

待解决


2003

1105 神经网络 [ BFS ]

反正是BFS。


注意个特判:不能到达最下层的情况。

1100 加分二叉树 [ 记忆化 ]

skip

1106 侦探推理 [ … ]

skip

2004

1096 津津的储蓄计划 [ … ]

skip

1097 合并果子 [ heap ]

1098 合唱队形 [ LIS ]

两遍LIS…

待解决

2005

1001 谁拿了最多奖学金 [ … ]

skip

1002 过河 [ DP ]

朴素 : f[i]=f[ik]+b[i],(sit)
因为 s,t10,m100 ,所以中间会有很多无用状态。为了图方便,把两个石子之间距离全部设为 10×s×t (放大了不影响结果),可以承受。

1003 等价表达式 [ ??? ]

待解决

1008 篝火晚会 [ ??? ]

思想跟置换群有点关系。。
待解决

2006

1312 能量项链 [ DP ]

记忆化
f[l][r]=max{f[l][i]+f[i+1][r]+p1[l]p2[i]p2[r]}

1313 金明的预算方案


1314 作业调度方案


1315 2^k进制数


2007

1362 树网的核

待解决

1378 矩阵取数游戏 [ DP ]

记忆化,注意边界条件。
一行行处理:f[l][r][k]=max{f[l1][r][k1]+g[l1]2k,f[l][r+1][k1]+g[i1]2k}
ans=max{f[i][i][m1]+g[i]2m|1im}

1379 字符串的展开

skip

1816 统计数字

skip

2008

1493 传纸条 [ DP ]

f[i][j][p][q]=max{f[i1][j][p1][q],f[i][j1][p][q1],f[i1][j][p][q1],f[i][j1][p1][q]}+g[i][j]+g[p][q]((i,j)(p,q))
边界:
f[1][1]=g[1][1]
f[n][m][n][m]=max{f[n1][m][n][m1],f[n][m1][n1][m]}+g[n][m]

Cab

0 0
原创粉丝点击