【JZOJ 5430】【NOIP2017提高A组集训10.27】图

NOIP模拟:边的处理(分治) 有一个n个点的无向图,给出m条边,每条边的信息形如<x,y,c,r><x,y,c,r> 给出q组询问形如<u,v,l,r><u,v,l,r> 接下来解释询问以及边的意义。 询问表示,一开始你在点u上,然后按顺序处理编号从11到rr的边。 对于一条边<x,y,c,r><x,y,c,r>,你可以进行两次操作: 1、如果你当前在xx点或者yy点上,那么你可以走这条边(从xx到 阅读详情

Description

有一个n个点的无向图,给出m条边,每条边的信息形如<x,y,c,r>
给出q组询问形如<u,v,l,r>
接下来解释询问以及边的意义
询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边
对于一条边<x,y,c,r>,你可以进行两种操作:
1. 如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到x)并付出c的代价(当然你也可以不走,看操作2)
2. 如果你不走这条边或者不可以走这条边(即你当前不在x或y上),那么你需要付出r的代价

询问如果要从u点开始,按顺序处理完编号从l到r的边之后到达v点的最小代价,如果不能到达v,那么输出-1。
边和点的编号从1开始

Solution

这种题的套路就是:你先算出合并答案所要的复杂度,再算出查询答案的复杂度,再用合适的处理方法来暴力做,
比如这题就是套在分治上,

首先,暴力的话,就维护一个数组f,fi表示从起点走到i的最小代价,
套到分治上,按边分治,计算li≤mid且mid<ri的询问的答案,
枚举经过mid时在那个点,由mid向两边DP,

复杂度:O(n2mlog(m))

Code

#include <cstdio>
#include <algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
#define efo(i,q) for(int i=A[q];i;i=B[i][0])
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
using namespace std;
typedef long long LL;
const int N=200500,M=32;
int read(int &n)
{
    char ch=' ';int q=0,w=1;
    for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
    if(ch=='-')w=-1,ch=getchar();
    for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,n,ans,m1;
int Ans[N];
struct qqww
{
    int x,y,c,r;
}a[N];
struct qwqw
{
    int x,y,l,r,i;
}b[N];
int f[M];
int Has[N];
int B[2*N][2],A[N],B0;
bool PX(qwqw q,qwqw w){return q.l<w.l||(q.l==w.l&&q.r<w.r);}
void link(int q,int w){B[++B0][0]=A[q];A[q]=B0,B[B0][1]=w;}
void divide(int l,int r,int l1,int r1)
{
    if(l1>r1||l>r)return;
    if(l==r)
    {
        fo(i,l1,r1)if(b[i].x==b[i].y)Ans[b[i].i]=a[l].r;
        else if((b[i].x==a[l].x||b[i].x==a[l].y)&&(b[i].y==a[l].x||b[i].y==a[l].y))
            Ans[b[i].i]=min(a[l].r,a[l].c);
        return;
    }
    int mid=(l+r)>>1;
    int mid1=l1-1;
    B0=0;
    fo(i,l1,r1)if(b[i].l<=mid&&b[i].r>mid)
    {
        mid1++;
        swap(b[i],b[mid1]);
        link(b[mid1].r,mid1);
        link(b[mid1].l,mid1);
    }
    fo(I,1,n)
    {
        fo(i,0,n)f[i]=1e9;
        f[I]=0;
        int q=mid1;
        fod(i,mid,l)
        {
            int t=f[a[i].x],t1=f[a[i].y];
            fo(j,1,n)f[j]+=a[i].r;
            f[a[i].x]=min(f[a[i].x],t1+a[i].c);
            f[a[i].y]=min(f[a[i].y],t+a[i].c);
            efo(j,i)Has[B[j][1]]=f[b[B[j][1]].x];
            if(I==n)A[i]=0;
        }
        fo(i,0,n)f[i]=1e9;
        f[I]=0;
        fo(i,mid+1,r)
        {
            int t=f[a[i].x],t1=f[a[i].y];
            fo(j,1,n)f[j]+=a[i].r;
            f[a[i].x]=min(f[a[i].x],t1+a[i].c);
            f[a[i].y]=min(f[a[i].y],t+a[i].c);
            efo(j,i)
            {
                int w=B[j][1];
                Ans[b[w].i]=min(Ans[b[w].i],Has[w]+f[b[w].y]);
            }
            if(I==n)A[i]=0;
        }
    }
    l1=mid1+1;  
    fo(i,l1,r1)if(b[i].r<=mid)
    {
        mid1++;
        swap(b[mid1],b[i]);
    }
    divide(l,mid,l1,mid1);
    divide(mid+1,r,mid1+1,r1);
}
int main()
{
    freopen("graph.in","r",stdin);
    freopen("graph.out","w",stdout);
    int q,w;
    read(n),read(m),read(m1);
    fo(i,1,m)read(a[i].x),read(a[i].y),read(a[i].c),read(a[i].r);
    fo(i,1,m1)read(b[i].x),read(b[i].y),read(b[i].l),read(b[i].r),b[i].i=i,Ans[i]=1e9;
    sort(b+1,b+1+m1,PX);
    divide(1,m,1,m1);
    fo(i,1,m1)printf("%d\n",(Ans[i]>=1e9?-1:Ans[i]));
    return 0;
}
Mind+掌控板实战:5分钟搞定Easy IoT的MQTT通讯(附完整代码) 本文详细介绍了如何利用掌控板和Mind+图形化编程软件,快速实现基于Easy IoT平台的MQTT通讯。通过清晰的步骤讲解和完整的代码示例,指导用户完成从云端配置、Wi-Fi连接到MQTT消息发布与订阅的全过程,帮助初学者轻松构建物联网设备间的双向对话系统。 阅读详情

相关推荐

Calibre PEX提取HSPICE网表时如何避免‘net 0‘错误?实测解决方案分享

本文详细解析了Calibre PEX提取HSPICE网表时出现的'net 0'错误,提供了从规则文件修改到网表后处理的四步解决方案。通过实战案例和进阶调试技巧,帮助工程师有效避免节点映射错误,确保后仿真精度。特别针对SPICE netlist生成机制提出了优化建议。

weixin_29279153的博客 387

【JZOJ 5430】 图

Description有一个n个点的无向图,给出m条边,每条边的信息形如x,y,c,r 给出q组询问形如u,v,l,r 接下来解释询问以及边的意义 询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边 对于一条边x,y,c,r,你可以进行两种操作: 如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到x)并付出c的代价(当然你也可以不走,看操作2) 如果你不走这条边或者

LYD729 501

PIV实验流场流速云图(MALAB contour函数用法)

clear;clc; for k=1:5 str1=['filename1']; str2=['filename2']; str3=['filename3']; str=eval(['str',num2str(k)]); load(str); [m n]=size(y); y=flipud(y); v=-v; x=x-x(1,...

Nick_Cui的博客 3223

jzoj5430 【NOIP2017提高A组集训10.27】图

题目Time Limits: 2000 ms Memory Limits: 524288 KBDescription有一个n个点的无向图,给出m条边,每条边的信息形如< x,y,c,r> 给出q组询问形如< u,v,l,r> 接下来解释询问以及边的意义 询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边 对于一条边< x,y,c,r>,你可以进行两种操作: 如果你当前在x点或者y

Marcus 427

OAI骨关节炎数据集申请与DICOM下载全流程避坑指南

医学影像分析中,DICOM格式是存储与交换CT、MRI等数据的通用标准,其元数据Tag承载着像素间距、层厚等关键物理信息,直接影响定量分析的准确性。在骨关节炎研究领域,OAI数据集因样本量大、随访时间长而成为高价值资源,但获取需通过NDA协议申请,并借助nda-tools命令行工具完成TB级影像的批量下载与断点续传。这一流程涉及浏览器环境配置、DICOM格式转换及Python预处理等工程环节,任一细节疏漏都可能导致数据读取异常或分析偏差。掌握从申请到落地的完整链路,能显著提升医学影像AI研究的效率与可复现性

weixin_30843121的博客 277

SolidWorks有限元分析流程

对于很多专业,在进行设计完成后,为了缩短开发周期,往往需要配合仿真结果进行,机械行业更是如此。平时大家多采用专业有限元仿真软件进行仿真分析,如ANSYS;不过SolidWorks软件因为制图简单,同时存在专用的有限元仿真模块Simulation,对于初学者往往更加适用,下面简单介绍下SolidWorks Simulation仿真流程。 1. 分析流程 关键步骤如下: **(1)创建算例;**对模型的每次分析都是一个算例,一个模型可以包含多个算例。 **(2)应用材料;**指定模型的材料属性,如铝合金、钢材等

DYH_BK的博客 3万+

【JZOJ5430】【NOIP2017提高A组集训10.27】图

Description有一个n个点的无向图,给出m条边,每条边的信息形如< x,y,c,r>给出q组询问形如< u,v,l,r>接下来解释询问以及边的意义询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边对于一条边< x,y,c,r>,你可以进行两种操作: 如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到x)并付出c的代价(当然你也可以不走,看操作2) 如果你不走这条边或

