1002 模拟赛

Posted cbyyc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1002 模拟赛相关的知识,希望对你有一定的参考价值。

写在前面

今天的题是去年考过的,\(cb\)依旧很垃圾\(QAQ\)技术图片

T1 求和

链接

Idea

前缀和

我们先将左上角的点看作\((1,1)\),右下角的点看作\((n,m)\),那么有\(\displaystyle \sum_i=1^n \sum_j=1^m d[i][j] = \fracm \times n \times (n+m)2\),自己手推下。就有了

那么\(Ans\)就是前缀和中的问题。

\(Ans=sum[x_2][y_2]+sum[x_1-1][y_1-1]-sum[x_1][y_2]-sum[x_2][y_1-1]\)

但是计算乘法时会爆\(long\;long\),可以用高精,也可以用龟速乘(好像是个这名)技术图片技术图片

单纯的计算好像有\(70\;pts\).

Code

int x1,y,x2,y2,m;
inline int mul(int n, int m, int p)
    int a=n,ans=0;
    for(;m;m>>=1)
        if(m&1) ans=(ans+a)%p;
        a=(a*2)%p;
    
    return ans;

inline int power(int x,int y,int m)
    int sum=x+y;
    if(~x&1) x>>=1;
    else if(~y&1) y>>=1;
    else sum>>=1;
    return mul(mul(x,y,m),sum,m);

signed main()
    freopen(File".in","r",stdin);
    freopen(File".out","w",stdout); 
    x1=read(); y=read();
    x2=read(); y2=read(); m=read();
    printf("%lld",(power(x2,y2,m)-power(x1-1,y2,m)-power(x2,y-1,m)+power(x1-1,y-1,m)+2*m)%m);
    return 0;

T2 分组配对

链接

Idea

先打了个暴力,发现大样例过不了。

技术图片

然后想到了二分,又想暴力加区间会炸掉,于是又用了倍增。技术图片

关键是二分,我瞎调了调居然过了技术图片

复杂度为\(O(n \log^2 n)\),应该是吧。。。

Code

int a[maxn],b[maxn];
int aa[maxn],bb[maxn];
int n,M;
inline bool check(int x,int len)//判断为是否合法区间
    int y=x+len-1;
    for(int i=x;i<=y;i++) aa[i]=a[i],bb[i]=b[i];
    sort(aa+x,aa+y+1); sort(bb+x,bb+y+1);
    int res=0;
    for(int i=x;i<=y;i++) res+=aa[i]*bb[i];
    return res<=M;

inline int solve()
    int QAQ=0,qwq=1;//请忽略,不知该起什么变量名
    while(qwq<=n)
        int len=1;
        for(;check(qwq,len)&&qwq+len-1<=n;len*=2);//倍增
        int l=len>>1,r=min(len-1,qwq+len-1);
        while(l<r)//二分
            int mid=(l+r+1)>>1;
            if(check(qwq,mid)) l=mid;
            else r=mid-1;
        
        qwq+=l; QAQ++;
    
    return QAQ;
 
signed main()
    freopen(File".in","r",stdin);
    freopen(File".out","w",stdout); 
    n=read(); M=read();
    for(int i=1;i<=n;i++) a[i]=read();
    for(int i=1;i<=n;i++) b[i]=read();
    printf("%d",solve());
    return 0;

T3 城市游戏

链接

Idea

蒟蒻不会删边技术图片,于是只输出了\(-1\)\(QAQ\)

但好像有\(15\;pts\)技术图片,真良心。

\[ The \quad End \]

\[ \text楼台上戏子和衣吟唱,一曲画堂春;不如就携手隐没红尘,相对忘贫生-《画堂春》 \]

以上是关于1002 模拟赛的主要内容,如果未能解决你的问题,请参考以下文章

1002CSP-S模拟测试赛后总结

[考试反思]1002csp-s模拟测试57:平庸

1002 A+B for Polynomials (25 分)难度: 一般 / 知识点: 模拟

[考试反思]1002csp-s模拟测试56:凌乱

模拟器上的 MFMessageComposeViewController - canSendText?

基于Freeswitch的模拟H323环境调测