【GDKOI2004】城市统计题解

2020CSP第二轮 优秀的拆分(power) 题目描述 一般来说,一个正整数可以拆分成若干个正整数的和。例如,1 = 1,10 =1 + 2 + 3 + 4 等。对于正整数 ???? 的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,???? 被分解为了若干个不同的 2 的正整数次幂。注意,一个数 ???? 能被表示成 2 的正整数次幂,当且仅当 ???? 能通过正整数个 2 相乘在一起得到。例如,10 = 8 + 2 = 2^3 + 2^1 是一个优秀的拆分。但是,7 = 4 + 2 + 1 =2^2 + 2^1 + 2^0 就不是一个优秀 阅读详情

好久没写博客了,今天有空写一下。

题目描述

中山市的地图是一个 n ∗ n n*n n∗n的矩阵,其中标号为1的表示商业区,标号为0的表示居民区。为了考察市内居民区与商业区的距离,并对此作出评估,市长希望你能够编写一个程序完成这一任务。 居民区i到商业区的距离指的是到距离它最近的商业区j的距离 ( ∣ X i − X j ∣ + ∣ Y i − Y j ∣ ) (|Xi-Xj|+|Yi-Yj|) (∣Xi−Xj∣+∣Yi−Yj∣)(你可以理解为他们的行列分别作差),而你将统计的是对于城市中的每一个区域k,以它为中心的 ( 2 ∗ r + 1 ) ∗ ( 2 ∗ r + 1 ) (2*r+1)*(2*r+1) (2∗r+1)∗(2∗r+1)的矩阵区域内所有居民区到商业区的距离总和。结果同样以n*n的矩阵形式输出。

输入

第一行为t,表示以下有t组数据,每组数据之间以空行隔开,以下:
第一行为 n , r ( 1 < = r < n < = 150 ) n,r(1<=r<n<=150) n,r(1<=r<n<=150)
第二行起为一个 n ∗ n n*n n∗n的矩阵。

输出

t t t组 n ∗ n n*n n∗n的矩阵。每组用空行隔开

样例输入

1
4 1
1 0 0 0
1 1 0 0
0 1 1 0
0 1 0 0

样例输出

1 4 9 8
2 5 10 9
2 4 7 7
2 3 4 4

题目大意:

有 n 2 n^2 n2大小的方阵,有 0 0 0和 1 1 1,求出没个 0 0 0距离他最近的 1 1 1的曼哈顿距离,统计的是对于每一个区域 k k k,以它为中心的 ( 2 ∗ r + 1 ) ∗ ( 2 ∗ r + 1 ) (2*r+1)*(2*r+1) (2∗r+1)∗(2∗r+1)的矩阵区域内所有 0 0 0到 1 1 1的距离总和。结果同样以 n 2 n^2 n2的矩阵形式输出。

思路:

60~70分:

直接爆力枚举每一个 0 0 0到1的距离,再暴力枚举出 ( 2 ∗ r + 1 ) ∗ ( 2 ∗ r + 1 ) (2*r+1)*(2*r+1) (2∗r+1)∗(2∗r+1)的矩阵,输出。
时间复杂度: O ( n 4 ) O(n^4) O(n4)

100分:

考虑宽搜,先把 1 1 1放进队列,在扩展。最后再用二维前缀和算出 ( 2 ∗ r + 1 ) ∗ ( 2 ∗ r + 1 ) (2*r+1)*(2*r+1) (2∗r+1)∗(2∗r+1)的矩阵,输出。
时间复杂度: O ( n 2 ) O(n^2) O(n2)

