【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;
}
比例导引算法详解:从理论到Matlab实现(含3D轨迹可视化) 本文深入解析比例导引算法(PNG)的数学原理与Matlab实现,涵盖3D轨迹可视化技术。从基础运动学模型到导航比优化,详细讲解导弹拦截系统的核心算法,并提供Matlab代码示例,帮助读者掌握从理论到实战的全流程。 阅读详情

相关推荐

ArcGIS小白必看:5分钟搞定shp矢量文件分割(附常见错误排查)

本文为ArcGIS新手详细解析了分割shp矢量文件的四种核心方法:裁剪工具、分割工具、按属性选择导出及ArcPy脚本自动化。重点强调了投影匹配等关键步骤,并提供了常见错误排查指南,帮助用户快速掌握矢量数据分割技巧,提升GIS数据处理效率。

h9j8k7l6m5n的博客 800

【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

VisionMaster Qt二次开发:图像获取、COM组件渲染与本地化存储实战

本文详细介绍了基于VisionMaster进行Qt二次开发的核心实战流程,涵盖环境搭建、方案加载、图像数据获取、COM组件渲染与本地化存储。重点解析了如何通过COM组件在Qt界面中实时显示图像,以及将VM图像数据转换为QImage并保存为本地文件的关键步骤与常见问题,为工业视觉项目开发提供稳定高效的解决方案。

weixin_29229261的博客 206

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

iperf3网络性能测试全攻略:从带宽到丢包率的实战技巧

本文提供了iperf3网络性能测试的完整实战指南,涵盖从基础部署到高级诊断的全流程。详细解析了TCP带宽测试的进阶技巧与UDP丢包率分析的深度方法,帮助网络工程师精准量化带宽、丢包率等关键指标,有效定位网络瓶颈并优化性能。

efc123456的博客 1019

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

985小水博的摸鱼日常 463

【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

使用亚组分析进行子组分析并可视化森林图 - R语言

通过亚组分析和森林图的结合,我们可以更好地理解不同子组之间的差异和效果大小。当然,在实际应用中,还需要考虑多种因素,如样本量、异质性等,以得到更准确的结果和结论。每个森林图中的水平线代表了每个子组的效应估计,线的长度表示了该效应估计的置信区间。假设我们有一个包含研究对象的数据框(data frame),其中包括了治疗组和对照组的结果数据,以及一些可能的影响因素作为调整变量。在本例中,我们将比较两种不同的治疗方法(A和B)对结果变量的影响,并调整了一个额外的变量。是结果变量和对照组变量的列名。

2301_79326857的博客 1236

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

OSError We couldn‘t connect to https://huggingface.co to load file, couldn‘t find it chatglm3-6b解决方案

本文主要介绍了OSError: We couldn’t connect to https://huggingface.co to load this file, couldn’t find it in the cached files and it looks like THUDM/chatglm3-6b is not the path to a directory containing a file named config.json.解决方案,希望能对学习python的同学们有所帮助。

weixin_43178406的博客 5万+

基于YOLOv11的农作物病虫害检测系统设计与实现

我们使用公开的IP102病虫害数据集作为基础,该数据集包含102种病虫害类别,覆盖水稻、小麦、玉米等多种主要农作物。图像数量:75,222张类别数:102图像分辨率:从640×480到4000×3000不等标注格式:PASCAL VOC格式此外,我们还收集了部分田间实际拍摄的图像以增强模型泛化能力。

YOLO 595

【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

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java)

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java), 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 59

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【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

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

【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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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、付费专栏及课程。

余额充值