[NOI2010]海拔

[NOI2010] 成长快乐 小虾在大海中作匀速直线运动,其中编号为 �i 的小虾的速度向量为 (��,��)(pi​,qi​),即在时刻 �t,它的位置为 (��+��⋅�,��+��⋅�)(xi​+pi​⋅t,yi​+qi​⋅t)。对于每个数据,输入文件中第一行为五个实数 �0,�,�,�0,�0w0​,V,T,x0​,y0​。接下来 �n 行,每行 55 个实数,包括 ��,��,��,��,��wi​,xi​,yi​,pi​,qi​,分别表示编号为 �i 的小虾的重量、在 00 时刻的位置和速度向量。 阅读详情

狗眼可得高度取值在{0,1}之间

进一步狗眼可得01块连续

那么要求的只是图的一个最小割了

用平面图网络流->最短路得解

有个问题就在于网格之间的边是有方向的,那么要注意割得方向来判断实际上要加哪条边的权值

之前写网络流->最短路都习惯建图,写这道题的时候趁机练习了一下不建图的版本

//之前认为建图会比较麻烦,写完以后发现也只是建边的时候处理一下

给个图来帮助判断边的走向


这就比较显然了


//Lib
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<queue>
using namespace std;
//Macro
#define	rep(i,a,b)	for(int i=a,tt=b;i<=tt;++i)
#define	drep(i,a,b)	for(int i=a,tt=b;i>=tt;--i)
#define	erep(i,e,x)	for(int i=x;i;i=e[i].next)
#define	irep(i,x)	for(__typedef(x.begin()) i=x.begin();i!=x.end();i++)
#define	read()	(strtol(ipos,&ipos,10))
#define	sqr(x)	((x)*(x))
#define	pb	push_back
#define	PS	system("pause");
typedef	long long	ll;
typedef	pair<int,int>	pii;
const int oo=~0U>>2;
const double inf=1e100;
const double eps=1e-6;
string name="", in=".in", out=".out";
//Var
struct V
{
	int x,y,v;
	V(){}
	V(int _x,int _y,int _v):x(_x),y(_y),v(_v){}
	bool operator< (const V &o)const{return v>o.v;}
};
priority_queue<V> q;
int n,R,C,st,ed,size,tot,ans=oo<<1;
int dis[508][508],map[508][508][4];
void Push(int x,int y,int v)
{
	if(dis[x][y]>v)
	{
		dis[x][y]=v;
		q.push(V(x,y,v));
	}
	if(y==1)ans=min(ans,v+map[x][y][1]);
	if(x==n)ans=min(ans,v+map[x+1][y][0]);
}
void Init()
{
	scanf("%d",&n);
	rep(i,1,n+1)rep(j,1,n)scanf("%d",&map[i][j][0]);
	rep(i,1,n)rep(j,1,n+1)scanf("%d",&map[i][j][1]);
	rep(i,1,n+1)rep(j,1,n)scanf("%d",&map[i][j][2]);
	rep(i,1,n)rep(j,1,n+1)scanf("%d",&map[i][j][3]);
	memset(dis,55,sizeof dis);
	rep(i,1,n)Push(1,i,map[1][i][0]);
	rep(i,1,n)Push(i,n,map[i][n+1][1]);
}
void Dijkstra()
{
	V p;int x,y,v;
	while(!q.empty())
	{
		p=q.top();q.pop();
		if(p.v>dis[x=p.x][y=p.y])continue;
		v=p.v;
		if(x>1)Push(x-1,y,v+map[x][y][2]);
		if(x<n)Push(x+1,y,v+map[x+1][y][0]);
		if(y>1)Push(x,y-1,v+map[x][y][1]);
		if(y<n)Push(x,y+1,v+map[x][y+1][3]);
	}
}
int main()
{
//	freopen((name+in).c_str(),"r",stdin);
//	freopen((name+out).c_str(),"w",stdout);
	Init();
	Dijkstra();
	printf("%d\n",ans);
	return 0;
}


VC2008中用CTabSheet实现可嵌入Tab主界面 Tab控件是Windows桌面应用中实现多页导航的基础UI组件,其核心原理基于系统原生SysTabControl32控件与TCM_*消息通信机制。相比CPropertySheet等MFC封装类,CTabSheet通过直接调用Windows API提供更可控的窗口嵌入能力、动态页面管理及消息隔离性,技术价值在于规避MFC对话框容器在主框架中的线程与布局缺陷。典型应用于工业HMI、医疗设备配置工具等需在VC2008老项目中快速升级界面的场景,尤其适合维护型开发——无需迁移框架,仅引入两个源文件即可构建稳定Tab 阅读详情