代码:
#include<bits/stdc++.h> //码风已毒瘤,勿喷
#define INF 0x7ffffff
#define rg register
#define F(i,a,b,c) for(rg int i=(a);i<=(b);i+=(c))
#define Fu(i,a,b) F(i,a,b,1)
#define Fd(i,a,b) for(rg int i=(a);i>=(b);i--)
#define clear(x) memset(x,0,sizeof(x))
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
#define close() fclose(stdin),fclose(stdout)
using namespace std;
int t,n,ri,a[155][155],f[155][155],sum[155][155],bj[155][155],q[100005][3],l,r;
int way[4][2]={{0,-1},{0,1},{1,0},{-1,0}};
int main() {
	fre(city);
	scanf("%d",&t);
	Fu(k,1,t){
		clear(f),clear(sum),clear(bj),clear(q),l=r=0;
		scanf("%d%d",&n,&ri);
		Fu(i,1,n){
			Fu(j,1,n){
				scanf("%d",&a[i][j]);
				if(a[i][j]==1)
				q[++r][1]=i,q[r][2]=j,bj[i][j]=1;
			}
		}
		while(l<r){
			l++;
			Fu(i,0,3){
				int xx=q[l][1]+way[i][0],yy=q[l][2]+way[i][1];
				if(xx>=1&&xx<=n&&yy>=1&&yy<=n&&bj[xx][yy]==0){
					r++;
					bj[xx][yy]=1;
					f[xx][yy]=q[l][0]+1,q[r][0]=q[l][0]+1,q[r][1]=xx,q[r][2]=yy;
				}
			}
		}
		Fu(i,1,n){
			int u=0;
			Fu(j,1,n){
				u+=f[i][j];
				sum[i][j]=sum[i-1][j]+u;
			}
		}
		Fu(i,1,n){
			Fu(j,1,n){
				int a=max(i-ri,1),b=max(j-ri,1),aa=min(i+ri,n),bb=min(j+ri,n);
				printf("%d ",sum[aa][bb]+sum[a-1][b-1]-sum[a-1][bb]-sum[aa][b-1]);
			}
			printf("\n");
		}
		printf("\n");
	}
	return 0;
}
【2018年南海区甲组】拆除桥墩(remove) 题目描述 河的左岸到右岸之间有一座年久失修、已经废弃的大桥,有 N 个桥墩,影响船只通行。现在要拆除部分桥墩,使得通航能力最大,通航能力由最窄的地方决定的,这个地方有可能是岸与桥墩之间,也可以是桥墩之间。工程预算有限,只能拆除 M 个桥墩。如何安排工程,才能使得通航能力尽可能的大。 输入 第一行包含三个整数 L,N,M,分别表示左岸到右岸的距离、桥墩数和需要拆除的桥墩数。 接下来 N 行,每行一... 阅读详情

相关推荐

海康威视iVMS-4200在银河麒麟系统部署全攻略与疑难排解

在信创国产化进程中,软件兼容性是关键挑战之一。以安防监控领域广泛使用的海康威视iVMS-4200客户端为例,其从Windows环境迁移到银河麒麟等国产操作系统时,面临架构适配、依赖库匹配等核心兼容性问题。这涉及到跨平台软件部署的通用原理:不同CPU架构(如ARM的飞腾、x86的兆芯)和操作系统底层API的差异,要求软件必须进行针对性编译和优化。解决这类问题的技术价值在于保障专业软件在国产化环境中的稳定运行,是信创产业落地的重要环节。具体到应用场景,如在基于银河麒麟V10的安防监控项目中,通过获取对应架构的.

weixin_33423874的博客 1452

网易笔试题2:会话列表

小云正在参与开发一个即时聊天工具,他负责其中的会话列表部分。 会话列表为显示为一个从上到下的多行控件,其中每一行表示一个会话,每一个会话都可以以一个唯一正整数id表示。 当用户在一个会话中发送或接收信息时,如果该会话已经在会话列表中,则会从原来的位置移到列表的最上方;如果没有在会话列表中,则在会话列表最上方插入该会话。 小云在现在要做的工作是测试,他会先把会话列表清空等待接收信息。当接收完大...

司曹龙的博客 922

山东大学FPGA课程实验一 加法器设计

电子设计自动化与FPGA设计,实验一 加法器设计

2503_91283667的博客 869

北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H)

目录 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛链接 竞赛题目 总结 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛链接 虽然我发这...

weixin_30488313的博客 1733

长上下文技术的底层逻辑:Attention、压缩、缓存与跨页推理

