BZOJ3622 容斥+DP+恰好

ESP32玩转1.8寸TFT屏:从ST7735数据手册到实现自定义图形显示(保姆级教程) 本文详细解析了ESP32驱动1.8寸TFT屏的全过程,从ST7735芯片的SPI寄存器操作到轻量级图形引擎开发。通过硬件SPI配置、Bresenham算法优化及字体缓存策略,实现高效图形渲染,并涵盖透明度混合、硬件滚动等高级特效。保姆级教程助你掌握底层驱动与性能优化技巧。 阅读详情

33.BZOJ3622 容斥定理+DP+恰好

题意:

各有n个数an,bn,上下11匹配,问恰好ai>bi 比ai<bi多k组的方案数

等价于问恰好ai>bi 有(n+k)/2组的方案数

恰好->至少 ,先求至少 :

设dp[i][j]为前i个数至少j组满足 a[x]>b[y]的方案数

Dp[i][j]=dp[i-1][j](第i个不匹配小的) +dp[i-1][j-1]*(nxt[i]-j+1)

Nxt[i]表示a[i]有多少个b[j]比a[i]小,边界dp[i][0]=1

恰好K组等于至少K组*容斥因子-至少K+1组+至少K+2组…..(套路)

至少K组=dp[n][k]*(n-k)! (满足性质,剩下乱选) ,C【i,k】是套路容斥因子

 

就这题由于有DP表示前i个,就不能像之前那样先选K个剩下套容斥了

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int mod=1e9+9;
ll c[2005][2005];ll dp[2005][2005];
int nxt[2005];int a[2005];int b[2005];ll jc[2005];
inline ll add(ll a,ll b)
{
    if(a+b>mod)return (a+b)%mod;
    return a+b;
}
void init()
{
    c[0][0]=1;jc[0]=1;
    for(int i=1;i<=2000;i++)c[i][0]=c[i][i]=1,c[i][1]=i,jc[i]=jc[i-1]*i%mod;
    for(int i=1;i<=2000;i++)
        for(int j=1;j<=i;j++)
            c[i][j]=add(c[i-1][j-1],c[i-1][j]);
            //c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
} 
int main()
{
    init();
    int n,k;scanf("%d %d",&n,&k);
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)scanf("%d",&b[i]);
    sort(a+1,a+1+n);sort(b+1,b+1+n);
    int poi=0;
    for(int i=1;i<=n;i++)//找a[i]有多少个b[j]满足ai>bj
    {
        while(poi<=n&&b[poi]<a[i])poi++;
        nxt[i]=poi-1;
    }   
    //for(int i=1;i<=n;i++)printf("%d %d\n",i,nxt[i]);
    dp[0][0]=1;k=(n+k)/2;
    for(int i=1;i<=n;i++)//第i个至少j个满足a[x]>b[y]
    {
        dp[i][0]=1;
        for(int j=1;j<=i;j++)
        {
            dp[i][j]=add(dp[i-1][j],1ll*dp[i-1][j-1]*max(nxt[i]-j+1,0) );
            //选或不选
            dp[i][j]%=mod;
        }
    }
    ll ans=0;int cnt=1;
    for(int i=k;i<=n;i++)//就那个公式
    {
        if(cnt&1) ans=add(ans,dp[n][i]*jc[n-i]%mod*c[i][k]);
        else      ans=(ans-dp[n][i]*jc[n-i]%mod*c[i][k]%mod+mod)%mod;
        cnt^=1;
    }
【gateway nc adapter虚拟网卡 win11 联想】问题的解决 由于需要登录公司内网,于是启用奇安信VPN。但启动后报出网关未连接的问题,于是我检查了我的网络适配器,并尝试解决,以下给出几种我实践过程中的行动,并附带最后成功的解决方法。 阅读详情

相关推荐

从12摄像头到纯视觉:小鹏AI鹰眼方案如何用LOFIC技术省掉激光雷达?

本文深入解析小鹏汽车AI鹰眼方案如何通过LOFIC技术实现纯视觉自动驾驶,替代传统激光雷达。LOFIC摄像头在动态范围、噪声控制和HDR优化方面表现卓越,结合800万像素双目广角摄像头,达到激光雷达级测距精度。该方案不仅降低成本,还提升系统可靠性和用户体验,展示了纯视觉路线的技术潜力与边界。