dance in th dark的博客 662

生信实战|EffectorP3.0在植物病原菌效应子预测中的高效应用

本文详细介绍了EffectorP 3.0在植物病原菌效应子预测中的高效应用。通过机器学习模型,该工具能快速从海量分泌蛋白中批量预测胞质与质外体效应子,显著提升研究效率。文章提供了从环境配置、RNA-seq数据处理到批量预测的完整实战流程,并分享了结果解读与避坑指南,是生信研究人员进行病原物效应子鉴定的必备利器。

weixin_29195615的博客 302

2018.06.29 NOIP模拟 边的处理(分治+dp)

边的处理(side.cpp) 【问题描述】 有一个 n 个点的无向图,给出 m 条边,每条边的信息形如&amp;amp;amp;amp;amp;lt;x,y,c,r&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;x,y,c,r&amp;amp;amp;amp;amp;gt;。 给出 q 组询问形如&amp;amp;amp;amp;amp;lt;u,v,l,r&amp;amp;amp;amp;amp;g

苟为蒟蒻又何妨 309

【WRF工具】WRF 模型输出可视化工具 plotfmt

【WRF工具】WRF 模型输出可视化工具 plotfmt

WW、forever的博客 1292

ASProxy64.dll导致jetbrains家的IDE都无法打开。

摘要:在Windows11系统中,JetBrains IDE无法启动,报错指向ASProxy64.dll文件。该第三方DLL被注入到JVM原生层,导致内存访问冲突(错误代码0xc0000005)。经排查发现此文件来自Astrill软件。解决方案为卸载Astrill后重启电脑,问题得以解决。该案例表明第三方DLL注入可能影响IDE正常运行,卸载相关软件是最直接的解决方法。(149字)

猿小白的博客 937

【NOIP 2017】赛季正式打响!

传送门: NOIP2017 检查清单 2017的赛季正式打响了!加油干啊同志们,这里就记录一下我到底干了什么吧~,10_21【JZOJ 5407】【NOIP2017提高A组集训10.21】Deep 【JZOJ 5408】【NOIP2017提高A组集训10.21】Dark 【JZOJ 5409】【NOIP2017提高A组集训10.21】Fantasy小结T1没有去尝试找规律,不能懒啊 T3有

1135

Pointnet++改进90:2025最新改进模块-EVA模块

本教程提出了一种改进PointNet++特征提取模块的方法,通过在PointNetSetAbstraction模块中加入NAMAttention注意力机制,显著提升了模型性能。具体改进包括:1)新建eva.py文件,实现了包含SDLSKA、CKS等关键组件的EVA模块;2)在pointnet2_utils.py中添加Conv和PointNetSetAbstractionAttention类,整合注意力机制;3)修改pointnet2_sem_seg.py模型结构。这种改进方法降低了实现难度,同时保持了33F

AIcurator的博客 361

2019 第十届蓝桥杯大赛软件类省赛 C/C++ 大学 A 组 【部分题解】

声明: 这些的答案不是官方答案,都是我自己做的,仅供参考。一起加油 试题 A: 平方和 本题总分:5′5 &#x27;5′ 【问题描述】 小明对数位中含有 2、0、1、92、 0、 1、 92、0、1、9 的数字很感兴趣,在111 到 404040 中这样的数包括 1、2、9、101、 2、 9、 101、2、9、10 至 32、3932、 3932、39 和404040,共 282828...

nobleman 7482

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

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

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

【JZOJ5430】图

Description 有一个n个点的无向图,给出m条边,每条边的信息形如(x,y,c,r) 给出q组询问形如(u,v,l,r) 接下来解释询问以及边的意义 询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边 对于一条边(x,y,c,r),你可以进行两种操作: 如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到x)并付出c的代价(当然你也可以不走,看操作2) 如...

sadnohappy 324

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【JZOJ100005】【NOI2017模拟.4.1】Shoes