如果把模型的参数视为“固化智能”,动态智能(Dynamic Intelligence)——模型不必依赖训练时的记忆,而是可以随时调用外部信息。这一点正在改变大模型的范式:Prompt 不再是输入,而是“操作系统事件”文档不再是知识,而是“模型的临时记忆”模型不再是一段神经网络,而是一个“具备阅读循环的推理引擎”当我们把上下文从 128K 拉到百万级,我们做的不是扩容,而是让模型第一次拥有阅读、回溯、定位、跨页分析的能力。这是一种新的智能。

aifs2025的博客 997

三分钟解决RKNN-Toolkit2安装失败:从模块报错到成功验证的完整记录

本文详细记录了RKNN-Toolkit2安装失败的解决方案,从环境配置到模型转换实战,特别针对常见的'No module named 'rknn''报错提供了完整修复指南。通过YOLOv8模型转换示例,展示了从ONNX到RKNN格式的完整流程,并分享了在RK3588芯片上的部署优化技巧。

html8的博客 264

JZOJ 2137. 【GDKOI2004】城市统计 (Standard IO)

2137. 【GDKOI2004】城市统计(Standard IO) Time Limits:1000 msMemory Limits:128000 KBDetailed Limits Goto ProblemSet Description   中山市的地图是一个n*n的矩阵,其中标号为1的表示商业区,标号为0的表示居民区。为了考察市内...

weixin_30902675的博客 98

RK3588芯片USB OTG模式切换:Device到Host的驱动奥秘之旅

摘要:本文详细介绍了RK3588芯片USB OTG模式从Device到Host的完整驱动流程,包括硬件电路设计、内核驱动配置、模式切换机制及验证方法。RK3588芯片凭借强大的性能和灵活的USB OTG特性,在工业控制、智能家居等领域具有广泛应用前景。文章重点分析了Type-C接口设计、USBPHY芯片选型、Linux内核模块配置等关键技术要点,并提供了模式切换脚本使用方法和常见问题解决方案,为开发者实现RK3588 USB OTG功能提供了全面指导。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 743

2017.10.28 C组比赛总结

这次比赛有点坑。。。 【GDKOI2004】石子游戏 方法:判断奇偶性 输入n 如果n是奇数,输出 xiaoshi 如果n是偶数,输出 xiaoyong 比赛得分:30 错因:找错规律了(忘记了两个人都是聪明绝顶滴) 【GDKOI2004】汉诺塔 方法1:找规律 1.定义一个数组a 赋值为 1,2,3,3,2,1 2.输入N和M 3.定义一个变量k,初始化为1。 4.从1到N循环...

banjianggr749050的博客 143

MC_SetOverride指令详细应用介绍(基恩士PLC)

基恩士KV系列PLC和松下总线绝对值伺服运动控制(详细配置+轴控完整ST源代码)

RXXW_Dor的博客 335

2026终极反反爬:Canvas/WebGL/字体指纹全维度伪装,应对浏览器检测实战指南

本文分享了2026年浏览器指纹检测现状及全维度伪装方案。当前反爬系统采用多维度联合指纹检测,重点针对硬件级(WebGL、Canvas)、系统级(字体、CPU)和行为级(鼠标移动)指纹。作者设计了一个独立的指纹伪装引擎,包含真实设备指纹库、指纹生成器和统一注入层,通过JS沙箱隔离实现伪装。核心方案包括:Canvas指纹通过真实设备渲染差异添加微偏移;WebGL指纹完整劫持上下文返回真实显卡参数;字体指纹劫持measureText方法模拟不同系统字体宽度。该方案实测可连续运行一个月零封号,解决了传统方法易被检测

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 927

【USACO 2020 US Open Bronze】Cowntact Tracing 题解

题目描述 由于高传染性的牛传染病 COWVID-19 的爆发,Farmer John 非常担忧他的奶牛们(编号为 1…N)的健康。最近,Farmer John 对他的所有奶牛进行了检测,发现有一部分奶牛对该疾病的检测结果呈阳性。利用牛棚内的视频监控,他得以查看最近的奶牛之间的互动行为,结果发现奶牛们互相打招呼时,她们会握蹄,不幸的是这是一种会将疾病从一头奶牛传播给另一头奶牛的行为。Farmer J...