t8u9v0w1x的博客 933

【BZOJ3622】已经没什么好害怕的了(dp,容斥原理,二项式反演)

首先设有 xxx 组 a>ba>ba>b,由 x−(n−x)=kx-(n-x)=kx−(n−x)=k 解得 x=n+k2x=\dfrac{n+k}{2}x=2n+k​。 先将 aaa、bbb 数组排序。 然后设 f(i,j)f(i,j)f(i,j) 表示前 iii 个 aaa 中,选了 jjj 组 a>ba>ba>b。 显然有: f(i,j)=f(i−1,j)+[li−(j−1)]f(i−1,j−1)f(i,j)=f(i-1,j)+\big[l_i-(j-1)\big]f

ez_lcw的博客 240

hcaptcha-challenger:基于本地AI模型自动破解验证码的工程实践

验证码作为区分人类与机器的经典安全机制,其核心原理是通过图像识别、行为分析等交互式挑战来阻挡自动化程序。传统绕过方法依赖第三方打码平台或脚本,存在成本高、稳定性差的问题。随着多模态大语言模型和计算机视觉技术的发展,本地化AI求解成为新的技术方向,它通过集成YOLO、ResNet等模型,在本地完成图像语义理解,实现了高隐私、低成本、可进化的验证码自动化解决方案。这种范式尤其适用于需要大规模稳定处理网页交互的场景,如电商数据采集和社交媒体管理。hcaptcha-challenger项目正是这一理念的工程实践,它

weixin_42587866的博客 1025

BZOJ3622(容斥+dp)

思路 “恰k个”考虑求至少k、k+1……个容斥 题面说所有数字都不同,可以将所求转化为糖比药多的组数恰为\((n+k)/2\)的方案数 \(f[i][j]\)数组我觉得更好的理解方式是"前i个已经安排了j组糖大于药、别的先没管"的方案数 \(f[n][i]*(n-i)!\)即为把其它的安排了以后的方案数,但是这里面有重的 设\(g[i]\)为恰i个的方案数。\[g[i]=f[n][i]...

223

局放起始电压(PDIV)与击穿电压(BDV):绝缘系统设计的核心参数 [特殊字符]

在电力设备绝缘系统设计中,**局放起始电压(Partial Discharge Inception Voltage, PDIV)和击穿电压(Breakdown Voltage, BDV)**是两个至关重要的参数。它们直接反映了绝缘材料的性能和绝缘系统的可靠性,对变压器的设计、制造和运行具有重要指导意义。本文将深入探讨这两项参数的定义、测试方法及其与绝缘设计制造的关系,帮助读者全面理解其在电力设备中的核心作用。

mubiao05的博客 2629

HCIA-Storage 存储工程师学习笔记——1. 存储技术趋势

文章目录1. 存储技术趋势1.1 数据、信息与数据存储1.2 存储技术的发展①存储架构的发展②存储介质的发展③ 接口协议的发展1.3 存储产品的发展趋势 华为HCIA-Storage认证地址:https://e.huawei.com/cn/talent/#/cert/roadmap 1. 存储技术趋势 1.1 数据、信息与数据存储 什么是数据? ​ 数据是对所有事物的数字表示。 数据的种类? 结构化数据 半结构化数据 非结构化数据 数据的处理周期 ​ 数据处理是人或机器对数据进行的重组或重新排序,

超级大洋葱的博客 2846

bzoj 3622 容斥+DP计数

题目&amp;&amp;题解:点击打开链接题意:给你两个序列 a,b  每个序列共 nn 个数 , 数之间两两不同问 a 与 b   之间有多少配对方案 使得 ai&gt;bi的对数 比 bi&gt;ai的恰好多 k对.(1≤k≤n≤2000)代码写得是真的丑,这么简单的题还调了好久!一定要把容斥的每一个细节推清楚再写,否则边界写错了挺难查出的!下次这种简单的(无代码量)题10分钟要写完调完!用r...

执子之手,与子偕老 307

Python自动化测试全套教程-第一天(python、pycharm开发环境的安装与配置(图文超级详细);附安装包)

本文介绍了Python开发环境的完整安装配置流程。主要内容包括:1) Python解释器的下载安装与版本检测方法;2) PyCharm IDE的下载安装步骤,包括专业版和社区版的选择;3) PyCharm的基础配置和项目创建方法;4) 开发环境的基本构造说明。文章提供了两种获取安装包的方式(官网下载和文章附件),并详细说明了解释器卸载、安装过程中的注意事项,以及如何验证环境配置成功。特别强调了PyCharm安装时的路径选择和虚拟环境的创建方法,为Python初学者提供了完整的开发环境搭建指南。

