Jzoj1306 Sum

n个整数的序列:a1,a2,...,an,求最大子段和 给定n个整数的序列:a1,a2,...,an,求最大子段和 立即下载

 给出一个数列a1,a2,。。。,an和K,P。   设Si,j = ai + ai+1::: + aj   Answer = min{Si,j mod P|Si,j mod P>=K},其中i<=j,{Si,j mod P|Si,j mod P>=K}非空。


先预处理出取模后的前缀和s,那么问题变成min(s[j]-s[i]%P)且s[j]-s[i]%P>=k

把s序列反过来作,对于每个数s[i],维护一个set存有s[i]+1~s[n],让后分两种情况讨论

1.s[j]>=s[i],这种情况可以在set中寻找比s[i]+k大的最小的数

2.s[j]<s[i],这种情况可以在set中寻找比s[i]+k-p大的最小的数,并且判断这个数是否<s[i]

最后统计answer

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<set>
using namespace std;
int n,k,p,s[100010],ans=1<<29;
set<int> w;
int main(){
	scanf("%d%d%d",&n,&k,&p);
	for(int i=1;i<=n;++i){
		scanf("%d",s+i);
		(s[i]+=s[i-1])%=p;
	}
	w.insert(s[n]);
	set<int>::iterator it;
	for(int i=--n;i;--i){
		it=w.lower_bound(s[i]+k);
		if(it!=w.end()) ans=min(ans,*it-s[i]);
		it=w.lower_bound(k-p+s[i]);
		if(it!=w.end() && *it<s[i]) ans=min(ans,p+*it-s[i]);
		w.insert(s[i]);
	}
	printf("%d\n",ans);
}


从数据校准到论文呈现:fsQCA与NCA方法融合的完整实证研究指南 本文详细介绍了fsQCA(模糊集定性比较分析)与NCA(必要条件分析)方法融合的完整实证研究流程,从数据校准到论文呈现。通过软件操作技巧、R语言NCA包高效使用及论文写作规范,帮助研究者避免常见误区,提升研究质量与可靠性。特别适合需要进行组态分析的研究生和学者参考。 阅读详情

相关推荐

C语言图形化界面——含图形、按钮、鼠标、进度条等部件制作(带详细代码、讲解及注释)

本文借助easyx库函数(提供下载链接),很方便地用C语言实现了鼠标、按钮、进度条、坐标尺等操作,为普通C程序的友好人机交互界面提供了一种简单便捷的方案。

体会编程语言独到的美 17万+

1306. Sum

Description   给出一个数列a1,a2,。。。,an和K,P。   设Si,j = ai + ai+1::: + aj   Answer = min{Si,j mod P|Si,j mod P&gt;=K},其中i&lt;=j,{Si,j mod P|Si,j mod P&gt;=K}非空。 Input   第一行一个正整数n,K,P。   第二行n个整数,表示一个一个数列a1;...

zsjzliziyang的博客 206

555时基芯片的5种经典电路设计:从方波发生器到PWM调光实战

本文深入解析了555时基芯片的5种经典电路设计,从基础的无稳态方波发生器、单稳态触发器,到实用的占空比可调PWM信号源,并重点介绍了如何引入TVS保护电路增强系统鲁棒性。最后通过一个带保护的PWM LED调光台灯实战项目,综合展示了信号生成、功率驱动与电路保护的核心技术,是电子爱好者掌握模拟电路设计与应用的绝佳指南。

weixin_29207439的博客 490

1306求和

#include <stdio.h> /* 求和Time Limit:1000MS Memory Limit:65536K Total Submit:228 Accepted:93Description已知字符串中相邻的数字字符可以合并为一个有效数值,例如字符串“1#a#100acda06 2bbb bbb11ccccc”,其中包含的有效数值有1、100、06、2和11。输入一个字符串,求串中所有

FnLock的博客 1702

Scrum中敏捷项目经理(Scrum Master)扮演什么角色?

