侦察兵(特长生准备)
来源:互联网 发布:anconda tensorflow 编辑:程序博客网 时间:2024/04/30 19:47
题目大意:
给你一个n*n的矩阵,求(x,y)左上角和右下角的值得和。n<1000 有t个(x,y),t<1000;
思路:
不可以直接暴力,因为要枚举三个变量,就是n^3,一定会超时,然后就想到二维的前缀和,在搞个后缀和。
去一个点相加就好了,时间O(n^2+n);
程序:
const maxn=1000;var a,f,f1:array [0..maxn+1,0..maxn+1] of longint; i,j,n,m,t,x,y:longint;begin assign(input,'scout.in'); reset(input); assign(output,'scout.out'); rewrite(output); readln(n,m); for i:=1 to n do begin for j:=1 to n do read(a[i,j]); readln; end; for i:=1 to n do for j:=1 to n do f[i,j]:=f[i-1,j]+f[i,j-1]-f[i-1,j-1]+a[i,j]; for i:=n downto 1 do for j:=n downto 1 do f1[i,j]:=f1[i+1,j]+f1[i,j+1]-f1[i+1,j+1]+a[i,j]; for i:=1 to m do begin readln(x,y); writeln(f[x-1,y-1]+f1[x+1,y+1]); end; close(input); close(output);end.
阅读全文
1 0
- 侦察兵(特长生准备)
- 门票(特长生准备)
- 朋友(特长生准备)
- 遭遇战(特长生准备)
- 特长生模拟——侦察兵
- 5.16特长生模拟题 侦察兵
- 买装备(特长生准备)
- 清兵线(准备特长生)
- 侦察兵(区间和)
- 侦察兵
- 特长生模拟 Array(水)
- 特长生模拟 BIOtech(模拟)
- 特长生模拟 Distinct (二分)
- 侦察兵_dp
- 特长生模拟 采药(dp,背包)
- 特长生模拟 八数码(bfs+hash)
- 特长生模拟 DNA排序(逆序对+快排)
- 《特种兵之侦察兵》
- SVN版本控制
- sublime text3 less和scss文件高亮显示
- c/c++中const、static的区别
- Java基础编程1—比较三个整数的大小
- Android 使用 Handler 避免内存泄漏的一些建议
- 侦察兵(特长生准备)
- CocoaPods中pod search失效解决办法
- RabbitMQ 概念与Java例子
- install docker on Ubuntu 14.04
- java中域对象总结
- Linux下MQ安装步骤及MQ常用命令
- qml学习资料=网站备份
- POJ 1741 Tree
- Ceph 12源码编译部署bluestore