Jzoj5235 好的排列

PN532 NFC模块串口驱动全解析:从帧格式到单片机实战 串口通信是嵌入式系统中最基础、最广泛使用的通信方式之一,它通过简单的TX/RX引脚实现设备间的全双工数据交换。其工作原理基于异步传输,无需时钟线,通过起始位、数据位、校验位和停止位构成数据帧,具有协议简单、易于调试的特点。在物联网、智能硬件开发中,串口常用于连接传感器、模块与主控制器,是实现设备互联的关键技术。NFC(近场通信)作为一种短距离无线通信技术,在门禁、支付、标签识别等场景应用广泛。PN532作为一款高度集成的NFC控制器芯片,支持读写Mifare等多种标签。通过串口驱动PN532,开发者可以快速 阅读详情
对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。

现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。

显然是计数类dp,我们设f[i][j]表示对于一个1->i的排列,好的位置有j个的情况

考虑转移,显然f[i][j]->f[i+1][k]相当于插入一个i+1

那么我们考虑对j的影响,显然f[i][j]只能转移到f[i+1][j]或者f[i][j],因为这取决于你将i+1放在哪个位置上

如果放在一个不是好位置的两边,那么j就会+1,否则j不变,而且显然,不好的位置一定不连续(显然)

那么转移就十分简单了,参考code

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define M 1000000007
#define L long long
using namespace std;
void ad(int& x,L y){ x=(y+x)%M; }
int f[3010][3010]={0},s[3010][3010]={0},n;
int main(){
	freopen("permutation.in","r",stdin);
	freopen("permutation.out","w",stdout);
	f[1][0]=1; f[2][1]=2; 
	f[3][1]=2; f[3][2]=4;
	for(int i=3;i<3000;++i){
		L pi=(i+1)-2,pj=2;
		for(int j=i-1;pi>=0;--j){
			ad(f[i+1][j],f[i][j]*pi);
			ad(f[i+1][j+1],f[i][j]*pj);
			pi-=2; pj+=2;
		}
	}
	for(int i=1;i<=3000;++i)
		for(int j=i-1;~j;--j){
			s[i][j]=s[i][j+1];
			ad(s[i][j],f[i][j]);
		}
	scanf("%d",&n);
	for(int x,y,i=0;i<n;++i){
		scanf("%d%d",&x,&y);
		printf("%d\n",s[x][y]);
	}
}

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4 阅读详情

相关推荐

梦幻西游端游脚本开发实战:从易语言到大漠多线程全解析

本文详细解析了梦幻西游端游脚本开发的全流程,从易语言基础入门到大漠插件多线程实战。重点介绍了易语言中文编程优势、大漠插件图色识别技术,以及多线程控制台开发技巧,帮助开发者高效实现游戏自动化,提升脚本稳定性和执行效率。

weixin_29251567的博客 1059

【备战秋招】每日一题:2023.07.20-OPPO算法-第二题-排列还原

为了更好的阅读体检,可以查看我的算法。

m0_73659489的博客 680

科研绘图神器Origin2024最新中文版安装教程:5分钟搞定所有配置

本文提供了一份详细的Origin2024中文版安装与配置指南。从系统环境核查、安装包获取验证,到分步安装、语言切换及关键初始设置,手把手教你5分钟完成所有基础配置。同时,指南还分享了首次启动后的个性化设置与高效绘图工作流,助你快速上手这款科研绘图神器,提升数据处理与图表制作效率。

weixin_29247219的博客 1034

【OPPO0411】春招实习笔试练习

继续整我的笔试。

qq_40886933的博客 1374

1.47寸ST7789V3彩屏硬件设计与驱动调试指南

TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能

weixin_30995917的博客 165

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

好排列的数量计算

小R正在研究一种特殊的排列,称为“好排列”。一个排列被称为“好排列”,当且仅当其中所有相邻的两个数的乘积均为偶数。现在给定一个正整数 n,小R想知道,长度为 n 的好排列共有多少种。由于结果可能非常大,你需要将结果对 10^9+7 取模后输出。

2401_83048518的博客 768

一种解决STM32多串口同时收发的方法

在做项目中,遇到了同时调用串口通信时程序崩溃的问题,在项目中,串口1用作调试串口,串口2用作MQTT通信串口,串口3用作下位机通信串口, 串口1重定向以后,用库函数自带的printf函数打印字符串 串口2使用自己写的u2_printf函数,即va_list这套变参宏定义后使用vsprintf函数打印字符串 串口3刚开始使用串口2一样的打印方式,程序在调试调用到串口3打印函数时直接崩溃,后续将串口3改用dma转存输出,仍然无法正常调用 多次研究以后,采用三个串口都使用重定向后的库函数自带的printf

Zxp0605的博客 8796

腾讯音乐笔试

腾讯音乐笔试

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 679

OpenClaw 实战:7个真实场景的多 Agent 落地经验

