【JZOJ5775】农夫约的假期【模拟】

MinIO vs 华为云OBS:成本、性能与兼容性深度对比(含实测数据) 本文深度对比了开源对象存储MinIO与华为云OBS在成本、性能、兼容性及运维方面的核心差异。通过实测数据与全生命周期成本分析,为技术决策者提供选型依据。文章指出,MinIO在长期成本控制、性能深度优化及S3 API兼容性方面优势显著,而华为云OBS则提供开箱即用的便利性。 阅读详情

题目大意:

题目链接:https://jzoj.net/senior/#main/show/5775
题目图片:
https://www.z4a.net/images/2018/09/23/1.png
https://www.z4a.net/images/2018/09/23/2.md.png
https://www.z4a.net/images/2018/09/23/3.png
https://www.z4a.net/images/2018/09/23/4.png
在 n × n n\times n n×n的矩形中找出一个点,使得这个点到其他标记点曼哈顿距离加上标记点的权值之和最小。


思路:

10 10 10分做法:

n ≤ 10 n\leq 10 n≤10
枚举这个矩阵的每一个点,再枚举每一个标记点,求出曼哈顿距离,取最小值即可。
或者从每个标记点跑 B F S BFS BFS。
时间复杂度: O ( n 4 ) O(n^4) O(n4)
10分代码


30分做法:

n ≤ 1000 n\leq 1000 n≤1000
假设这个图是这样子的(黄色点是标记点):

在这里插入图片描述

可以把第三行的所有点和第一行的特殊点的曼哈顿距离连一下看看。
在这里插入图片描述

会发现,它们向下的距离(蓝色部分)是一样的!
在这里插入图片描述

同理,下面的标记点也一样。
在这里插入图片描述
所以,任何一个特殊点到同一行的点的曼哈顿距离中经过的列数是一样的。
同理,所有的特殊点到同一列的点的曼哈顿距离中经过的行数是一样的。
那么我们设 h [ i ] h[i] h[i]表示所有特殊点到这一行的点曼哈顿距离经过的列数, l [ i ] l[i] l[i]表示所有特殊点到这一列的点曼哈顿距离经过的行数。
那么我们就先初始化出每行每列的特殊点的个数,然后 O ( n 2 ) O(n^2) O(n2)枚举任意两行,求出第 j j j行的特殊点到第 i i i行的所有点的曼哈顿距离的列数(同理也要枚举任意两列)
最后可以 O ( n 2 ) O(n^2) O(n2)枚举所有点,蔬输出最小的那一个。
30分代码


100 100 100分做法:

O ( n ) O(n) O(n)
考虑如何在30分的做法上优化。跳过了30分的朋友建议回去再可以下30分的做法。
我们可以发现,第 i i i行的点到所有特殊点的曼哈顿距离之和是可以通过第 i − 1 i-1 i−1行的点得到的。如果能 O ( 1 ) O(1) O(1)转换,那么就可以了。
首先,很容易发现:
h [ i ] = h [ i − 1 ] + 在 第 i − 1 行 上 面 的 特 殊 点 数 量 − 在 第 i 行 下 面 的 特 殊 点 数 量 h[i]=h[i-1]+在第i-1行上面的特殊点数量-在第i行下面的特殊点数量 h[i]=h[i−1]+在第i−1行上面的特殊点数量−在第i行下面的特殊点数量
那么如果能 O ( 1 ) O(1) O(1)知道在任意一行上面的点的数量和下面的点的数量就可以 O ( 1 ) O(1) O(1)转化。
所以可以求一个前缀和, h s [ i ] hs[i] hs[i]表示在第 i i i行(含)之前的特殊点数量,那么就有
h s [ i ] = h s [ i − 1 ] + h n u m [ i ] hs[i]=hs[i-1]+hnum[i] hs[i]=hs[i−1]+hnum[i]
知道了上面的特殊点数量,那么下面的特殊点数量就一目了然了。
那么就可以先 O ( n ) O(n) O(n)求出第一行的点到所有特殊点的曼哈顿距离,然后就可以推出每一行到特殊点的距离。
列也同理,可以 O ( n ) O(n) O(n)求出。
那么我们就做到了:

  • O ( n ) O(n) O(n)求出每一行的点到所有特殊点的列的曼哈顿距离之和
  • O ( n ) O(n) O(n)求出每一列的点到所有特殊点的行的曼哈顿距离之和

那么就只剩下最后一个 O ( n 2 ) O(n^2) O(n2)的地方了:输出。
我们可以 O ( n ) O(n) O(n)知道所有行的最小列曼哈顿距离,又可以 O ( n ) O(n) O(n)知道所有列的最小曼哈顿距离,那么这两行的交点就是到所有标记点曼哈顿距离最短的点!
在这里插入图片描述


