zoukankan      html  css  js  c++  java
  • noip2011做题总结

    DAY1

        T1:铺地毯

            题目不难,是oj原题,乍一看容易卡题面,因为数据量和第一印象(开100,000*100,000会死的啊喂),不能用地毯覆盖完再判断。。

    然后就换个思路,看看所求的地块最后被谁覆盖。

            于是carpet[100050][2],extension[100050][2]记录地毯左上角和扩展对所有地毯遍历,最后一张符合覆盖属性的就是答案咯

        时间复杂度大约o(n)。

        T2:选择客栈

            看到题目,满脑子都是ST,因为题目描述有区间 和 最小值两个关键词,于是就一门心思ST。

     用链表记录每种颜色客栈的位置,方便调用,然后,ST ST ST ST ST ST st

            o(nlog2(n))预处理,o(n)询问,综合时间比O(NK)快吧。。。

        T3:mayan

            大型暴力模拟递归回溯一大堆函数然后考场打不完直接放弃if大发拿40分系列。。。

    DAY2

        T1:计算系数

            一道半数学题吧,考察到 排(yang)列(hui)组(san)合 (jiao)和 逆(di)元(tui)

    正如前面所述,你可以推出杨辉三角作为系数的一个因数,或者用排列组合(Cnr),然后分别快速幂

    求出第二个第三个因数,三个相乘取模,没了。。

            记住,少取mod两行泪

        T2:聪明的质检员

            暴力枚举估计拿30%,打二分估计%50,前缀和优化%70,二分加前缀和AC

    先直接记录每块矿石的属性 w[i] , v[i] ,以及区间属性 x[i] , y[i],用max{w[i]+1}表示R,min{w[i]-1}表示L

    用质量二分。对于中点的mid为质量限度,O(n)遍历所有矿石,当w[i]>mid时,总价值sum1[i]=sum1[i-1]+v[i],

    个数sum2[i]=sum2[i-1]+1;否则sum{1,2}[i]=sum{1,2}[i-1];

            然后O(m)遍历区间,将两种前缀的区间值(s[j]-s[i-1])的乘积累加给Y,当Y>S时,增加质量标准以减小否则

    减小限制{R=mid-1};并且记录ans=min{ans,abs(Y-S)}.

        最后,不开long long两行泪,不打lld两行泪,不清数组两行泪。。。

        T3:观光公交

            我以为是分层最短路,又以为是DP

    谁知道贪心就能过,是数据水吧,毕竟是DP题,毕竟是NOIP DAY2 T3...

    总结

     不开ll两行泪,不清数组两行泪,不取mod两行泪,不打文件两行泪,文件打错两泪。。。

            我意识到,不努力就会死的。。。

    我已经放下了游戏(打游戏的人才懂得有多难),今后的日子里,我会努力的,学会算法还不够,还要避免低级失误,这个很要命的

    wdc大佬告诉我,非智力扣分都该打脸。。。

    期望(300/600)结果因为少取模,ST打错一个+1,(130/600)其实心里挺难受的,我为我的摸鱼和不认真忏悔

    这几天我不会自闭,我会努力,我要去中山,为了最初的梦想和期望,做最好的自己!!!

  • 相关阅读:
    flask ajax
    python 符合条件跳过下一次循环
    python使用openpyxl excel 合并拆分单元格
    等价类划分法
    python 同级目录包导入问题,使用"."错误
    django:查询,反向查询
    Python实现程序执行次数的计数
    python 2x SSH通道连接服务器读取数据库和中文编码问题
    Python for 循环中使用append()添加可变元素,前面的值被覆盖,循环中内存应用地址不变
    以概率列表选择对应元素,轮盘概率选择Python实现
  • 原文地址:https://www.cnblogs.com/you-xiao-mang-ci/p/11208773.html
Copyright © 2011-2022 走看看