Scrum Master是Scrum团队中的“服务员”,负责确保所有人都能理解Scrum的理论、实践和规则,以及帮助团队最大化Scrum的利益。Scrum Master服务于Product Owner,帮助Product Owner理解如何使团队的工作最有效地满足产品目标。Scrum Master服务于Development Team,移除开发团队工作上的障碍,保证团队按照Scrum的方式运作。Scrum Master不是团队领导。Scrum团队是自组织的,意味着团队具有做出决策的能力。

huaqianzkh的专栏 2513

国产麒麟系统PXE安装-UEFI引导

注意: 适用uefi引导 适用x86_64架构 一键部署脚本扣我 1.上传ISO到PXE服务器,拷贝ISO文件 # mkdir /kylin_iso # mount -o loop Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso /kylin_iso/ 2.配置http,获取安装源 # yum -y install httpd # mkdir /var/www/html/{ks,kylin} # 注意一定是"/kylin_iso/

河静 5053

COGS 36. 求和问题

时间限制:1.2 s 内存限制:128 MB 【问题描述】 在一个长度为n的整数数列中取出连续的若干个数,并求它们的和。 【输入格式】 输入由若干行组成,第一行有一个整数n 第二行有n个整数 第三行有一个整数m 下面m行,每行两个整数i与j(i<=j),表示求和的起始和终止位置。 【输出格式】 输出有m行, 每行一个整数,表示这个数段...

weixin_30432579的博客 206

使用 MATLAB/Simulink 构建一个基于PID控制的直流电机速度调节系统模型

直流电机(DC Motor)因其结构简单、成本低廉、易于控制等特点,广泛应用于各种工业自动化和家用电器中。PID控制器作为最常用的控制策略之一,在直流电机的速度调节系统中具有重要应用价值。通过合理调整比例(P)、积分(I)、微分(D)三个参数,可以实现对电机速度的精确控制。本教程将带你使用构建一个基于PID控制的直流电机速度调节系统模型,涵盖电机模型构建、PID控制器设计、系统仿真与调试等多个方面。本文介绍了如何使用构建一个基于PID控制的直流电机速度调节系统模型。

amy_mhd的博客 217

【蓝桥杯】历届试题 k倍区间(前缀和、同余定理)

历届试题 前缀和 问题描述 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗? 输入格式 第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 <= Ai &...

酱懵静的博客 1443

通信算法之325:无人机云哨协议及发射机接收机仿真算法

【代码】通信算法之325:无人机云哨物理层协议及发射机接收机仿真代码。

leegang12的专栏 362

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

机器学习深度学习业余选手 477

java 某种特殊的数列a1, a2, a3, ...的定义如下:a1 = 1, a2 = 2, ... , an = 2 * an ? 1 + an - 2 (n > 2)。

题目描述: 某种特殊的数列a1, a2, a3, ...的定义如下:a1 = 1, a2 = 2, ... , 给出任意一个正整数k,求该数列的第k项模以32767的结果是多少? 输入描述: 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数k (1 ≤ k &lt; 1000000)。 输出描述: n行,每行输出对应一个输入。输出应是一个非负整数。 例如: 输入:...

a215012954的博客 4255

YOLOv11改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性

Bw−wgt2h−hgt2weight2Bweight2w−wgt​2h−hgt​2​其中weight2weight = 2weight2。

Limiiiing的博客 3048

jzoj1306. Sum

这题我们可以用权值线段树来做。 题外话:这题50分的应该都是AC的吧??? 我们先求出a数组的前缀和数组c (记得模P)。 然后每次做完当前状态i后将c[i]加入到权值线段树里。 因为答案要求尽可能小,所以我们对于以当前点为右端点的答案为: a[i] - a[i]-K的前驱 或 a[i]+p - a[i]+P-K的前驱 然后不断更新答案即可。 上标: #include&amp;lt;cstdio&amp;...

Larry1118的博客 254

深度学习工具包 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")

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JZOJ 1306. Sum 题解

