zoukankan      html  css  js  c++  java
  • 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)相等

  • 相关阅读:
    [LeetCode 题解]: Triangle
    [LeetCode 题解]: pow(x,n)
    [LeetCode 题解]: plusOne
    [LeetCode 题解]: ZigZag Conversion
    error: field 'b' has imcomplete type
    两个分数的最小公倍数
    DDR工作原理
    流水线技术原理和Verilog HDL实现
    FPGA主要应用
    提高器件工作的速度
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/11206233.html
Copyright © 2011-2022 走看看