您的位置:首页 > 其它

NOIP模拟20150904总结

2015-09-04 22:32 274 查看
今天这套题,虽然没有用到数据结构,但是很考思维,总的来说,我的发挥一般般。

第一题的话,其实就是把最后一层放回推到最开始的那一层,只有四种不同的方案,最后要加几个剪枝,最优答案剪枝等等。还有一个最重要的剪枝(比赛的时候就是少了这个)就是:对于区间[l,r][l,r],如果l⩽r−ll\leqslant r-l时就一定不满足条件。

第二题,我要求第经过ii个位置的合法串,我的想法是,本层的合法串个数++上面层的合法串个数,那么这就变的简单了,我用lil_i表示在这一层包括他自己往左有几个同层的()(),同样的用rir_i表示在这一层包括他自己往右有几个同层的()(),那么本层的合法串个数就是li∗ril_i*r_i。而上面层的合法串个数就等于ans本层最左边位置−1ans_{本层最左边位置-1}其实就是上一层的左括号的位置。

第三题,易得fi,jf_{i,j} →fi+1,j−1,fi,⌈j/2⌉\to f_{i+1,j-1},f_{i,\lceil j/2 \rceil} 我们可以想到,哈夫曼树中,fi,j→fi+1,j−1,fi,j+∑Nk=iAk→fi,2∗j,fi,2∗j−1f_{i,j} \rightarrow f_{i+1,j-1},f_{i,j}+\sum_{k=i}^N A_{k} \rightarrow f_{i,2*j},f_{i,2*j-1},而在本题下fi,2∗j−1 f_{i,2*j-1}要比fi,2∗jf_{i,2*j}劣,所以这道题要从(n,1)(n,1)走到(1,1)(1,1),其实就是走反向边从(1,1)(1,1)走到(n,1)(n,1),所以,本题就是哈夫曼树。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: