2021牛客国庆集训派对day1 -Removal(动态规划)

2021牛客国庆集训派对day5 A、gpa 题意:给出n,k,数组s和c求在删除最多k对{s,c}的情况下∑s[i]*c[i]/∑s[i]的值最大 思路:我们可以二分答案x,然后对s[i]c[i]-xs[i]排序并求前缀和,在前缀和小于0的时候当前位置到末尾都需要删除,然后看删除的个数是否小于等于k。 代码: #include<bits/stdc++.h> typedef long long ll; typedef unsigned long long ull; #define int ll #define pii pair& 阅读详情

Removal

时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld

题目描述 

Bobo has a sequence of integers s1, s2, ..., sn where 1 ≤ si ≤ k.
Find out the number of distinct sequences modulo (109+7) after removing exactly m elements.

输入描述:

The input consists of several test cases and is terminated by end-of-file.
The first line of each test case contains three integers n, m and k.
The second line contains n integers s1, s2, ..., sn.

输出描述:

For each test case, print an integer which denotes the result.

示例1

输入

复制

3 2 2
1 2 1
4 2 2
1 2 1 2

输出

复制

2
4

备注:

* 1 ≤ n ≤ 105
* 1 ≤ m ≤ min{n - 1, 10}
* 1 ≤ k ≤ 10
* 1 ≤ si ≤ k
* The sum of n does not exceed 106.
const int MAX=1010;
const int MOD=1e9;
int n,m,k;
int a[1000010];
int pre[100010];
int id[1000010];
int dp[MAX][20]; //dp[i][j]是指到第i位的已经删除了j位数字
//但是要注意当前位置的数字在之前已经删除过了 所以要判断当前位置的i-pre是否大于j
int main(){
    while(cin>>n>>m>>k){
        mms(pre,0);
        mms(id,0);
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            pre[i]=id[a[i]];
            id[a[i]]=i;
        }
        mms(dp,0);
        for(int i=0;i<=m;i++){
            dp[i][i]=1;
        }
        for(int i=1;i<=n;i++){
            int d=i-pre[i];
            dp[i][0]=1;
            for(int j=1;j<=m;j++){
                if(j>i)break;
                dp[i][j]=((dp[i-1][j-1]+dp[i-1][j])%MOD+MOD)%MOD;
                if(pre[i]!=0&&d<=j){
                    dp[i][j]=((dp[i][j]-dp[pre[i]-1][j-d])%MOD+MOD)%MOD;
                }
            }
        }
        cout<<dp[n][m]<<endl;
        
    }
}

从隐式求解器到显式求解器:COMSOL接触仿真中的求解策略对比与选择 本文深度解析了COMSOL中隐式与显式求解器在接触仿真中的应用与选择策略。针对非线性接触问题的核心挑战,详细对比了两种求解器的数学框架、优化技术及适用场景,并提供了参数调优和调试技巧,帮助工程师高效解决接触仿真中的收敛问题。 阅读详情

相关推荐

基于LSTM语义分析的企业风险预测系统

在数字化时代,企业面临着前所未有的挑战和机遇,而风险管理作为确保企业稳定发展的关键一环,其重要性日益凸显。为了及时、准确地监测和分析企业相关的风险,并预测可能带来的风险,本文介绍了一种基于长短期记忆(LSTM)语义分析的企业风险预测系统。该系统利用深度学习技术,通过将收集到的企业数据进行预处理和分析,结合LSTM模型对文本进行深度语义分析,从而实现对潜在风险的预测和评估。系统设计方面,该系统包括数据预处理、LSTM模型构建与训练、风险预测以及可视化展示等模块。

qiufangtaowvnyyidtf的博客 1392

2021牛客国庆集训派对day1 J.Different Integers(莫队)

linkkkk 题意: 给出一个长度为nnn的序列,每次询问[1,l][1,l][1,l]和[r,n][r,n][r,n]里不同数的个数。 思路: 先求出[1,n][1,n][1,n]不同数的个数,每次减去[l+1,r−1][l+1,r-1][l+1,r−1]的贡献就好了,莫队维护。 代码: // Problem: Different Integers // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/20322/J // Me

我们都有光明的未来 216

从0到1搭建StarRocks3.4.1存算一体架构(VM 虚拟机版)

本文详细介绍了如何在VM虚拟机上从零搭建StarRocks 3.4.1存算一体架构。首先阐述了StarRocks作为高性能分布式SQL数据仓库的优势,重点讲解了其存算一体架构的设计原理。随后提供完整的安装指南,包括环境准备(3台CentOS 8虚拟机配置)、网络互通验证、Java环境配置、软件包解压安装等关键步骤。文章特别详细说明了FE和BE节点的配置文件修改(fe.conf和be.conf)以及必要的防火墙端口开放配置。通过图文并茂的方式,帮助开发者和运维人员快速掌握StarRocks集群部署方法,为后续

小 tom的博客 1329

Removal【套路DP】

Removal 题意:一个长为n(1e5)的序列,序列中每个数&lt;=k,现在删除m(&lt;=10)个位置的数 。问有多少种不同的序列 思路: DP。设dp[i][j]为到第i个位置,删除j个有多少个不同的序列. 接下来就去找后面跟1~k是不是存在即可。 #include&lt;bits/stdc++.h&gt; #define PI acos(-1.0) #define pb pu...

Haipai1998的博客 357

新手必看!Stata工具变量分析中的三大陷阱:如何正确解读LM统计量、CDW检验和Hansen J值

本文深度解析Stata工具变量分析中的三大核心检验:不可识别检验、弱IV检验和过度识别检验,帮助新手避开常见陷阱。详细解读LM统计量、CDW检验和Hansen J值的正确使用方法,提供实战案例和Stata操作指南,确保研究结论的可靠性。

weixin_29231027的博客 572

FRM模型五:Brinson业绩归因

利用Brinson对基金组合业绩进行归因分析。

stonesssssss的博客 3003

2021牛客国庆集训派对day1E Removal(dp 去重)

linkkk 题意: 给出长度为nnn的子序列,严格删除mmm个数后,有多少种子序列。 思路: 很容易想到,用dp[i][j]dp[i][j]dp[i][j]表示从前iii个数里删除jjj个的方案数,枚举第iii个是否删除,可以得到dp[i][j]=max(dp[i−1][j],dp[i−1][j−1])dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])dp[i][j]=max(dp[i−1][j],dp[i−1][j−1]) 但是这样会有重复,比如[1,2,1,2][1,2,1,2

我们都有光明的未来 237

FPGA波束形成:从算法到硬件的艺术之旅

本文深入探讨了FPGA在波束形成技术中的应用,从算法原理到Verilog硬件实现的全过程。文章详细分析了FPGA并行处理、低延迟和可重构特性如何优化波束形成系统性能,并提供了Verilog关键模块代码示例和资源优化策略,为工程师实现高效FPGA波束形成解决方案提供实用指导。

tea88的博客 1044

牛客网多校1 Removal(dp)

题目:给你一个n长度的序列s,删除m个数后产生的序列有多少种?(n&lt;=1e5,m&lt;=10,si&lt;=10) dp[i][j]表示i长度,以j数字结尾的方案数 #include&lt;bits/stdc++.h&gt; using namespace std; typedef long long ll; const int mod=1e9+7; const int maxn=1...

XFire的博客 350

使用Simulink进行带通滤波器的设计与仿真研究

摘要:本文介绍利用Simulink设计和仿真带通滤波器的方法。通过定义系统需求(保留100-500Hz信号),创建包含多频信号源、加法器和巴特沃斯滤波器的模型,重点展示滤波器频率选择特性。详细步骤包括模块配置、参数设置(中心频率300Hz、带宽400Hz)、信号连接及可视化分析。实验验证了带通滤波器有效提取目标频段信号的能力,为复杂信号处理系统开发提供基础框架。所需工具为MATLAB R2023a和DSPSystemToolbox。

xiaoheshang_123的博客 325

【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)

生成扩散模型DDPM如下图所示分为前向、逆向两个过程,它首先通过不断往原始清晰数据中添加噪声使其变成标准高斯噪声(前向过程),而后期望从标准高斯噪声中还原原始数据(逆向过程)。若能实现,那便可从已知的标准高斯分布中采样一个噪声数据,而后利用DDPM模型生成符合原始数据分布的新数据。 Diffusion模型包含两个过程:数学符号:y∝xy\propto xy∝x:y正比于x,即y随着x增大而线性增大。 条件概率:贝叶斯公式:p(A∣B)=p(B∣A)×p(A)p(B)p(A|B)=\frac{p(B|A)\

小哲的博客 1510

牛客2018多校一 E Removal

https://ac.nowcoder.com/acm/contest/139/E 题意:从给定n个数的数组中删除m个数,问组成的新数组的种类数题意:从给定n个数的数组中删除m个数,问 组成的新数组的种类数题意:从给定n个数的数组中删除m个数,问组成的新数组的种类数 题解:n&lt;=1e5,m&lt;=10,想到dp题解:n&lt;=1e5,m&lt;=10,想到...

WayJasy的博客 338

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2021牛客国庆集训派对day5 题解-A,B,F,G,J

★ J-plan 有n个学生要去旅行。酒店有两种类型的房间:双人房和三人间。双人房的价格是p2,三人房的价格是p3 现在你需要计算这些学生的最低总成本。 求得最小公倍数为6 当 p32 >= p23 时(双人间更实惠) 两种情况: 一:当n%2 == 0 即刚好双人间可住满 , 输出 n/2 p2 二:当n%2 == 1 可分为两种方案,剩一个人住双人间和剩三个人住三人间 去最小值: min( n/2p2+p2 , (n/2-1)p2+p3 ) 当 p32 < p23 时 三种情况: if( n

weixin_51512095的博客 1383

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

牛客每日一题 Removal(计数DP)(好题)

题目链接 题意:给定初始序列,现删去任意m个字符,问你不同的子序列的个数是多少 思路:由于m和k很小,考虑DP,dp【i】【j】代表前i个字符删去j个满足题意得方案数,很显然要是没有限制的话答案肯定是dp【i】【j】=dp【i-1】【j】+dp【i-1】【j-1】(其实就是第i个元素删不删得问题),好了现在题意还有限制条件要求是不同的子序列,那么我们就来考虑一下我们计数的时候什么情况下会产生相同...

qq_42479630的博客 321

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Removal(线性dp)

#include<bits/stdc++.h> #define ll long long using namespace std; const int N=1e5+100; const ll mod=1e9+7; int s[N]; int pre[N]; int h[15]; int n,m,k; ll dp[N][15]; ll f(int x,int y){ if(y<0) return 0; if(y==0) return 1; if(y==x) return 1; if.

qq_44866969的博客 191

牛客网暑期ACM多校训练营(第一场)E.Removal(dp)

       牛客网暑期ACM多校训练营(第一场)E.Removal 传送门   昨天下午,牛客多校第一场,开局两道题,之后盯上了这题,一直挂机到比赛结束, 本蒟蒻挂机期间机队友推出了A题的规律,最后3题gg 赛后看了眼榜 葫芦爷真的   赛时想的dp[i][j]是枚举到第i个长度为j的方案数,然后就转移不出来了,emmmmm 赛后看了题解pdf,发现挂机期间队友给的思路...

喵喵喵? 927

Removal dp(牛客)

题意: 给你一组数,数最大不超过10,问你删去m个数形成新的序列有多少种? 思路: dp[i][j],i为长度,j为第i位的当前数字的方案数,sum[i]为长度为i时的方案数,答案就是sum[n−m]dp[i][j],i为长度,j为第i位的当前数字的方案数,sum[i]为长度为i时的方案数,答案就是sum[n-m]dp[i][j],i为长度,j为第i位的当前数字的方案数,sum[i]为长度为i时的...

mzip的博客 247

Removal (线性DP)

Removal 题目描述 : Bobo has a sequence of integers s1, s2, …, sn where 1 ≤ si ≤ k. Find out the number of distinct sequences modulo (109+7) after removing exactly m elements. 备注 : 1 ≤ n ≤ 105 1 ≤ m ≤ min{n - 1, 10} 1 ≤ k ≤ 10 1 ≤ si ≤ k The sum of n does not

Consult_ 230

牛客网第一场E题 Removal

链接:https://www.nowcoder.com/acm/contest/139/E 来源:牛客网 Bobo has a sequence of integers s1, s2, ..., sn where 1 ≤ si ≤ k. Find out the number of distinct sequences modulo (109+7) after removing ex...

weixin_30410999的博客 210

2021寒假集训.2018牛客多校第一场E.Removal[DP][序列去重]

Bobo has a sequence of integerss1,s2,⋯,sns1,s2,⋯,snwhere1≤si≤k1≤si≤k. Find out the number of distinct sequences modulo(109+7)(109+7)after removing exactlymmelements. Input The input consists of several test cases and is terminated by end-of-file....

qq_43660826的博客 274

CCF-CSP 第23次认证考试 202109-3脉冲神经网络(模拟)(100分)

问题描述 试题编号: 202109-3 试题名称: 脉冲神经网络 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 在本题中,你需要实现一个 SNN(spiking neural network,脉冲神经网络)的模拟器。一个 SNN 由以下几部分组成: 神经元:按照一定的公式更新内部状态,接受脉冲并可以发放脉冲 脉冲源:在特定的时间发放脉冲 突触:连接神经元-神经元或者脉冲源-神经元,负责传递脉冲

m0_57006708的博客 5652

红色和紫色(博弈)

链接:https://ac.nowcoder.com/acm/contest/11214/F 来源:牛客网 题目描述 漫长的生命总是无聊的。这天,小红和紫准备玩一个染色游戏。 她们拿出了一个有 n*m个格子的网格,每个格子只能被染成红色或紫色。每个人可以任意选择一个格子染成红色和紫色,两人轮流进行染色。 她们约定,不能有两个相邻的格子有相同的颜色。最后无法进行染色的人判输。 小红先手进行染色。小红想知道,双方都采用最优策略的情况下,她能否取得胜利? 输入描述: 两个正整数和n,用空格隔..

m0_57006708的博客 2978

牛客练习赛87 -C-牛老板

链接:https://ac.nowcoder.com/acm/contest/11177/C 来源:牛客网 题目描述 牛老板(牛牛)是一个土豪,他有无穷数量的纸币,但他的纸币面值很奇怪: 牛老板纸币的面值要么为6i6i,要么为9i9i,其中(i∈[−∞,∞])(i∈[−∞,∞])且ii为整数。 牛老板买了一架私人飞机售卖价格为XX,牛老板希望在不找零的情况下用尽可能少的纸币付钱,请你帮牛老板计算至少需要多少张纸币。 输入描述: 输入包含TT组测试用例,第一行一个整数TT 接下来TT行每.

m0_57006708的博客 2939

Make the Team(匈牙利算法)

Make the Team 比赛主页 我的提交 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 You are eager to make the programming team. You have decided that if you watch several videos, you will increase your chances of making the t...

m0_57006708的博客 2889

牛客练习赛87 -A-中位数

中位数 比赛主页 我的提交 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给出长度为nn的数组a1,a2,...,ana1​,a2​,...,an​,做确切地kk次操作,每次操作选择两个不同的正整数i,ji,j使得ai=ai+ajai​=ai​+aj​,并将ajaj​从数组中删除。 kk次操作后序列的中位数最小可以是多少? 中位数:一个长度为mm的序列,它的中位数是将这mm数...

m0_57006708的博客 2445

寻宝游戏 HDU - 6289 (DP)

小Q最近迷上了一款寻宝游戏,这款游戏中每局都会生成一个n×mn×m的网格地图,从上往下依次编号为第11行到第nn行,从左往右依次编号为第11列到第mm列。每个格子上都有不同数量的金币,第ii行第jj列的格子上的金币数量为ai,jai,j。 小Q一开始位于(1,1)(1,1),每次他可以往右或者往下走,每当他经过某个格子时,他就可以拿走这个格子上的所有金币。小Q不能走出这个地图,当小Q不能再行动时,游戏结束。显然当且仅当小Q位于(n,m)(n,m)时,游戏才会结束。 一轮游戏的得分为这一轮中收集到的金币总..

m0_57006708的博客 2410
上一篇: 莫队算法(普通莫队)
下一篇: 逆序数(归并排序+树状数组)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值