kiwi_king的博客 2035

bzoj3622(dp,广义容斥原理)

题面全是图片 https://www.lydsy.com/JudgeOnline/problem.php?id=3622 solutionsolutionsolution 题目等价于求∑[ai&amp;gt;bi]−[bi&amp;gt;ai]=k\sum[a_i&amp;gt;b_i]-[b_i&amp;gt;a_i]=k∑[ai​&gt;bi​]−[bi​&gt;ai​]=k的方案数 恰好k...

a1035719430的博客 468

光学仿真案例(1) 铌酸锂非线性波导仿真模拟 FDTD仿真

在过去几年里,许多集成光子学应用往往需要多个相干可调谐光源,而且从外部激光器引入额外的光输入增加了芯片封装的复杂性,如果使用基于III-V族、氮化硅(SiN)或铌酸锂(LNO)的集成光源又大大增加了制造复杂性和成本。然而,通过非线性谐波相互作用产生的光源不需要额外的制造工艺来产生增益、反馈和外部电路,即可支持许多应用。在下面的案例中,演示了一种基于Luo[1]的铌酸锂波导频率转换集成系统。该案例主要仿真了利用温度调制实现高效相位匹配的铌酸锂纳米光子波导的二次谐波产生。

q895235273的博客 4143

Windows下快速搭建MSYS2开发环境(含GCC与MinGW配置)

本文详细介绍了在Windows系统下快速搭建MSYS2开发环境的完整流程。通过使用pacman包管理器,可以便捷地安装GCC编译器与MinGW-w64工具链,并配置系统环境变量。文章还涵盖了从基础安装、系统更新到编译开源项目的实战指南,帮助开发者高效构建原生Windows程序,显著提升C/C++开发效率。

weixin_29213827的博客 538

【BZOJ3622】已经没有什么好害怕的了 容斥+DP

【BZOJ3622】已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相同。 还有输入应该是第二行是糖果,第三行是药片 题解:好吧这题不是神题...

aodanchui1057的博客 185

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

BZOJ 3622: 已经没有什么好害怕的了 组合数+Dp