zhy_Learn的博客 2867

YOLOv11低照度目标检测优化方案:基于SCINet可训练预处理主干的全流程实现指南

创建一个新的Python文件,如。

FJN110的博客 189

【2011.10.29模拟】24点游戏题解

题目描述 24点游戏是一个非常有意思的游戏,很流行,玩法很简单:给你4张牌,每张牌上有数字(其中A代表1,J代表11,Q代表12,K代表13),你可以利用数学中的加、减、乘、除以及括号想办法得到24,例如: ((A* K)-J) * Q等价于((1 * 13)-11) * 12=24 加减乘不用多说了,但除法必须满足能整除才能除!这样有一些是得不到24点的,所以这里只要求求出不超过24的最大值。 输入 输入第一行N(1<=N<=5)表示有N组测试数据。每组测试数据输入4行,每行一个整数(1到13

zhy_Learn的博客 2768

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

最长不下降子序列及输出序列

文章目录引入FirstSecondThird思路利用序列的单调性朴素时间二分优化:代码:输出序列:例题: 引入 回忆一下,以前学动态规划是的最长不下降子序列,我们是如何地推的呢??? First 2n2^n2n暴力,判断每个是否选择输出最大值。 Second 记忆化搜索,时间复杂度待定。 Third n2n^2n2动态规划,代码如下。 #include<bits/stdc++.h> using namespace std; int a[1010],n,f[1010],ans; int main(

zhy_Learn的博客 2450

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【USACO 2020 US Open Bronze】Social Distancing 2 题解

题目描述 由于高传染性的牛传染病 COWVID-19 的爆发,Farmer John 非常担忧他的奶牛们的健康。 尽管他尽了最大努力使他的 N 头奶牛们(1≤N≤1000)践行“社交距离”,还是有许多奶牛不幸染上了疾病。编号为 1…N 的奶牛们分别位于一条长直道路上的不同位置(相当于一维数轴),奶牛 i 位于位置 xi。Farmer John 知道存在一个半径 R,任何与一头被感染的奶牛距离不超过...

zhy_Learn的博客 2284

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

2020CSP第二轮 方格取数(number)

题目描述 设有 ???? × ???? 的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会取走所有经过的方格中的整数,求它能取到的整数之和的最大值。 输入 输入文件名为 number.in。 第 1 行两个正整数 ????, ????。 接下来 ???? 行每行 ???? 个整数,依次代表每个方格中的整数。 输出 输入文件名为 number.out。 一个整数,表示小熊能取到的整数之和的最大值。

zhy_Learn的博客 2132

2020CSP第二轮直播获奖(live)

题目描述 NOI2130 即将举行。为了增加观赏性,CCF 决定逐一评出每个选手的成绩,并直播即时的获奖分数线。本次竞赛的获奖率为 ????%,即当前排名前 ????%的选手的最低成绩就是即时的分数线。更具体地,若当前已评出了 ???? 个选手的成绩,则当前计划获奖人数为max(1, ⌊???? × ????%⌋),其中 ???? 是获奖百分比,⌊????⌋ 表示对 ???? 向下取整,max(????, ????) 表示 ???? 和 ???? 中较大的数。如有选手成绩相同,则所有成绩并列的选手都能获奖,

zhy_Learn的博客 1916

栓奶牛——二分解法

栓奶牛——二分 题目描述: 有n头奶牛,有k个木桩,每个木桩有一个位置,一个木桩上只能拴一头奶牛。由于奶牛好斗,所以在拴奶牛的时候要求距离最近的奶牛的距离尽可能大。 例如n=4,k=6,木桩的位置为0,3,4,7,8,9(如最下面的图) 此时,有许多拴牛方案,例如 0,3,4,9 此时最近距离为1(3,4之间) 0,3,7,9 此时最近距离为2 输入 n,k,p1三个整数(0≤p1≤100),其中...

zhy_Learn的博客 1859

【2014年鄞州区】小幸福(e.pas/c/cpp)

题目描述: 有n个小朋友,他们商量在保证作业做完的前提下去 玩。第i个小朋友的可以玩耍时间为Si~Ti。这里Si~Ti 表示的是时间段,比如Si=2,Ti=4,那么意味着这位小 朋友在时刻1不能玩,时刻2、3、4可以去玩,时刻4以 后都不能出去玩。如果在某个时刻,在一起玩的小朋 友个数不少K个,那么这一时刻就是幸福的。现在你要 求出所有幸福的时刻长度。 输入 三行 第一行:n k (n个...

zhy_Learn的博客 1832

【USACO 2020 January Silver】Berry Picking 题解

题目描述 Bessie 和她的妹妹 Elsie 正在 Farmer John 的浆果园里采浆果。Farmer John 的浆果园里有 N 棵浆果树(1≤N≤1000);树 i 上有 Bi 个浆果(1≤Bi≤1000)。Bessie 有 K 个篮子(1≤K≤1000,K 为偶数)。每个篮子里可以装同一棵树上采下的任意多个浆果,但是不能装来自于不同的树上的浆果,因为它们的口味可能不同。篮子里也可以不装...

zhy_Learn的博客 1552

【USACO 2018 December Bronze】The Bucket List题解

题目描述 Farmer John正在考虑改变他给奶牛挤奶的时候分配牛奶桶的方式。他认为这最终能使得他使用数量更少的桶,然而他不清楚具体是多少。请帮助他! Farmer John有N头奶牛(1≤N≤100),方便起见编号为1…N。第i头奶牛需要从时间si到时间ti之间挤奶,并且挤奶过程中需要用到bi个桶。于是多头奶牛可能在同一时刻都在挤奶;如果这样,她们不能使用相同的桶。也就是说,一个在第i头奶牛挤...

zhy_Learn的博客 1482

【USACO 2019 February Bronze】The Great Revegetation题解

题目描述 长时间的干旱使得Farmer John的N块草地上牧草匮乏。随着雨季即将到来,现在应当是重新种植的时候了。 在Farmer John的储物棚里有四个桶,每个桶里装着一种不同的草种。他想要在每块草地上播种其中一种草。作为一名奶农,Farmer John想要确保他的每头奶牛都能得到丰富的食谱。他的M头奶牛每一头都有两块喜爱的草地,他想要确保这两块草地种植不同种类的草,从而每头奶牛都可以有两种...

zhy_Learn的博客 1428

【USACO 2019 February Bronze】Measuring Traffic 题解

题目描述 Farmer John的农场边上的高速公路最近出现了引人注目的流量上升,或者至少Farmer John看起来是这样的。为了证实这件事,他打算用一组传感器测量公路上的车流量,每个传感器被用来测量一小段路面上的车流量的数值。 不幸的是,某一天经过牛棚的时候,Farmer John被绊倒了,装有传感器的盒子掉进了一个巨大的奶缸,之后它们就不能正常工作了。比起之前可以产生一个精确的车流量读数,现...

zhy_Learn的博客 1423

【2020.11.14NOIP普及组模拟】到达 题解

文章目录题目描述输入输出样例输入【输入样例1】【输入样例2】样例输出【输出样例1】【输出样例2】解题:题目大意:20%:50%:代码:100100100%:代码: 题目描述 有n 个在二维平面上,第i 个点的坐标是xi, yi。这里x1, x2, …, xn 和y1, y2, …, yn都是1 到n 的排列。 对于任何一个点k,我们可以走到横纵坐标都比它大的点,或者横纵坐标都比它小的点。 现在,我们想要知道当k = i 的时候,有多少个点可以走到第k 个点。 输入 输入的第一行是一个正整数n,表示平面上点的

zhy_Learn的博客 1409
上一篇: 2020.10.24【普及组】模拟赛C组总结
下一篇: 2020CSP第二轮 优秀的拆分(power)
A_F_O
博客等级 码龄7年 52粉丝 1453原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值