DescriptionData ConstraintSolution这道题我们设出f[j][i]表示当前放了j个鞋柜,对于前i双鞋子的最小代价。设g(x,y)表示当前第x双鞋子到第y双鞋子放于同一鞋柜中的最小代价。我们把鞋子按平均值排序,那么转移显然有f[j][i]=mini−1k=1f[j−1][k]+g(k+1,i)f[j][i]=min_{k=1}^{i-1}f[j-1][k]+g(k+1,i

dance in th dark的博客 418

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JZOJ 5430 图

图Description有一个nn个点的无向图,给出mm条边,每条边的信息形如(xx,yy,cc,rr) 给出qq组询问形如(uu,vv,ll,rr) 接下来解释询问以及边的意义。 询问表示,一开始你在点uu上,然后按顺序处理编号从ll到rr的边 对于一条边(xx,yy,cc,rr),你可以进行两种操作: 11、如果你当前在xx点或者yy点上,那么你可以走这条边(从xx到yy或从yy到xx

XianHaoMing的博客 425

NOIP模拟 边的处理【分治+动态规划】

题目描述有一个n个点的无向图,给出m条边,每条边的信息形如<x,y,c,r><x,y,c,r> 给出q组询问形如<u,v,l,r><u,v,l,r> 接下来解释询问以及边的意义。 询问表示,一开始你在点u上,然后按顺序处理编号从1到r的边。 对于一条边<x,y,c,r><x,y,c,r> ,你可以进行两次操作: 1、如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到

cdsszjj的博客 359

【AtCoder】【AGC011f】Train Service Planning

Description有一条地铁线路,n段路,n+1个站,每段路可以同时交汇走两辆车或只能走一辆车, 每个站可以停车,停车不占用线路, 现在每隔Kmin发一次车,分别从起点/终点开向终点/起点,

2502

【JZOJ 6080】【GDOI2019模拟2019.3.23】IOer

Description m种物品,第i种物品的权值为(ui+v)(ui+v)(ui+v),每种物品有无数个,一种取法的代价为所取物品权值乘积, 问取n个物品的所有不同取法的代价和, 两个取法不同当且仅当存在一种物品在两个方案中取得数量不同, n≤1018,m≤2∗105,mo=109+7n\leq10^{18},m\leq 2*10^5,mo=10^9+7n≤1018,m≤2∗105,mo=109...

1486

【JZOJ 5241】【GDOI2018模拟8.8】苹果和雪梨

Description作为新开的水果连锁店店员,你需要把总部发给你的苹果和雪梨分组出售,从而获得最 大利润。 总部发给你的水果包括: n 个苹果,质量分别为a1,a2…an n 个雪梨,质量分别为b1,b2…bn。 你卖的是盒装水果,一盒水果包括一个苹果和一个雪梨,苹果的质量乘上雪梨的质量就 是这盒水果的价钱。把苹果雪梨配对分成总共n 盒水果后,你要把价格最高的一盒返还给 水果店总部,

1124

【AtCoder】【AGC009E】Eternal Average

Description 有n个0,m个1,每次你从这里面取出K个数,取平均值后再把平均值放回去,求最后的答案有多少种取值。 保证(n+m-1)|k Solution 把最后的答案放在K进制下考虑, 如果一个1在第x层,对答案的贡献就是在K进制下的第-x位+1, 那我们可以考虑每次把K进制数的一位+1,操作m次 如果全部为1,答案显然为1, 也就是说,如果随便操作m次,最后出来的K进...

784

【JZOJ 5887】【NOIP2018模拟9.27】作业

Description 小L在完成他的集合论作业时遇到了这样一题:一颗n个节点的树,定义F(u,d)为到u距离不超过d的点组成的集合,求不同的F(u,d)的数量。 Solution 先抛出结论:Ans=∑min(fx+2,gx)Ans=\sum min(f_x+2,g_x)Ans=∑min(fx​+2,gx​) fxf_xfx​表示当然点子树中,距离最远的点的距离(经过边数) gxg_xgx​表示...

784

【JZOJ 5411】【NOIP2017提高A组集训10.22】友谊

DescriptionFlowey 是一朵能够通过友谊颗粒传播LOVE 的小花.它的友谊颗粒分为两种, 圆粒的和皱粒的,它们依次排列组成了一个长度为2m 的序列.对于一个友谊颗 粒的序列,如果存在1<=i<j<=2m1<=i<j<=2m,满足以下条件: 1)i 为偶数,j 为奇数 2)第i 颗友谊颗粒和第j 颗友谊颗粒同为圆粒或同为皱粒 3)第i 颗友谊颗粒和第j 颗友谊颗粒都还没有被使用

782
上一篇: 【JZOJ 5429】【NOIP2017提高A组集训10.27】排列
下一篇: 【JZOJ 5431】【NOIP2017提高A组集训10.28】序列操作
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值