2012杭州赛区(浙江理工大学)J - Scaring the Birds

基于Dify Agent构建智能客服:攻克知识库查询、多轮对话、安全鉴权与人机协同 基于Dify Agent构建智能客服,并将知识库等核心能力工具化,再通过Chatflow进行流程编排,是一种强大且灵活的策略。它不仅解决了当前AI客服面临的诸多核心挑战,也为未来的功能扩展和智能化升级打下了坚实的基础。希望本文能为您在构建高效、智能的AI客服系统之路上提供有益的参考!dify实验室基于LLMOps平台-Dify的一站式学习平台。包含不限于:Dify工作流案例、DSL文件分享、模型接入、Dify交流讨论等各类资源分享。关注我,获取Dify相关资源(DSL、token、交流群等)。 阅读详情

2012杭州现场赛
2:08:19
5:00:00
                   
J - Scaring the Birds
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

Description

It’s harvest season now! 
Farmer John plants a lot of corn. There are many birds living around his corn field. These birds keep stealing his corn all the time. John can't stand with that any more. He decides to put some scarecrows in the field to drive the birds away. 
John's field can be considered as an N×N grid which has N×N intersections. John plants his corn on every intersection at first. But as time goes by, some corn were destroyed by rats or birds so some vacant intersections were left. Now John wants to put scarecrows on those vacant intersections and he can put at most one scarecrow on one intersection. Because of the landform and the different height of corn, every vacant intersections has a scaring range R meaning that if John put a scarecrow on it, the scarecrow can only scare the birds inside the range of manhattan distance R from the intersection. 



The figure above shows a 7×7 field. Assuming that the scaring range of vacant intersection (4,2) is 2, then the corn on the marked intersections can be protected by a scarecrow put on intersection (4,2). 
Now John wants to figure out at least how many scarecrows he must buy to protect all his corn.
 

Input

There are several test cases. 
For each test case: 
The first line is an integer N ( 2 <= N <= 50 ) meaning that John's field is an N×N grid. 
The second line is an integer K ( 0<= K <= 10) meaning that there are K vacant intersections on which John can put a scarecrow. 
The third line describes the position of K vacant intersections, in the format of r  1,c  1,r  2,c  2 …. r  K,c  k . (r  i,c  i) is the position of the i-th intersection and 1 <= r  1,c  1,r  2,c  2 …. r  K,c  k <= N. 
The forth line gives the scaring range of all vacant intersections, in the format of R  1,R  2…R  K and 0 <= R  1,R  2…R  K <= 2 × N. 
The input ends with N = 0.
 

Output

For each test case, print the minimum number of scarecrows farmer John must buy in a line. If John has no way to protect all the corn, print -1 instead.
 

Sample Input

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

Sample Output

        
-1 1
 


题意:题目很简单,就是n*n个点,然后某些点可以放稻草人,然后给每个稻草人的半径,问最少需要几个稻草人覆盖全部点,暴力枚举稻草人广搜就可以了。这里有个坑,可以放稻草人的地方是不需要覆盖的,一个下午没看到这个地方卡了3个小时,醉了。下面给代码。

