2020.07.18【NOIP提高组】模拟反思与总结

昨天有点膨胀,今天就会翻车。——我太弱了!
今天我比得不好,只能够想到大致的思路,但是在实现方面还是有很大的差距。
【T1】
Description
我看到第一眼,就觉得T1很简单,就简简单单地打了个dp过了样例就交了。孰不知,T1没有这么简单,还是有一些情况没有考虑到。以后比赛也一定要周全地考虑。

解法:先对于每一个蛋糕,使它的 ,然后在根据 为第一关键字进行排序。拍完序后,枚举h,先把1~h的蛋糕以 为关键字丢进一个小根堆。然后扫一遍h+1~n,每一次把堆顶弹出,把当前的蛋糕i丢进堆里,并更新答案。

期望得分:100
实际得分:20
【T2】
Description
一道很乱的字符串+判断的题目。不难,但是调了我很久才调出来,尤其是C++我对于字符串不是很熟悉。以后要在好好看一下C++的字符串。对于多判断的题目要细心检查。

铭记一点:不能轻易相信样例!

结果还是WA了……
期望得分:100
实际得分:0
【T3】
Description
比赛时就有点大致方向,结果跟正解一毛一样,但是在实现方面我确实不行,想不到dp如何转移,弄出方案数后又要怎么办,直到现在我才搞明白。只能够打暴力。

解法:首先,我们设一个状态 表示在放i这个数,有j对逆序对的序列的方案数。因为我们知道把第i个数插入i-1个数的排列,最多可以产生i-1对逆序对,最少则一对也没有。

就可以得出状态转移方程:f[i][j]=f[i-1][0]+……+f[i-1][j-i+1]
如果 则直接跳过。

然后,枚举每一个排列,每一个位置,如果 , 指的是比i要小的数的个数,那么第i个位置就可以填 ,然后更新s数组, ,否则第i个位置就不可以填 ,然后 要减掉不必要的方案。

期望分数:20
实际分数:20
【T4】Wait……

猜你喜欢

转载自blog.csdn.net/MZHjr/article/details/107452112