代码:

#include <cstdio>
#include <cmath>
#include <iostream>
#define ll long long
#define N 110000
using namespace std;

ll n,m,x,y,q,z,h[N],l[N],hnum[N],lnum[N],hs[N],ls[N],minn,sum;

int main()
{
	scanf("%lld%lld%lld",&n,&m,&z);
	for (ll i=1;i<=m;i++)
	{
		scanf("%lld%lld%lld",&x,&y,&q);
		hnum[x]++;
		lnum[y]++;  //每行每列的标记点数量
		sum+=q;
	}
	for (ll i=1;i<=n;i++)
	 hs[i]=hs[i-1]+hnum[i];
	for (ll i=1;i<=n;i++)
	 ls[i]=ls[i-1]+lnum[i];  //前缀和
	for (ll i=1;i<=n;i++)
	 h[1]+=(hnum[i]*abs(i-1)*z);
	for (ll i=1;i<=n;i++)
	 l[1]+=(lnum[i]*abs(i-1)*z);  //求出第一行第一列
	for (ll i=2;i<=n;i++)
	 h[i]=h[i-1]+hs[i-1]*z-(m-hs[i-1])*z;
	for (ll i=2;i<=n;i++)
	 l[i]=l[i-1]+ls[i-1]*z-(m-ls[i-1])*z;  //往后转移
	minn=1e16;
	for (ll i=1;i<=n;i++)
	 if (h[i]<minn)   //找最小的行
	 {
	 	minn=h[i];
	 	x=i;
	 }
	minn=1e16;
	for (ll i=1;i<=n;i++)
	 if (l[i]<minn)  //找最小的列
	 {
	 	minn=l[i];
	 	y=i;
	 }
	cout<<h[x]+l[y]+sum<<"\n"<<x<<" "<<y;
	return 0;
}
OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——原生“龙虾”OpenClaw快速部署、问题速查与避坑指南 至此,你已经完成了从选购服务器到配置AI大脑的全过程。无论是想在云上养一只7x24小时的“龙虾”,还是在本地体验AI Agent的魅力,上述指南都提供了明确的路径。下一步,就是接入飞书、钉钉或QQ,让你的OpenClaw真正开始“干活”赚钱了 [citation:6]。 阅读详情

相关推荐

STM32按键中断切换红绿蓝灯

通过以上步骤,我们实现了使用STM32的按键中断来切换红绿蓝LED灯的功能。在实际应用中,可能还需要考虑更多的细节,如按键消抖、更精确的延时实现等。但上述代码提供了一个基本的框架和思路,可以根据具体需求进行扩展和优化。希望这篇博客对您有所帮助!

2301_79865940的博客 952

单调队列详解

单调队列详解单调队列在曾经我眼中一直是一个很高大上,遥不可及的东西,直到我学会它以后。。。 队列是一种先进先出(FIFO First In First Out)的数据结构,它类似于下面这幅图: 队列的进出方式类似于平时我们排队打饭,来排队的人从队尾进入,打完饭的人从队头弹出。 队列的在程序中储存的方式有很多,OI中最为常用的是使用头指针head和尾指针tail进行存储

ZJL_OIJR的博客 1万+

程序员的自我修养

一个好的程序员的自我修养需要从不同角度出发,工作能力是一个方面,对自身的定位和了解也是一个方面,程序员的工作能力修养包括需求理解、功能设计、沟通确认、代码规范、成果验证、代码重构优化等,通过自我剖析来对自身进行定位并了解自身的优缺点,如去除劣根性、端正意识形态与态度、提升自己的核心竞争力等。 自我剖析 一个成功的人,必须要先了解自己,只有了解自己是什么样的人,了解自身有哪些优缺点,了解自己更合适做什么工作,知道自己做什么才能发挥出自身的优势,这样才能使自己在工作中发光发热,在职业生涯的道路上走的更远。

数通畅联 1674

JZOJ 1772 假期

Description 经过几个月辛勤的工作,FJ决定让奶牛放假。假期可以在1…N天内任意选择一段(需要连续),每一天都有一个享受指数W。但是奶牛的要求非常苛刻,假期不能短于P天,否则奶牛不能得到足够的休息;假期也不能超过Q天,否则奶牛会玩的腻烦。FJ想知道奶牛们能获得的最大享受指数。 Input 第一行:N,P,Q. 第二行:N个数字,中间用一个空格隔开,每个数都在longint范围内。 Out...

weixin_43588422的博客 350

千兆以太网 PCB 设计实战:4层板 100Ω 差分对布线,EMI 降低 6dB 实测