《OpenClaw实战:7个真实场景的多Agent落地经验》摘要: 作者Maynor分享了从单Agent转向多Agent架构的实战经验。最初遇到的单Agent记忆混乱问题(如Flutter助手被C++话题干扰),通过拆分专项Agent(flutter-tutor/cpp-tutor等)并配置独立workspace解决。随后面临的技能调用混乱问题,采用"基础通用能力+专属能力"分层策略,通过Clawhub管理工具市场,将工具调用准确率从60%提升至95%。最后探讨多Agent协同方案,引入

Maynor的博客 1411

YOLO26跨时代升级!YOLO26 MLCA注意力机制解读

摘要: 本文提出了一种基于多级上下文聚合(MLCA)注意力机制的改进卷积神经网络。MLCA模块通过局部和全局注意力机制动态调整特征图权重,结合了ECA注意力与自适应池化,显著提升特征表达能力。实验表明,添加MLCA后模型mAP提升12.11,准确率提高5.43。文中详细解析了MLCA1模块的工作原理,包括局部/全局池化、卷积操作和注意力加权机制,并介绍了集成MLCA的Bottleneck_MLCA模块。该机制通过多层次特征融合,在保持计算效率的同时增强模型对关键特征的敏感性。最后提供了YOLOv26-MLC

m0_71589036的博客 281

【jzoj5235】好的排列

题目描述 对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。  现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。输入  首先输入q。  接下来输入q个询问n,k 。输出  输出q行,每行一个整数代表答案。样例输入...

weixin_30514745的博客 512

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JZOJ.5235【NOIP2017模拟8.7】好的排列

Description 对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。 Input 输入文件名为permutation....

dawzski22234的博客 223

NTscan扫描工具

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jzoj5235. 【NOIP2017模拟8.7A组】好的排列

Description 对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。 现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。 Input 输入文件名为permutation.in。 首先输入q。 接下来输入q个询问n,k 。 Output 输出文件名为permutation.out。 输出q行,每行一个整数代表答案。 Sample Input

RainbowCrown_CGH's blog 344

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JZOJ 5235. 【NOIP2017模拟8.7A组】好的排列

5235. 【NOIP2017模拟8.7A组】好的排列(File IO): input:permutation.in output:permutation.out Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Description对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者A

py_2017的博客 535

JZOJ5235. 【NOIP2017模拟8.7A组】好的排列

Description对于一个1->n的排列 ,定义A中的一个位置i是好的,当且仅当Ai-1>Ai 或者Ai+1>Ai。对于一个排列A,假如有不少于k个位置是好的,那么称A是一个好的排列。 现在有q个询问,每个询问给定n,k,问有多少排列是好的。答案对10^9+7取模。Data Constraint对于20%的数据,n<=10,q=1 对于40%的数据,n<=20,q=1 对于60%的数据,n

lijf2001的博客 537

好的排列

5235. 【NOIP2017模拟8.7A组】好的排列,数位dp

欢迎您的光顾awa 413

JZOJ 5236. 【NOIP2017模拟8.7A组】利普希茨

5236. 【NOIP2017模拟8.7A组】利普希茨(File IO): input:lipschitz.in output:lipschitz.out Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits DescriptionInput输入文件名为lipschitz.in。 第一行一个整数n。 接下来一行n个整数

py_2017的博客 458

[Codeforces946E][贪心]Largest Beautiful Number

翻译 定义一个数为美丽数,当且仅当这个数长度为偶数,且他的某一个排列可以组成一个回文数 给出n(n&lt;=2*10^100000),求小于n的最大美丽数 题解 从定义中可以发现,一个数为美丽数的情况,当且仅当他出现过的所有数字出现的次数均为偶数次 贪心地想,如果这个数较高的位能取大,那么一定取大 预处理在当前位置i,每个数字出现的次数是偶数次还是奇数次 ...

Rose_max的博客 465

(编程题)相邻数字相乘为偶数

给定一个数组,数组间相邻两个数相乘为偶数,如果不为偶数,则需要将其中一个调变为偶数使其相乘为偶数,编写一个方法返回需要调变的最少次数。

ZhanShenvsDiHuang的博客 2755

你是真的“C”——2023年除夕夜 牛客网刷题经验分享~

2023年除夕夜牛客网C语言模块刷题经验分享~

小梦的博客 1069

牛客寒假算法基础集训营1.G小a的排列-(模拟查找顺序序列)

链接:https://ac.nowcoder.com/acm/contest/317/G 来源:牛客网 题目描述 小a有一个长度为nn的排列。定义一段区间是"萌"的,当且仅当把区间中各个数排序后相邻元素的差为11 现在他想知道包含数x,yx,y的长度最小的"萌"区间的左右端点 也就是说,我们需要找到长度最小的区间[l,r][l,r],满足区间[l,r][l,r]是"萌"的,且同时包含数x...

红点雷龙XL 488
上一篇: Jzoj5234 外星人的路径
下一篇: Jzoj5236 利普希茨
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值