#include<iostream>
#include<stack>
#include<cstring>
#include<map>
#include<string>
#include<queue>
#include<algorithm>
#include<cstdio>
#include<utility>
using namespace std;
struct node {
	int x, y, value;
}p[15];
int  steparr[4][2] = { -1,0,1,0,0,-1,0,1 };
int vis[55][55],vis1[55][55];
int n;
queue<node>q;
bool bfs() {
	while (!q.empty()) {
		node now = q.front();
		q.pop();
		if (!now.value)
			continue;
		for (int i = 0; i < 4; i++) {
			int nowx = now.x + steparr[i][0];
			int nowy = now.y + steparr[i][1];
			if (nowx <= 0 || nowx > n || nowy <= 0 || nowy > n || vis[nowx][nowy] >= now.value - 1)
				continue;
			vis[nowx][nowy] = now.value - 1;
			q.push(node{ nowx,nowy ,vis[nowx][nowy] });
		}
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (vis[i][j] == -1&&!vis1[i][j]) {
				return false;
			}
		}
	}
	return true;
}
int main() {
	while (scanf("%d", &n)) {
		if (!n)
			break;
		int k;
		scanf("%d", &k);
		memset(vis1, 0, sizeof(vis1));
		for (int i = 0; i < k; i++) {
			scanf("%d%d", &p[i].x, &p[i].y);
			vis1[p[i].x][p[i].y] = 1;
		}
		for (int i = 0; i < k; i++) {
			scanf("%d", &p[i].value);
		}
		int max = 15;
		for (int i = 0; i < (1 << k); i++) {
			memset(vis, -1, sizeof(vis));
			for (int j = 0; j < k; j++) {
				if (i&(1 << j)) {
					q.push(p[j]);
					vis[p[j].x][p[j].y] = p[j].value;
				}
			}
			int now = q.size();
			if (bfs() && now<max) {
				max = now;
			}
		}
		if (max == 15) {
			printf("-1\n");
		}
		else {
			printf("%d\n", max);
		}
	}
}

【即插即用模块】注意力篇 | TGRS 2025 | SCPP:独家复现!三特征多尺度注意力融合,涨点必备! 摘要:SCPP(Scale-aware Pyramid Pooling)是一种创新的多尺度特征融合模块,专为U型网络瓶颈设计。它通过局部特征提取(1×1卷积)、多尺度膨胀卷积(1/3/5膨胀率分支)和全局特征聚合(全局平均池化)三重结构,结合SE通道注意力机制和自适应加权融合,显著提升特征表达能力。实验表明,SCPP能有效解决边缘模糊和错误检测问题,在遥感图像分割等任务中表现优异。该模块支持即插即用,适用于各类需要多尺度特征增强的视觉任务。 阅读详情

相关推荐

VS Code+ESP-IDF开发避坑指南:头文件标红报错的5种解决方法(附CMakeLists.txt配置)

本文详细解析了在VS Code中使用ESP-IDF开发ESP32时头文件标红报错的5种解决方法,包括环境配置检查、CMakeLists.txt规范配置、路径解析策略、缓存清理技巧和高级调试手段。特别提供了CMakeLists.txt的实战配置示例,帮助开发者彻底解决头文件路径问题,提升开发效率。

weixin_33670786的博客 559

HDU 4462 Scaring the Birds (状态压缩 暴搞)

题意:给定了一个N*N的地图,地图上有K(0--10)个点可以放守卫,其它点有食物,每个守卫有一个R,只要其它点的食物到守卫点的曼哈顿距离在R范围内就算被保护。 问最少需要多少个守卫,使得所有食物都被保护。 看到K最多只有10,就可以状态压缩K的所有情况,枚举一遍,可行就比较一下。 有个trick:只需要所有的食物被保护就行,空地如果不放守卫未被保护也可以。 #incl

Paradiser 1048

qPCR定量方法在肠道微生物特定种属定量应用

大家都知道肠道中有上千种细菌,肠道微生物可参与人体代谢,促进营养物质的消化吸收,肠道微生态均衡关系到身体健康,肠道微生态失衡可能会导致疾病产生。此外有文献指出肠道微生物可能与人体免疫及炎性反应等有关。目前也越来越多人关注到疾病与肠道微生物的关系,也做了很多研究及实验,一般高通量结果得到的是每个物种在样本中的相对百分含量,而不同微生物的绝对含量其实也对疾病有很重要的影响。在此分享几篇有采用qPCR方法研究疾病与肠道微生物关系的文章。 早在2013年Kim-Anne Lê1、Yan Li等人发表文章Alter

tinygene的博客 2143

HDU4462(子集生成)

Scaring the Birds Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 714    Accepted Submission(s): 252 Problem Description It’s harve

李硕 1217

AI编码的“黑箱危机”终结者:OpenSpec如何让你的代码从“猜谜”变“契约”?