本文详细解析了千兆以太网 PCB 设计中的关键技术与实战经验,重点介绍了4层板上100Ω差分对的优化布线方法,通过实测数据展示了EMI降低6dB的有效方案。内容涵盖层叠设计、阻抗计算、布线技巧及EMI抑制措施,为硬件工程师提供了一套完整的高速电路设计解决方案。

weixin_29175469的博客 424

HFSS入门学习笔记——微带一分四功分器的设计与仿真

功率分配器是将输入信号功率分成相等或不相等的几路功率输出的一种多端口无源微波网络,用于功率分配和功率合成。工程上常用的微带功分器有T型功分器和威尔金森功分器。经典的威尔金森功分器有几个缺点:①、多应用于低频段,高频段时,波长会与隔离电阻的尺寸相比拟,此时需要考虑电阻的分布参数效应;②、大功率应用时,隔离电阻的耗散功率要很大,因此隔离电阻的体积也会比较大。

weixin_42126696的博客 2万+

JZOJ 1842——【汕头市选2014】平均

其实,题意简单化就是叫你求最大的一个数 直接枚举代码如下:var max,a,i,n:longint; begin max:=0; readln(n); for i:=1 to n do begin read(a); if a>max then max:=a; end; write(max); end.

OIer 561

纳米尺度仿真软件:GROMACS_(3).分子动力学模拟原理

分子动力学(MD)模拟是一种强大的计算方法,通过数值积分牛顿运动方程,追踪粒子在时间上的位置和速度变化,提供关于体系动力学行为的详细信息。选择合适的力场、设置初始条件、应用边界条件、控制温度和压力、选择合适的时间步长、计算能量和力,是 MD 模拟的关键步骤。通过这些步骤,可以对各种化学、生物和材料体系进行模拟和分析,揭示其结构、动力学和热力学性质。高级应用如反应路径模拟和蛋白质折叠研究,进一步扩展了 MD 模拟的应用范围。

kkchenjj的博客 1100

【JZOJ 5775】【NOIP2008模拟】农夫约的假期 (二维前缀和)