相关推荐

NOI2010竞赛知识点导图

NOI2010竞赛知识点导图

[NOI2010] 海拔altitude 最小割 对偶图

[NOI2010] 海拔altitude 最小割 对偶图

Eternal_Despair 1725

基于Simplis仿真的UC2843芯片建模与关键参数优化指南

本文详细介绍了使用Simplis仿真工具为UC2843 PWM控制器进行行为级建模的方法与关键参数优化实践。通过精确搭建芯片内部振荡器、误差放大器及电流采样等核心模块,工程师可以深入理解其工作原理,并利用模型优化振荡频率、最大占空比及反馈环路等关键参数,从而提升开关电源设计的效率与可靠性。

efc1234567的博客 460

P1915 [NOI2010] 成长快乐

此题为世纪难题题目提供者难度。

asuf1364的博客 772

雪亮工程视频联网技术详解:视综平台主流接入方式与协议分析

随着雪亮工程建设的深入,视频资源的汇聚与共享成为核心需求。本文简要剖析了雪亮视综平台下的视频联网接入技术,重点讲解了主流接入方式的区别与选型,并深入探讨了平台内部及跨平台的视频资源共享机制(含级联与推送模式),旨在为安防开发人员和系统集成商提供清晰的架构思路与技术参考。

lsz152590的博客 718

【向量数据库】Milvus向量数据库 ① 从入门到实战

Milvus是专为海量高维向量设计的开源数据库,支持AI搜索、图像识别、推荐系统等场景。相比传统关系型数据库(如PostgreSQL),它更高效处理语义检索、非结构化数据存储,可毫秒级响应亿级向量查询。单机场景下,推荐配置8GB内存/32GB硬盘,支持FAISS/HNSW等索引算法,支持GPU加速。本文涵盖优快云专属部署教程(CentOS脚本/配置调优),提供避坑指南与扩展资源,并对比分析与传统数据库差异。适合算法工程师、AI开发人员快速上手,附官方下载与性能测试技巧,手把手教你搭建高效向量检索系统!

xiezhiyi007的专栏 1586

2007: [Noi2010]海拔

2007: [Noi2010]海拔 Time Limit: 20 Sec  Memory Limit: 552 MB Submit: 2340  Solved: 1114 [Submit][Status][Discuss] Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作一个 正方形,每一个区域也可看作一

CRZbulabula的博客 624

Cocos Creator Android打包:NDK版本选择与配置全攻略

在Android原生开发中,NDK(Native Development Kit)是编译C/C++代码的核心工具链,它决定了代码如何被编译为不同CPU架构(如ARMv7、ARM64)的动态库。其工作原理在于提供了一套完整的交叉编译环境,将高级语言代码转化为设备可执行的二进制指令。这一技术对于游戏引擎和性能敏感型应用至关重要,因为它能直接调用硬件资源,提升运行效率。在实际工程中,NDK版本必须与Android Gradle插件(AGP)版本、项目依赖的C++标准库精密匹配,否则会导致编译失败或运行时崩溃。特别

weixin_33725270的博客 490

【NOI2010】海拔

【NOI2010】海拔 【题目描述】 YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作 一个正方形,每一个区域也可看作一个正方形。从而,YT城市中包括(n+1)×(n+1)个交叉路口和2n×(n+1)条双向道路(简称道路),每条双向道路连接主干道上两个相邻的交叉路口。下图为一张YT市的地图(n=2),城市被划分为2×2个区域,包括3

OI技术宅 1320

Telegram Bot Api使用教程

其中token为你的机器人token,method为telegram给定的方法,在获取群组chat_id那一步就使用了telegram的其中一个方法(getUpdates),其他方法后面会介绍。telegram发送消息的方式类似与钉钉机器人,都是向一个api发送http请求,而且对于同一个APItelegram支持GET和POST两种请求方式.请求的api格式如下。通常来说我们都需要让机器人在一个群组里工作,所以首先我们需要将机器人添加到我们指定的群组,在群组里发送随意消息并@这个机器人,比如...

豫迷糊的码上生活 1万+

LVGL 拨盘菜单(Dial Menu)

h。

摸鱼专家 191

【bzoj2007】【NOI2010】【海拔】