OpenSpec的真正价值,在于它将AI编码从"经验驱动"推向"契约驱动"——当人类与AI对"目标是什么"达成显式共识,编码就从"猜谜游戏"变成了"工程实现"。这种转变不仅提升效率,更重塑了开发者与AI的关系:AI从"替代者"回归"协作者",而人类则聚焦于"定义正确的事"而非"正确地做事"。对于开发者,OpenSpec提供了驾驭AI的缰绳;对于团队,它构建了协作的基石;对于行业,它预示着AI编码工业化的开端。

haolove527的专栏 1348

别再死记公式了!用TL072运放设计带通滤波器,调出干净正弦波的实战心得与误区盘点

本文分享了使用TL072运放设计带通滤波器的实战经验,重点解决波形失真问题,提供单电源供电优化、动态调谐技巧及仿真与现实的参数修正方法,帮助工程师调出纯净正弦波。内容涵盖模拟电路设计中的常见误区与解决方案,适合电子工程师和爱好者参考。

weixin_29172963的博客 404

hdu 4462 Scaring the Birds(STL)

题目链接:hdu 4462 Scaring the Birds 题目大意:给定N,表示有一个N∗N的农田,现在有些位置的谷物已经被毁坏,农场主决定在这些位置中选择一些放 置稻草人,给定每个点放置稻草人可以覆盖的曼哈顿距离。求最少放多少个稻草人。 解题思路:题意需要注意,可以放稻草人的位置是没有谷物的。然后对于每个位置预处理出可以覆盖的位置,用bitset 优化即可。 #i

不慌不忙、不急不躁 1087

iTerm2+oh-my-zsh最全配置