问题描述 在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······ 农夫约也有自己的假期呀!他要去海边度假,然而mm和hh不能离开他。没办法,他只好把他们两个带上。 到了海边,农夫约把他的羊放在一个(n*n)的矩阵(有n*n个方格)里。mm和hh十分好动,他们要走到m(m&lt;=n*n)个地方,第i个地方的坐标为(x[i...

Fallen_Angel001的博客 387

SAP 采购订单入库——移动类型

业务场景:采购入库,实物入库至仓库,然后系统同步过账。MIGO:收货、采购订单。 MVT:101 入库,---库存增加。 MVT:移动类型,就是代表业务场景,(比如入库、发货,成本中心发、工单发、报废、盘赢、盘亏等等) 移动类型 1、正向采购入库:101 2、反向冲销(MIGO)102:与101相反,用于错误操作的反向冲销。参考原凭证,全部进行一...

willieyuan的博客 7779

一文吃透 OData Deep Insert:从框架原理到 ABAP 实战

本文面向ABAP工程师,解析OData服务中的Deep Insert技术。文章首先阐述Deep Insert的业务背景,说明其适用于父子层级数据必须成组创建的场景(如销售订单与行项目)。随后深入框架实现机制,介绍SAP Gateway如何通过CREATE_DEEP_ENTITY方法处理嵌套请求,并强调开发者的责任边界。通过销售订单案例,文章对比了Deep Insert与$batch的适用场景差异,提供请求负载示例和DPC_EXT实现骨架代码。最后给出MPC_EXT声明深结构的三种套路,以及事务处理和错误处理

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 225

5775. 【NOIP2008模拟】农夫约的假期

Description   在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······  农夫约也有自己的假期呀!他要去海边度假,然而mm和hh不能离开他。没办法,他只好把他们两个带上。  到了海边,农夫约把他的羊放在一个(n*n)的矩阵(有n*n个方格)里。mm和hh十分好动,他们要走到m(m&lt;=n*n)个地方...

peter_zhu01的博客 220

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

JZOJ 5775. 【NOIP2008模拟】农夫约的假期 题目

.

qq_35786326的博客 255

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JZOJ 5775. 【NOIP2008模拟】农夫约的假期

文章目录题目:分析:代码: 题目: 传送门 分析: 首先,关于这道题,有个很巧妙的ACACAC方法:在AJAJAJ没出数据前,机智的提交,即可用returnreturnreturn 000成功ACACAC 然后是认真的解法,这个就分为两种了,一个是缢蛏dalaodalaodalao的二维前缀和,在此篇题解不做讲解 最后,是我的玄学方法了: 根据题意,再加以理解,我们可以发现,求的是对于m个点曼...

qq_35786326的博客 354

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[jzoj 5775]【NOIP2008模拟】农夫约的假期 (前缀和+递推)

[jzoj 5775]【NOIP2008模拟】农夫约的假期 (前缀和+递推) 传送门 Description 在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······ 农夫约也有自己的假期呀!他要去海边度假,然而mm和hh不能离开他。没办法,他只好把他们两个带上。 到了海边,农夫约把他的...

Tricksterism 247

[JZOJ5775]【NOIP2008模拟】农夫约的假期

Description 在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······农夫约也有自己的假期呀!他要去海边度假,然而mm和hh不能离开他。没办法,他只好把他们两个带上。到了海边,农夫约把他的羊放在一个(n*n)的矩阵(有n*n个方格)里。mm和hh十分好动,他们要走到m(m<=n*n)个地方,第i个地方的...

weixin_30653097的博客 110

2018_9_23 模拟赛

今日比赛前言:JZOJ 5775 农夫约的假期题目分析代码JZOJ 5776 小x游世界树题目分析代码 前言: 感觉自己越来越渺小了 JZOJ 5775 农夫约的假期 题目 在一个平面,有nnn个点,找出一个点使nnn个点到该点的曼哈顿距离(∑abs(xi−xj)+abs(yi+yj))(\sum abs(x_i-x_j)+abs(y_i+y_j))(∑abs(xi​−xj​)+abs(yi​+...

lemondinosaur的博客 637

2018.8.9提高B组模拟考试

今天连续3道题都出锅...无F♂A可说 T1 题意简述:jzoj5775 Description 在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······农夫约也有自己的假期呀!他要去海边度假,然而mm和hh不能离开他。没办法,他只好把他们两个带上。到了海边,农夫约把他的羊放在一个(n*n)的矩阵(有n...

weixin_34228387的博客 355

农夫约的假期

题目大意 在 n×nn\times nn×n 的矩形中找出一个点,使得这个点到其他标记点曼哈顿距离加上所有标记点的权值之和最小。 解题思路 做法一:前缀和 比较显然的性质:任何一个特殊点到同一行的点的曼哈顿距离中经过的列数是一样的。 同理,所有的特殊点到同一列的点的曼哈顿距离中经过的行数是一样的。 那么我们设 hih_ihi​ 表示所有特殊点到这一行的点曼哈顿距离经过的列数,lil_ili​ 表示所有特殊点到这一列的点曼哈顿距离经过的行数。 很容易发现: hi=hi−1+在第i−1行上面的特殊点数量−在第i

orz 133

2018年9月23日提高组模拟赛&Week 3 总结

比赛总结 提高组笔试考了两次,一次六十几(同届倒一),一次80(同届第三) 第一次太自信,第二次太谨慎 第一次运气好,第二次随便搞 提高组复赛也是两次啊,一次倒一,一次很低 总之好菜啊 第一次时间分配不均匀 第二次任然只会打暴力。。。 果然我还是太菜了。。。 T1 农夫约的假期 https://blog.youkuaiyun.com/xuxiayang/article/details/82822200 赛时...

Ajwallet 470

JZOJ5775 农夫约的假期

Description   在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······  农夫约也有自己的假期呀!他要去海边度假,然而mm和hh不能离开他。没办法,他只好把他们两个带上。  到了海边,农夫约把他的羊放在一个(n*n)的矩阵(有n*n个方格)里。mm和hh十分好动,他们要走到m(m<=n...

dengxiao3304的博客 212

SSLOJ2884 假期

Description 经过几个月辛勤的工作,FJ决定让奶牛放假。假期可以在1…N天内任意选择一段(需要连续),每一天都有一个享受指数W。但是奶牛的要求非常苛刻,假期不能短于P天,否则奶牛不能得到足够的休息;假期也不能超过Q天,否则奶牛会玩的腻烦。FJ想知道奶牛们能获得的最大享受指数。 Input 第一行:N,P,Q. 第二行:N个数字,中间用一个空格隔开,每个数都在longint范围内。 Output 一个整数,奶牛们能获得的最大享受指数。 思路 可以通过前缀和的方式把暴力变成单调队列。 code: #i

SSL_WCR 219

纪中OJ 5775【NOIP2008模拟】农夫约的假期

思维题 不难发现,这题是求一个最小曼哈顿距离和,之后呢,我们通过"平面上有一堆点,选一个点,使距离和最小,这个点一定是坐标的平均值,类比可得,在曼哈顿距离下,这个点因该是这一堆点的横纵坐标的中间值,然后就大力尝试,结果就A了 代码 //By AcerMo #include&lt;cmath&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt;...

AcerMoOi之路 869
上一篇: 【洛谷P1738】洛谷的文件夹【Trie】
下一篇: 【JZOJ5776】小x游世界【换根法】【DP】【DFS】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值