2007: [Noi2010]海拔Time Limit: 20 Sec Memory Limit: 552 MB Submit: 1679 Solved: 812 [Submit][Status][Discuss] DescriptionYT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作一个正方形,每一个区域也可看作一个正方形。从而,YT

Vampire 1256

CANbus收发器ADM3053BRWZ-REEL7应用原理图设计

ADM3053 在 CAN 协议控制器与物理层总线之间创建一个 完全隔离的接口。该器件具有限流和热关断特性,可防止输出短路。额定温 度范围为工业温度范围,提供 20 引脚、宽体 SOIC 封装。该器件采用 5 V 单电源供电, 提供完全隔离的 CAN 解决方案。ADM3053 是一款隔离式控制器区域网络 (CAN) 物理层收 发器,集成隔离 DC/DC 转换器,符合 ISO 11898 标准。该器件采用 ADI 公司的。Coupler® 技术,将双通道隔离器、 CAN 收发器和 ADI 公司的。

zhusl6688的博客 1239

luogu2046[NOI2010]海拔 对偶图优化

luogu2046[NOI2010]海拔 对偶图优化 链接 https://www.luogu.org/problemnew/show/P2046 思路 海拔一定是0或者1,而且会有一条01交错的分界线。 转化为最小割,用对偶图优化求得。最小割论文写的特清楚。 代码 #include <iostream> #include <cstring> #include &...

weixin_30954607的博客 87

C#联合Halcon机器视觉框架源码

本软件参考EV开发,共用模块,基于WPF+Halcon,是非常不错的学习框架,需要什么功能可以自己添加,插件式开发非常方便。

Z's Palace 4827

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【bzoj2007】[Noi2010]海拔

2007: [Noi2010]海拔Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 2975  Solved: 1442[Submit][Status][Discuss]DescriptionYT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作一个正方形,每一个区域也可看作一个正方形。从而,YT城市中包...

Joky_2002的博客 330

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【题解】NOI-2010-海拔

题目描述 YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×nn×nn×n个区域。简单起见,可以将YT市看作 一个正方形,每一个区域也可看作一个正方形。从而,YT城市中包括(n+1)×(n+1)(n+1)×(n+1)(n+1)×(n+1)个交叉路口和2n×(n+1)2n×(n+1)2n×(n+1)条双向道路(简称道路),每条双向 道路连接主干道上两个相邻的交叉路口。下图为一张YT...

测试运算符 1010

计算机控制技术及应用

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

NOI2010 海拔

又是一道平面图的题,有向边的处理要注意一下,向右的向上连,向下的向右连,向左的向下连,向上的向左连,然后转化即可,对于向上,左的,边界处的边没有必要连,最后还得用dijkstra,反正我的spfa超时2个点,不知道它牛怎么过的,只好打堆了... View Code 1 program noi2010(input,output); 2 type 3 node =...

weixin_34101229的博客 87

1797: [Noi2010]海拔

1797: [Noi2010]海拔 Time Limit:20 SecMemory Limit:512 MBSubmit:6Solved:4[Submit][Status][Web Board] Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作一个正方形,每一个区域也可看作一个正方形。从而,YT...

weixin_30716141的博客 76

bzoj2007 【省选基础 图论 平面图转对偶图】[Noi2010]海拔

小 Z 作为该市的市长,他根据统计信息得到了每天上班高峰期间 YT 市每条道路两个方向的人流量,即在高峰期间沿着该方向通过这条道路的人数。每一个交叉路口都有不同的海拔高度值,YT 市市民认为爬坡是一件非常累的事情,每向上爬。小 Z 想知道在最理想的情况下(即你可以任意假设其他路口的海拔高度),每天上班高峰期间所有人爬坡消耗的总体力和的最小值。仅包含一个数,表示在最理想情况下每天上班高峰期间所有人爬坡所消耗的总体力和(即总体力和的最小值),结果四舍五入到整数。个数表示所有从东到西方向的人流量,最后是。...

绿树公司的博客 212

NOI2010 海拔(平面图最大流)

此题: 平面图最大流用的不是网络流算法,但是需要网络流的结论:最小割=最大流 【问题描述】 YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简 单起见,可以将YT市看作一个正方形,每一个区域也可看作一个正方形。从而,YT城市 中包括(n+1)×(n+1)个交叉路口和2n×(n+1)条双向道路(简称道路),每条双向道路连接主干 道上两个相邻...

weixin_30401605的博客 174
上一篇: 关于网络流和平面图
下一篇: [APIO2010]特别行动队
OrpineX
博客等级 码龄17年 16粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值