iTerm2+oh-my-zsh最全配置安装前先看效果图一.安装[iTem2](https://iterm2.com/)二.安装[oh-my-zsh](https://ohmyz.sh/)三.安装[Powerline](https://powerline.readthedocs.io/en/latest/installation.html)四.安装 [Meslo](https://github.com/powerline/fonts) 字体库五.安装agnoster主题六.安装语法高亮七.安装代码补全插件八

xinximo的博客 2610

HDU4462.Scaring the Birds(枚举子集+二进制表示状态)

https://vjudge.net/contest/369905#problem/D 题意: 在给定位置可以放稻草人,然后稻草人在一定范围内可以保护草地,要求至少要设置多少个稻草人才可以保护所有的草地 解题思路: 因为稻草人数量不大于10,所以可以直接枚举 稻草人的使用状况可以用二进制1到1<<k-1来表示,然后对于每一种状态进行n*n的讨论即可 特别要注意,稻草人的位置不需要覆盖,...

Buyi的博客 187

华为自研 ERP、Oracle EBS 与 SAP 上线时系统配置思路设计差异深度分析

本文对比分析了华为自研ERP、Oracle EBS和SAP S/4HANA三大ERP系统在上线配置思路上的核心差异。从架构设计看,华为采用分布式微服务架构,SAP采用分层服务架构,Oracle采用集中式一体化架构;在模块配置上,华为以业务场景为导向,SAP基于行业模板,Oracle强调模块独立性;数据迁移方面,华为侧重业务规则清洗,SAP注重数据质量监控,Oracle依赖标准化工具;流程适配上,华为系统随流程调整,SAP在框架内优化,Oracle需定制开发;定制开发模式差异明显,华为采用插件化扩展,SAP使

金牌架构师 1452

学Simulink--特殊天气场景实例:基于Simulink的智能车辆雨天行驶仿真(感知与控制)

本文详细介绍了基于Simulink的智能车辆雨天行驶仿真系统。通过构建降雨-路面-传感器-控制全链路耦合模型,实现了雨天场景下的自适应控制。系统根据降雨强度动态调整路面附着系数和传感器性能参数,上层控制算法相应调整ACC安全距离、ESC增益等参数。仿真结果表明,系统能在不同降雨强度下自动降低车速、增大跟车距离,保持车辆稳定性。文章还提供了完整的Simulink建模流程、关键模型实现方法及工程实践要点,为全天候自动驾驶功能开发提供了有效的验证平台。

xiaoheshang_123的博客 167

2012ACM 杭州邀请赛个别题目题解

B(HDU 4454) Stealing a Cake Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1795 Accepted Submission(s): 495 Problem Description Th...

weixin_30954265的博客 202

环形平滑标签(Circular Smooth Label, CSL)技术详解

环形平滑标签(CSL)是一种优化算法,旨在解决旋转目标检测中角度预测的边界问题。通过将角度回归转化为分类任务,并利用窗口函数平滑标签分布,CSL有效处理了角度周期性的梯度突变问题。其核心原理包括角度离散化和平滑标签编码,通过高斯、矩形、三角等窗口函数生成概率分布。CSL在技术实现上涉及标签转换流程、模型结构调整和损失函数优化,显著提升了检测精度和稳定性。在DOTA数据集上的实验表明,CSL在mAP和角度误差方面优于传统方法。应用场景包括遥感图像分析、自动驾驶和工业质检,部署时需注意旋转NMS编译和ONNX导

浩瀚之水的专栏 640

hdu 4462 Scaring the Birds【Dfs+暴力判断】

Scaring the Birds Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3523    Accepted Submission(s): 1094 Problem Description It’s harvest

mengxiang000000 506

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

hdu 4462 Scaring the Birds (暴力)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4462 题意:给你k个稻草人,

乐观之奋斗者 669

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

hdu 4462 Scaring the Birds(暴力,细读)

题意:http://acm.hdu.edu.cn/showproblem.php?pid=4462 我想说,这道题不是考验数据结构或是神马复杂的算法,就是考验人的阅读能力和思维的缜密。有两点:第一点都能看出来,当k=0时不能保护已有的庄稼;第二点,当k=n*n时,即所有的点都是没有庄稼的,直接输出0. #include #include #include using namespace

theArcticOcean 784

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HDU4462Scaring the Birds 枚举子集

时隔很久,重拾敲代码。。。。 十一月末十二月初事情很多啊。。。 不说了,上题。 HDU4462Scaring the Birds Scaring the Birds Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 36

半夏之失_的博客 516

HDU 4462Scaring the Birds(枚举所有状态)

Scaring the Birds Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1257    Accepted Submission(s): 420 Problem Description It’s harv

布生气 1800

2016 ICPC青岛赛 hdu5984 C Pocky

Pocky Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 156    Accepted Submission(s): 68 Problem Description Let’s talking about som

overload1997 2855

2017 icpc广西邀请赛 K.Query on A Tree (hdu 6191)可持久化字典树

Query on A Tree Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description Monkey A liv

overload1997 1294

2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G Xor lca+暴力

题目链接:https://nanti.jisuanke.com/t/17120 题意:给你一棵树,每个点都有权值,q次询问,每次询问给你a,b,k,问从点a到点b每隔k步的异或和是多少。 思路:现场没敢打,复杂度怎么算都不对。。。后来别人说可以1的情况lca其他暴力,我就试了一下,一开始是TLE,然后我各种迷之优化确实可以过。。。。走k步这里我是用了倍增的数组然后用logk的复杂度走k步。。。

overload1997 1164

2016 ICPC青岛赛 hdu5988 G.Coding Contest

Coding Contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 849    Accepted Submission(s): 156 Problem Description A coding cont

overload1997 948

2016 ICPC大连赛区 hdu5978 To begin or not to begin

To begin or not to begin Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 229    Accepted Submission(s): 175 Problem Description A b

overload1997 935

2012杭州赛区(浙江理工大学)H - Friend Chains

H - Friend Chains Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4460 Description For a group of people, there is an idea t

overload1997 774

2016 ICPC大连赛区 hdu5976 Detachment

Detachment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 437    Accepted Submission(s): 144 Problem Description In a highly devel

overload1997 718
上一篇: hdu2063 过山车(二分图最大匹配基础)
下一篇: 2012杭州赛区(浙江理工大学)C - Substrings
overload1997
博客等级 码龄11年 328粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值