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)相等