title BZOJ 3622 LUOGU 4859 简化题意: 两个数列 \(\{a_n\}\),\(\{b_n\}\),求 \(a_i>b_i\) 的组数恰好比 \(b_i>a_i\) 的组数多 \(k\) 组的情况个数。 analysis 可以转化一下题目所求,也是为了方便: 令 \(k=\frac{n+k}{2}\),即有恰好 \(k\) 组糖果比药片大(\(a...

dilu0653的博客 176

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

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

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

[bzoj3622]已经没有什么好害怕的了——容斥or二项式反演+DP

题目大意: 给定两个长度为\(n\)的序列,求有多少种匹配方式,使得\(a_i<b_i\)的个数恰好为\(k\)个。 思路: 据说是一道二项式反演的经典例题了。 首先如果要求正好等于\(k\)个的是不太好求的,我们可以考虑求出至少为\(k\)个的方案数。 首先先把两个序列都按照从小到大的顺序排好序,然后以序列\(b\)为对象dp。 我们设\(f_{i,j}\)表示前\(i\)个数里...

aizhuji9626的博客 103

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

bzoj3622 已经没有什么好害怕的了 容斥+dp

Description Solution 想不到。。 首先肯定要排序,不排序是不可能的。记r[i]表示a[i]最多能匹配多少个b 设f[i,j]表示a的前i个匹配了j个,转移就有f[i,j]=f[i-1,j]+f[i-1,j-1]*(r[i]-j+1) 然后这样是会算重的,直接输出就挂了。我们需要一个小容斥来去重 记g[i]表示匹配了恰好i个的答案,那么g[i]=f[n][i]⋅(n−i)!...

olahiuj的博客 226

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

BZOJ 3622 Luogu P4859 已经没有什么好害怕的了 (容斥原理、DP)

题目链接 (Luogu) https://www.luogu.org/problem/P4859 (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=3622 题解 我依然啥都不会啊…… 先给\(A,B\)数组从小到大排序。 考虑容斥,设\(f[j]\)表示钦定了\(j\)个满足\(A>B\), 所有钦定方案的方案数总和。...

weixin_30439131的博客 167

BZOJ3622 已经没有什么好害怕的了 二项式反演+DP

题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3622 题解 首先显然如果 \(n - k\) 为奇数那么就是无解。否则的话,“糖果”比“药片”大的组数,应该为 \(\frac {n+k}2\)。 考虑到多恰好 \(k\) 组不太好求,但是如果选了 \(k\) 组必须是“糖果”比“药片”大,这个方案数还是很好求的。 首先是选了 \(...

weixin_30455023的博客 158

[bzoj3622]已经没有什么好害怕的了_动态规划_容斥原理

bzoj-3622 已经没有什么好害怕的了 题目大意: 数据范围:$1\le n \le 2000$ , $0\le k\le n$。 想法: 首先,不难求出药片比糖果小的组数。 紧接着,我开始的想法是 $f_{(i,j)}$表示前$i$个糖果中,满足糖果比药片大的组数是$j$的方案数。 进而发现需要将两个数组排序。 到这里一切都很正常,但是我们发现了一个问题:就...

dianan0938的博客 180

有关一类容斥计数dp问题

容斥+dp是啥?能吃吗?

Rayment的博客 930

bzoj3622 已经没有什么好害怕的了(容斥原理+DP+二项式反演)

bzoj3622 已经没有什么好害怕的了 原题地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3622 题意: 数据范围 1≤ n ≤ 2000,0 ≤ k ≤ n 题解: 首先k+n" role="presentation" style="position: relative;">k+nk+nk+n不是偶数就无解了,让k=(

Bfk的博客 650

BZOJ3622 已经没有什么好害怕的了 【dp + 二项式反演】

题目链接 BZOJ3622 题解 既已开题 那就已经没有什么好害怕的了 由题目中奇怪的条件我们可以特判掉\(n - k\)为奇数时答案为\(0\) 否则我们要求的就是糖果大于药片恰好有\(\frac{n - k}{2} + k\)个的方案数,我们记为\(K\) 思路1 直接求恰好不好求,想到二项式反演: 如果有 \[b_k = \sum\limits_{i = k}^{n} {i \ch...

weixin_30498921的博客 108

bzoj3622 已经没有什么好害怕的了

题目描述: bz luogu 题解: $dp$+二项式反演。 首先把两个集合排序,然后dp。$dp[i][j]$表示前$i$个糖果里面我让$j$个匹配比它小的药片,剩下不管的方案数。 容易得到方程为$dp[i][j]=dp[i-1][j]+dp[i-1][j-1]+(lim-(j-1))$,其中$lim$表示比它小的药片的数量。 这一部分是$O(n^2)$的。 发现他问的...

weixin_30897079的博客 75

[bzoj3622]已经没有什么好害怕的了【二项式反演】

【题目链接】   https://www.lydsy.com/JudgeOnline/problem.php?id=3622 【题解】   显然糖果&gt;药片的一共有(n+k)/2(n+k)/2(n+k)/2组,记为ppp。   记FiFiF_{i}表示组数恰好为iii的方案数,我们要求的就是FpFpF_{p}   直接算不好算,我们考虑求≥i≥i\geq i的方案数GiGiG_{i}...

D_Vanisher的博客 420
上一篇: CF285E 容斥+恰好+DP
下一篇: 32.hdu6363 因子容斥+模型+数论
animalcoder
博客等级 码龄9年 43粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值