NOIP模拟 2

  大概就是考试的时候慌的一批,因为一道正解也没想出来,T1,T3只会暴搜,听见天皇在旁边的窃喜声本渣内心是崩溃的

  会打暴搜的我先打了暴搜,大多数时间都用在第二题上,妄想自己能拿50多分~

  最后半小时万念俱灰,然后突然发现t3是个组合数dp,像个疯狗一样码出了自己以为的正解,然而交卷之前还是没过了样例

  (幸好没过啊要不连暴力分都拿不到了)

  最后每个题都有分,虽然是那么可怜的几分吧...也是一个进步了,至少我认识到了:暴力也是分,一分也是分啊。。。

  排序

  见的题还是太少,看见数据就想状压,状压没前途,也不相信有12层的dfs

  考场上只写了最智障的暴搜,题还审错了,以至于没有发现那个巨有效的剪枝。。。

  其实脑子里曾经闪过这一念头,只不过读题时头脑已经混乱了,没有深想(这其实就是正解啊啊)

  而改题的时候没有想到的地方么

  1.只需枚举每种操作选还是不选,操作的顺序不影响结果(大操作完全包含小操作),只要枚举用还是不用,累加阶乘即可

  2.对于每个局面,操作用还是不用是一定的,那么如果用,还可以用在两个地方,也就是在“用在哪里”处会出现搜索分支

  尤其是2,一开始真的完全想不到,3 2 1 4是有两种交换方法的啊!(奇数排名在奇数位上,偶数在偶数位上,以上2点满足了,那么交换13和交换24都可以了)

  放棋子

  暴艘20分赚到了

  考试的最后两小时想到了正解的一部分

  没想到的:

  1.容斥预处理g数组(mdzz就欺负数据范围小么)

  2.g数组的第一维只用到一些离散的点,不用全部预处理

  3.模数是1e9+9......

  划艇

  一道神题,考试时想出了正解的0%

  1.由于n很小而a,b很大,考虑区间离散化

  2.离散化区间最好离散成一闭一开,否则长度为1的区间会恶心死你(把上下界离散成了一个点,忽略了这个区间的存在)

  3.对于两个不同的离散后区间,它们中任意点的大小关系一定,可以当作一个点状态转移,也就可以用前缀和维护

  4.两个相同的离散后区间,用组合数算出部分方案,再转化成点状态转移(一整一散,我的确想起了ZDY LOVE MATH II)

  5.学到了一个根据实际含义的组合数合并方法Σ(k=0,k<=n) C(n,k)*C(m,k)=C(n,n-k)*C(m,k)

    相当于从n+m个人里选n个,枚举在前n个里选几个,所以与 C(n+m,n)相等

原文地址:https://www.cnblogs.com/yxsplayxs/p/11206233.html