2018.7.23模拟考试

今天我居然A了一道题???怕不是把明年的运气都用光了

T1 题意简述:给出两个n*n的矩阵,m次询问它们的积中给定子矩阵的数值和。

n<=2000,m<=50000

解题思路:这道题其实最主要的是这个...每个测试点时限6秒

这告诉我们...暴力就能过...

当然也不能随便暴力。二维前缀和即可。复杂度O(nm)。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<ctime>
#define ll long long
using namespace std;
ll n,m;
ll ans,suma[2010][2010],sumb[2010][2010];
ll read()
{
    ll f=1;ll x=0;char s=getchar();
    while(s<‘0‘||s>‘9‘){if(s==‘-‘)f=-1;s=getchar();}
    while(s>=‘0‘&&s<=‘9‘){x=x*10+s-‘0‘;s=getchar();}
    x*=f;return x;
}
int main()
{
//    system("CreatRand.exe");
    freopen("matrix.in","r",stdin);
    freopen("matrix.out","w",stdout);
//    ll st=clock();
    n=read(),m=read();
    for(ll i=1;i<=n;i++)
        for(ll j=1;j<=n;j++)
            suma[i][j]=read(),suma[i][j]+=suma[i-1][j];
    for(ll i=1;i<=n;i++)
        for(ll j=1;j<=n;j++)
            sumb[i][j]=read(),sumb[i][j]+=sumb[i][j-1];
    for(ll i=1;i<=m;i++)
    {
        ans=0;
        ll xa=read(),ya=read(),xb=read(),yb=read();
        if(xa>xb) swap(xa,xb);
        if(ya>yb) swap(ya,yb);
        for(ll i=1;i<=n;i++)
            ans+=(suma[xb][i]-suma[xa-1][i])*(sumb[i][yb]-sumb[i][ya-1]);
        printf("%lld\n",ans);
    }
//    ll ed=clock();
//    printf("%lld\n",ed-st);
    return 0;
}


T2 题意简述:平面上有N个整数坐标点。如果将点(x0,y0)移动到(x1,y1)。则代价为它们之间的切比雪夫距离。求使得K个点在同一位置上最少需要的代价。

原文地址:https://www.cnblogs.com/water-radish/p/9354902.html

时间: 2024-10-02 00:27:37

2018.7.23模拟考试的相关文章

2018.10.6模拟考试

感动...某毒瘤出题人这次出的题竟然可做... 看题目请戳我! T1 这题乍一看就知道是一道数学公式题...自己仔细推推就能推出来... 已知(x+1)^n=C(n,0)*  x  ^n+C(n,1)*  x  ^(n-1)+...+C(n,n)*  x  ^0 易知(x+2)^n=C(n,0)*(x+1)^n+C(n,1)*(x+1)^(n-1)+...+C(n,n)*(x+1)^0 所以可以分别维护sum[x^0]~sum[x^k],插入时按照(x-1)插入,修改时将sum从x^n到x^0分

2018.10.9模拟考试

看题请戳我! T1 一道很水的贪心.(然而蒟蒻博主一如既往地没A) 维护一个小根堆,考虑在每次插入元素时: 1.若新元素比堆顶小,说明在此时买入必然比在堆顶时买入更优,因此把新元素直接插入堆中. 2.若新元素比堆顶大,说明在此时卖出必然能获得收益,因此将收益累计入答案中,再把堆顶删除.      同时还要把新元素两次插入堆中. 原因:在最优解中,此元素可能并非作为“卖出”的一部分,而是作为“未进行操作”的一部分.插 入一次可以使此元素从“卖出”状态反悔到“未进行操作”状态.同样,再次插入可以使此

2018.6.19 Java模拟考试(基础习题)

Java模拟考试(基础习题) 一.单选题(每题1分 * 50 = 50分) 1.java程序的执行过程中用到一套JDK工具,其中javac.exe指( B ) A.java语言解释器 B.java字节码编译器 C.java文档生成器 D.java类分解器 2.在Java语言中,不允许使用指针体现出的Java特性是( D ) A.可移植 B.解释执行 C.健壮性 D.安全性 3. 00101010(&)00010111语句的执行结果是( C ) A.11111111 B.00111111 C.00

