zoukankan      html  css  js  c++  java
  • 1003-模拟赛

    A

    没什么好说的,(f[i] = f[i - 1] + f[i - 2] - f[i - 11]) 都没推出来,更没有想到用用矩阵乘法+KSM来求(类似Fibonacci的矩阵乘法来整),模拟暴力混(60)

    B

    每日一失智

    认认真真算空间复杂度,(10005 imes 10005)再抹掉(6)(0),算出来(100)多一点

    但是,

    int值要乘个4啊!!!!

    (100)(400)(128M)的空间限制我人瞬间就没了,从WA60到WA0,十分的快乐

    我要是再算错空间(尤其是int不乘(4),LL不乘(8),我女装倒立洗头)

    想到树状数组求逆序対,怎么求不同区间的,想了半天数字的范围是(1~n)是什么意思,其实就是可以用树状数组来搞(不用离散化)的意思qwq,反而把重要条件:(∑∣l[i] − l[i − 1]∣ + ∑∣r[i]− r[i − 1]∣ ≤ 7 × 10^6)给忽略掉惹qwq

    所以瞎**乱想到要离线,对问题排序再来搞,其实这么搞反而会T,首先sort就要用(NlogN)的时间,然后左移右移甚至不能保证(≤ 7 × 10^6)

    正解就直接在线,每次移区间就是了

    记一下移的方法(([L,R])为已经算好的区间)

    scanf("%d%d",&l,&r);		
    while(L < l){
    	ans -= getsum(a[L] - 1);//[L,R]中比a[L]小的数
    	modify(a[L], -1);//将这个数从区间中去掉
    	L ++;
    } 
    while(L > l){
    	ans += getsum(a[L - 1] - 1);//[L,R]中比a[L-1]小的数
    	modify(a[L - 1], 1);
    	L --;
    }
    while(R < r){
    	ans += getsum(n) - getsum(a[R + 1]);//[L,R]中比a[R+1]大的数
    	modify(a[R + 1], 1);
    	R ++;
    } 
    while(R > r){
    	ans -= getsum(n) - getsum(a[R]);//[L,R]中比a[R]大的数
    	modify(a[R], -1);
    	R --;
    } 
    printf("%d
    ",ans);
    

    C

    嗯,对,这是个状压

    啥??然后我就不会整了啊(状态立的跟标程差了十万八千里)

    然后立了状态也不知道怎么推下一步,我觉得吧我状态压缩是真的太弱了QwQ

    应当做一下状压和带递归的专项练习,这俩我都不太会写

    而且我也没想到可以先放下背着的人,再去背其他人

    wtcl

    顺带%%%把3进制做法改成2进制爆踩标程的学长

    总结一波

    预计得分:(60 + 60 + 0 = 120)

    实际得分:(60 + 0 + 0 = 0)

    AWSL

    并不能称之为问心无愧的得分QwQ,A题推不出来方程+矩阵乘法不会我认了,但是B题其实我觉得我应该做出来的Orz Orz Orz,C题改错也改得十分自闭,我觉得我码力真是太弱了

  • 相关阅读:
    Linux Kernel Makefiles Kbuild en
    Android 源码结构分析
    Linux Charger IC 驱动移植总结
    Battery Charging Specification Revision 1.2 中文版本
    OpenCV 3.4.2 Windows系统下的环境搭建(附带opencv_contrib-3.4.2)
    OpenCV 经纬法将鱼眼图像展开
    shell 循环结构
    OpenCV之Mat类使用总结
    shell 条件结构之 if 语句使用总结
    OpenCV Error: Unspecified Error(The Function is not implemented)
  • 原文地址:https://www.cnblogs.com/qwqq/p/11621094.html
Copyright © 2011-2022 走看看