JZOJ 1306. Sum 题目大意 有一个序列aaa长度为nnn,要找到一段区间的和模ppp大于等于kkk,问这些符合条件的和的最小值。 解题思路 设si=∑j=1iajmod  ps_i=\sum_{j=1}^i{a_j}\mod psi​=∑j=1i​aj​modp。 暴力不说了,直接枚举两个端点。 我们发现一个问题,这里要用到模运算,不能用线段树较好的维护。 从j+1j+1j+1到iii的所有数的和是si−sjmod  ps_i-s_j\mod psi​−sj​modp。 上面这个式子,有两种情况

linweitong2020的博客 162

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

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

JZOJ4724. 斐波那契

题目大意 定义Fi表示斐波那契数列的第i项。 给定一个长度为n的序列a,和m个操作。操作有两种: ′1 L R′修改操作,表示给ai,(L≤i≤R)加上F[i−L+1] ′2 L R′询问操作,表示询问∑Ri=Lai mod (1e9+9) Data Constraint n,m≤10^5

Akakii的博客 1011

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JZOJ5968. 电竞选手

题解 最小代价的方案是很显然的, 排序之后,相邻的两两构成一个二元组就可以了。 考虑对于相同的数字, 显然,这一段相同的先互相之间构成二元组,删剩最后一个的时候,去跟后面的一个构成二元组。 考虑这一段相同的数跟前面的二元组之间构成多少种方案, 记这一段连续的数的长度为l,前面有x个数, 那么前面总共就有x-1个二元组,而现在又会产生新的l-1个二元组。 枚举新产生的二元组有多少个是放在前面x-1...

lijf2001的博客 601

求逆序对

Problem Description 给定一个序列a1,a2,...,an,如果存在iaj,那么我们称之为逆序对,求逆序对的数目。 (n Input 输入有多组数据,每组数据第1行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。 Output 对于每组数据输出所有逆序对的总数。 Sample Input 4 3 2 3 2 S

笑看风云起的专栏 2504

P1306-斐波那契公约数【矩阵乘法,数论】

正题 题目链接: https://www.luogu.org/problemnew/show/P1306 题目大意 求出第x项和第y项斐波那契额数的最大公约数。 解题思路 首先第x项和第y项斐波那契额数的最大公约数就是第gcd(x,y)项斐波那契额数。 但是样例还是很大,于是就得用矩阵乘法加速递推: 斐波那契数 ...

weixin_30650859的博客 218

cogs 516【求和】【解题报告】

516. 求和 【问题描述】给出一个数列A1,A2….,An和K,P。设Sij=Ai+Ai+1+…+AjAnaswer=min{Si,jmod P | si,jmod P≥K),其中i≤j,(si,jmod P | si,jmod P≥K}非空。 【输入格式】第一行一个正整数n,K,P。第二行n个整数,表示一个数列A1,A2,…,An 【输出格式】在第一行输出Answer。 【输入...

weixin_30369087的博客 140

一些基础算法的模板(持续更新)

更新中 //Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft //To be continued... //Suffix Automation char str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin

扩展の灰(Extended Ash/Cooevjnz) 3865

扩展gcd以及同余方程ax=b(mod M)

关于扩展gcd其实没有必要搞懂,背下来就好了如果不会的自行学习 对于方程ax=b(mod M),我们可以将其化简成为ax+My=b,让后用扩展gcd求解 当b|r=gcd(a,M)时,方程有r个解,否则无解,对于有解的情况,每个解为用gcd求出的x乘上b/r+k*(M/r) int extgcd(int a,int b,int& x,int& y){ if(b){ int r=extg

扩展の灰(Extended Ash/Cooevjnz) 2281

Jzoj4307 喝喝喝

显然,如果令w[i]=s[i]-k,那么显然s[i]|w[j]就是s[j]%s[i]=k的必要条件,那么我们倒序枚举每个开头l,枚举w[l]的每个因数看看他在s[l+1]~s[n]中有没有出现,求出一个位置最靠近l的r,那么贡献就是r-l #include #include #include #define INF 0x7f7f7f7f using namespace std; int n,

扩展の灰(Extended Ash/Cooevjnz) 722
上一篇: Jzoj1279 解题
下一篇: Jzoj1307 Jail
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值