阿里云云计算认证ACP模拟考试练习题第6套模拟题分享(共10套)

阿里云认证考试包含ACA.ACP.ACE三种认证类型,报名考试最多的是ACP认证考试,本人整理了100道全真阿里云ACP认证考试模拟试题,适合需要参加阿里云ACP认证考试的人复习,模拟练习.此为第6套模拟题分享. 阿里云云计算认证ACP模拟考试练习题6 认证级别 云计算 大数据 云安全 中间件 助理工程师(ACA) 云计算助理工程师认证报名入口 大数据助理工程师认证报名入口 云安全助理工程师认证报名入口 专业工程师(ACP) 云计算工程师认证报名入口 大数据工程师认证报名入口 大数据分析师认证报

驾照理论模拟考试系统Android源码下载

???驾照理论模拟考试系统Android源码下载 <ignore_js_op> 9.png (55.77 KB, 下载次数: 0) <ignore_js_op> 10.png (27.64 KB, 下载次数: 0) 详细说明:http://android.662p.com/thread-302-1-1.html 驾照理论模拟考试系统Android源码下载,布布扣,bubuko.com

模拟考试题目分享

1.多米诺骨牌(domino.pas) Jzabc对多米诺骨牌有很大的兴趣,然而他的骨牌比较特别,只有黑色的和白色的两种.他觉得如果存在连续三个骨牌是同一种颜色,那么这个骨牌排列便不是美观的.现在他有n个骨牌要来排列,他想知道不美观的排列个数.由于数字较大,数学不好的他又不会统计,所以他请你来帮忙.希望你在一秒内求出不美观的排列个数. [输入] 只有一个正整数,即要排列的骨牌个数. [输出] 一个数,即不美观的排列个数. [样例输入] 4 [样例输出] 6 [样例解释] 有四种不美观的排列. 黑

全新雅思模拟考试开启全国高校预热活动

2015年12月12日, CMI雅思模拟考试管理中心(www.my-ielts.org )举行了首场全新雅思模拟考试高校预热活动,本次活动共有来自清华大学.北京大学.中央民族大学.中央财经大学.北京航空航天大学.北京中医药大学.北京体育大学.北京工业大学.吉林大学.西南大学.山东大学.天津大学.武汉大学.南京大学.兰州大学.首都师范大学.广东外语外贸大学.北方工业大学.成都理工大学.西北民族大学等20多所高校的逾500名考生报名参加.本次考试采用在线考试的形式,由考生在学校机房.宿舍.家中等不同

RHCE模拟考试

真实考试环境说明: 你考试所用的真实物理机器会使用普通账号自动登陆,登陆后,桌面会有两个虚拟主机图标,分别是system1和system2.所有的考试操作都是在system1和system2上完成.System1充当服务端,system2充当客户端.这些虚拟机的系统登陆密码请留意当时的考试细则说明. 模拟考试环境说明: 您有三台虚拟机,分别是classroom-rh254,server-rh254,desktop-rh254.三台虚拟主机的网络和主机名已经配置好,均位于example.com(1

2018/3/1 省选模拟考试 50分

T1 30分模拟暴力,40分树的直径.拿了0分.(空间开小了爆了,因为缩点之后是又建了一次图,两个边的编号tot没分开,mdzz) 只写了后40分,而这40分中有20分不需要边双连通分量.写了一个类似于强连通分量(标记双向边)的缩点,应该实现哪里出了偏差,因为就算空间开大改正tot的bug也还是20分. T2 写了50分纯暴力 会bsgs可以得80分好像,但是我只会快速幂和暴力,所以50. T3 看了题目,没写,感觉是lca和一些神奇的操作.题解看上去是一个挺裸的lca,亏了. 原文地址:htt