首页 > 其他分享 >【NOIP2016普及组复赛模拟赛】侦察兵

【NOIP2016普及组复赛模拟赛】侦察兵

时间:2024-08-15 19:26:35浏览次数:6  
标签:NOIP2016 mxy int fy 侦察兵 scout 1002 复赛

题目描述

mxy 沉迷于一个辣鸡游戏不可自拔。
游戏地图是一个 n*n 的矩形,在每个单位格子上有一个数字,代表当前位置的生命体个数,作为一个侦察兵,mxy 的任务是计算出她所在位置的左上角和右下角的总人数(不包括她所在的行列)。
注意作为一个侦察兵,mxy 是不包括在地图上的生命体个数中的。

输入
从文件 scout.in 中读入数据。

第一行 2 个整数 n 和 t。(1≤n≤1000,1≤t≤1000)
接下来 n 行,每行 n 个整数表示每个单位格子上的生命体个数 a。(1≤a≤100)
再下来 t 行,每行两个整数 xi,yi,表示不同时刻 mxy 在地图上的位置。

输出
输出到文件 scout.out 中。

T 行,每行一个整数,表示当前时刻 mxy 所在位置的左上角和右下角的总人数。

样例输入

4 1
0 1 2 0
3 2 0 0
1 2 3 2
0 0 0 10
3 3

样例输出

16

正片开始!!!

首先,先来画个图推理一下

没错,只是一道DP题(其实就是2维前缀和)
OK,直接开始撸代码:

#include <bits/stdc++.h>
using namespace std;
int  n, t;
int  a[1002][1002],fx[1002][1002],fy[1002][1002];
int  ans1,ans2;
int  sx, sy;
int main() {
	freopen("scout.in", "r", stdin);
	freopen("scout.out", "w", stdout);
	cin >> n >> t;
	for (int  i = 1; i <= n; i++)
		for (int  j = 1; j <= n; j++)
			cin >> a[i][j];
	for(int  i=2; i<=n; i++) {
		for(int  j=2; j<=n; j++) {
			fx[i][j]=fx[i][j-1]+fx[i-1][j]-fx[i-1][j-1]+a[i-1][j-1];
		}
	}
	for(int  i=n-1; i>=1; i--) {
		for(int  j=n-1; j>=1; j--) {
			fy[i][j]=fy[i][j+1]+fy[i+1][j]-fy[i+1][j+1]+a[i+1][j+1];
		}
	}
	for(int i=1; i<=t; ++i) {
		cin >> sx >> sy;
		cout << fx[sx][sy]+fy[sx][sy]<<endl;
	}
	return 0;
}

再见!!!

标签:NOIP2016,mxy,int,fy,侦察兵,scout,1002,复赛
From: https://www.cnblogs.com/ACyming/p/18361655

相关文章

  • P2831 [NOIP2016 提高组] 愤怒的小鸟
    思路:考虑先求出经过\((x_1,y_1),(x_2,y_2)\)的抛物线解析式我们有:\[\begin{cases}ax_1^2+bx_1=y_1\\ax_2^2+bx_2=y_2\end{cases}\]考虑将\(b\)消掉,求出\(a\)。那么考虑令\(1\)式减去\(2\)式的\(\frac{x_1}{x_2}\)倍:\[ax_1^2+bx_1-ax_1x_2-bx_1......
  • P2119 [NOIP2016 普及组] 魔法阵
    P2119[NOIP2016普及组]魔法阵传送门1我们可以先写出\(O(m^4)\)的暴力#include<bits/stdc++.h>#defineintlonglong#definePIIpair<int,int>usingnamespacestd;constintinf=0x3f3f3f3f;constintMOD=1e9+7,N=4e4+5;intn,m,ans[N......
  • 信奥生(OIER)请看,包囊初赛复赛的全真模拟赛!
    luogu动态追踪!唠唠嗑感谢tyw代理团主对比赛的贡献,但是由于我和tyw的关系紧张,tyw取消了我和她的一切合作。CTFPC-3rd的出题、宣传工作都交到了我手上,我这次亚历山大。CTFPC-3RD举办时间:中秋节前后,更具体时间待开学后进一步通知。tyw首次提出了出初赛题的想法,我也完成......
  • 2023CSP-j复赛题解
    csp-j题解update:2024.6.18-2024.6.25:重构题解第一题:小苹果原题洛谷P9748思路n表示当前长度求几天取完:每天取走\((n-1)/3+1\)个苹果,记录几天取完第\(n\)个苹果第几天被取走:当\(n\bmod3=0\)时被取走时间复杂度约为\(O(\log_n)\)#include<iostream>......
  • 2024年全国青少年信息素养大赛图形化编程小高组复赛真题
    2024年全国青少年信息素养大赛图形化编程小高组复赛真题题目总数:6  总分数:100编程题第1题  问答题请对变身鱼进行编程,变身鱼的初始状态已经设置,不需要进行修改,1.当变身鱼大小大于300时,游戏胜利(自制积木块已经写好,可直接使用)。变身鱼碰到螃蟹,大小增加5,1秒后可......
  • 2016 CSP-J/NOIP万字长文复赛真题题解——秒杀T1 买铅笔,T2 回文日期,T3 海港,T4 魔法
    [NOIP2016普及组]买铅笔题干[NOIP2016普及组]买铅笔题目背景NOIP2016普及组T1题目描述P老师需要去商店买nnn支铅笔作为小朋友们参加NOIP的礼物。她发现......
  • 台州市2024青少年信息学奥赛复赛初中组
    初中组第一题【题目概述】用数字\(4,5,6\)去组合出一个给定的数字\(n\)(\(8\len\le10^5\)),用的数字尽可能多,在满足前者的条件下,数越大越好,分别输出\(4,5,6\)的数目。【题目解析】第一要求:用的数字越多越好。和相等的情况下,每一个选择的数要尽可能小,所以数量最多\(\le......
  • CSP历年复赛题-P9749 [CSP-J 2023] 公路
    原题链接:https://www.luogu.com.cn/problem/P9749题意解读:有n个加油点,每个加油点距离、油价不同,每升油走d公里,加油必须整升加,问走完所有点最少加油的金额。解题思路:本题有两种思考方式:1、先走,再看油从哪里加依次走到第2,3,4......n个加油点,看每两个点之间距离需要加多少油由......
  • CSP历年复赛题-P9748 [CSP-J 2023] 小苹果
    原题链接:https://www.luogu.com.cn/problem/P9748题意解读:n个苹果,每天从第1个开始,每三个苹果拿走第一个,问几天拿完,最后一个苹果第几天拿走。解题思路:由于每三个苹果拿一个,每天拿走的苹果数量是⌈n/3⌉,即(n+2)/3n每天都要减去(n+2)/3,直到n为0,记录天数即可得到总天数最......
  • CSP历年复赛题-P8815 [CSP-J 2022] 逻辑表达式
    原题链接:https://www.luogu.com.cn/problem/P8815题意解读:计算逻辑表达式的值以及&,|短路操作的次数。解题思路:又是一道经典的中缀表达式的变形问题,如果对中缀表示式如何求值不理解,移步https://www.acwing.com/problem/content/3305/进行复习如果对表示式如何构建树形结构以及......