AT4438 [AGC028D] Chords 题解

一个测试工程师走进一家酒吧…… 一个测试工程师走进一家酒吧,要了一杯啤酒;一个测试工程师走进一家酒吧,要了一杯咖啡;一个测试工程师走进一家酒吧,要了 0.7 杯啤酒;一个测试工程师走进一家酒吧,要了-1 杯啤酒;一个测试... 阅读详情

可以发现,如果把环断开成为一条链,那么线段的交实际上就类似于区间的交。

所以,我们可以考虑用连通块 SSS 中涉及到的编号最小的点 LLL 和编号最大的点 RRR 所构成的区间 [L,R][L, R][L,R] 来表示 SSS。

下文我们称 [L,R][L, R][L,R] 为连通块 SSS 的表示区间。


那么对于一个已经连好边的图,我们可以发现一个性质:

  • 对于两个不同的连通块,它们的表示区间要么是包含关系,要么交集为空。

这个性质是有利于统计的,因为我们不必考虑方案中产生的交区间对不同连通块的影响了。

具体地,我们可以考虑设 fi,jf_{i, j}fi,j​ 为构造出表示区间是 [i,j][i, j][i,j] 的连通块的方案数,那么这个连通块对答案的贡献是:fi,jf_{i, j}fi,j​ 和在区间 [i,j][i, j][i,j] 外的其它点任意连接的方案数的乘积。

这个“在区间 [i,j][i, j][i,j] 外的其它点任意连接的方案数”该怎么计算呢?

我们的方法是,预处理两个数组:gig_igi​ 和 cnti,jcnt_{i, j}cnti,j​:

gig_igi​ 表示 iii 个点之间任意连接的方案数;

cnti,jcnt_{i, j}cnti,j​ 表示区间 [i,j][i, j][i,j] 内没有连接的点的个数,即没有在给定的 kkk 条线段中出现过。

那么,“在区间 [i,j][i, j][i,j] 外的其它点任意连接的方案数”即为:

g(n−k)∗2−cnti,j g_{(n - k) * 2 - cnt_{i, j}} g(n−k)∗2−cnti,j​​


接下来我们考虑怎样预处理这两个数组。

gig_igi​ 数组:当 iii 为奇数时,结果为 000(奇数个点无法完整地相连),否则为 gi−2∗(i−1)g_{i - 2} * (i - 1)gi−2​∗(i−1)。

我们设 g0g_0g0​ 为 111,那么 ggg 的通项公式平凡,这里就留给读者了,时间复杂度 O(n)O(n)O(n) 。

cnti,jcnt_{i, j}cnti,j​ 数组:这个就不用多说了,O(n2)O(n^2)O(n2) 处理即可。


最后我们考虑如何计算 fi,jf_{i, j}fi,j​,不过前提是要保证 fi,jf_{i, j}fi,j​ 的存在性和独立性。

首先我们需要保证区间 [i,j][i, j][i,j] 中的所有连边不超出区间的范围,这样才能保证 fi,jf_{i, j}fi,j​ 的存在性,如果上述条件无法满足,那么令 fi,j=0f_{i, j} = 0fi,j​=0 。

如果不容斥,那么 fi,jf_{i, j}fi,j​ 就是 gcnti,jg_{cnt_{i, j}}gcnti,j​​,但是显然需要容斥,因为区间 [i,j][i, j][i,j] 内部可能会出现不连通的情况。

我们考虑枚举一个 k∈[i+1,j−1]k \in [i + 1, j - 1]k∈[i+1,j−1],令区间 [i,k][i, k][i,k] 和 [k+1,j][k + 1, j][k+1,j] 独立,由于在算 fi,kf_{i, k}fi,k​ 时已经保证了其独立性,所以这样不合法的方案有 fi,k∗gcntk+1,jf_{i, k} * g_{cnt_{k + 1, j}}fi,k​∗gcntk+1,j​​ 种。

所以 fi,jf_{i, j}fi,j​ 的计算公式为:

fi,j=gcnti,j−∑k=i+1j−1fi,k∗gcntk+1,j f_{i, j} = g_{cnt_{i, j}} - \sum_{k = i + 1}^{j - 1}f_{i, k} * g_{cnt_{k + 1, j}} fi,j​=gcnti,j​​−k=i+1∑j−1​fi,k​∗gcntk+1,j​​

算法到这里就大功告成了,实现的细节具体看代码吧。

代码:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cassert>

#define FILE

#define MAXN 1005
#define MOD 1000000007

using namespace std;

int n, k, Match[MAXN], cnt[MAXN][MAXN], g[MAXN], f[MAXN][MAXN], ans;
bool Matched[MAXN];

int main()
{
    #ifdef FILE
        freopen("Input.in", "r", stdin);
        freopen("Output.out", "w", stdout);
    #endif
    scanf("%d%d", &n, &k);
    for(register int i = 1; i <= k; i++)
    {
        int u, v; scanf("%d%d", &u, &v);
        Matched[u] = Matched[v] = true;
        Match[u] = v, Match[v] = u;
    }
    for(register int i = 1; i <= n * 2; i++) for(register int j = i; j <= n * 2; j++) cnt[i][j] = cnt[i][j - 1] + !Matched[j];
    g[0] = 1; for(register int i = 2; i <= n * 2; i += 2) g[i] = 1LL * g[i - 2] * (i - 1) % MOD;
    for(register int i = 1; i <= n * 2; i++)
    {
        for(register int j = i; j <= n * 2; j++)
        {
            bool Flag = false;
            for(register int k = i; k <= j; k++) Flag |= (Matched[k] && (Match[k] < i || Match[k] > j));
            if(Flag) continue;
            f[i][j] = g[cnt[i][j]];
            for(register int k = i + 1; k <= j - 1; k++) f[i][j] = (f[i][j] - 1LL * f[i][k] * g[cnt[k + 1][j]] % MOD + MOD) % MOD;
        }
    }
    for(register int i = 1; i <= n * 2; i++) for(register int j = i; j <= n * 2; j++) ans = (ans + 1LL * f[i][j] * g[(n - k) * 2 - cnt[i][j]] ) % MOD;
    printf("%d\n", ans);
    return 0;
}

END\mathit{END}END

ACS运动控制器编程语言 ACS运动控制器采用SPiiPlusLanguage(SPL)作为核心编程语言,该语言基于C语法设计,内置丰富的运动控制指令,支持点位运动、插补等复杂控制。控制器提供专用开发工具SPiiPlusManager和ACSStudio,支持图形化编程与调试。同时兼容TCP/IP、EtherCAT等多种扩展接口,便于与上位机或PLC集成。使用时需注意实时性优先级、轴参数匹配等关键事项。官方文档和示例程序为开发者提供了完善的学习资源。 阅读详情

相关推荐

三端口DC-DC变换器设计与光伏储能协同控制

三端口DC-DC变换器是面向分布式能源系统的关键功率变换拓扑,通过在光伏输入、储能电池与直流负载三个端口间实现动态能量分配,解决多源异步供电下的电压稳定与功率平衡问题。其核心原理基于双Boost半桥架构与双闭环协同控制,融合MPPT最大功率点跟踪与电池智能充放电管理,在保证30V高精度稳压(±0.5V)的同时,支持光伏主导供电与电池支撑供电的自动模式切换。该技术显著提升光储系统能量利用率与供电连续性,广泛应用于微电网、便携式交直流电源及离网型光储一体机等场景,是构建柔性直流配电与智能能源管理的基础硬件单元。

weixin_36431814的博客 140

4438无线网络组网代码解析

device_bind_process是怎么实现绑定的? enum {     NOSTATE,     UBIND,              //等待接收 握手一次1     WAIT_FOR_TOUCH,     //     WAIT_FOR_CONFIRM,   //点击按键后 回复一次2     BIND_SUCCESS,       //等待接收 握手3次 }; 此

宁静以致墨的专栏 35万+

5G-A无源物联网:深度解析“不插电“智能的底层技术原理

北京移动推出5G-A无源物联网技术,实现电动车标签"零功耗"运行。该技术通过射频能量收集(利用5G-A基站高功率信号转换为电能)和反向散射通信(调制反射信号传输数据)两大核心技术,使设备无需电池即可工作。5G-A相比4G在信号能量密度、通信速率和定位精度等方面显著提升,结合通感一体等创新技术,为无源物联网提供商用基础。该方案已在北京小区试点应用,实现电动车精准定位管理,标签寿命可达5年以上。专家预测,这项技术将大幅降低物联网部署成本,推动"万物智联"时代的到来。

通信行业老兵、物联网从业者,做一个有趣的普通人。 2010

P4438 [HNOI/AHOI2018]道路

题目描述 W 国的交通呈一棵树的形状。W 国一共有n - 1n−1个城市和nn个乡村,其中城市从11到n - 1n−1编号,乡村从11到nn编号,且11号城市是首都。道路都是单向的,本题中我们只考虑从乡村通往首都的道路网络。对于每一个城市,恰有一条公路和一条铁路通向这座城市。对于城市i, 通向该城市的道路(公路或铁路)的起点,要么是一个乡村,要么是一个编号比ii大的...

weixin_30389003的博客 469

Bootloader Design of PIC18 series MCU

注意:下列描述是在PIC单片机上启用Bootloader的一个相关知识的近似完备集。所有需要了解的,与bootloader与用户态程序交互的理论知识都已给出。包含内存组织,跳转,中断等必备功能的描述。

含光左卫的工作笔记集 1267

oracle p6 破解版下载,Primavera P6项目管理软件 16~17 图文详细安装教程(附下载)

Primavera P6 Professional项目管理软件结合了Oracle和Microsoft SQL Server关系数据库,是一款非常好用且功能强大的综合的项目管理软件(PPM) 解决方案,主要用于土建等方面的施工计划分析,具有进度时间安排与资源控制功能的多用户、多项目系统,支持多层项目分层结构、角色与技能导向的资源安排、记录实际数据、自定义视图以及自定义数据,本文主要为大家图文详细介绍...

weixin_33978451的博客 4909

SCU - 4438 (KMP)

SCU - 4438 (KMP) Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text pp. Her job is relatively simple – just to find the first occurence of sensitive word ww and...

Dch19990825的博客 3万+

2021哈工大网安837考研初试经验贴

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

weixin_41797880的博客 6522

SCU - 4438(字符串hash)

Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text p. Her job is relatively simple – just to find the first occurence of sensitive word w and remove it. frog re...

qq_44641782的博客 1万+

告别视频广告:OpenWrt下luci-app-adbyby plus/lite的完整配置与避坑手册

本文详细介绍了在OpenWrt路由器上配置Adbyby Plus/Lite广告屏蔽工具的完整流程与优化方案。从环境准备、规则文件手动配置到高级性能调优,帮助用户有效拦截视频前贴片广告和弹窗广告,提升家庭网络浏览体验。特别针对官方源停止维护的问题,提供了实用的规则更新解决方案。

weixin_29306011的博客 737

一文搞懂鲸鱼优化算法Whale Optimization Algorithm(WOA)!!!(核心原理+数学模型+代码实战+实际应用)

本文详细介绍了鲸鱼优化算法(WOA)的原理与实现。该算法模拟座头鲸气泡网捕食行为,通过包围猎物、螺旋攻击和随机搜索三种策略平衡全局探索与局部开发。文章首先从生物学角度解释鲸鱼捕食行为,然后给出算法的数学模型和完整流程,包括关键公式和决策逻辑。最后通过Python代码实例演示如何求解Sphere函数最小值,展示算法的实际应用。WOA具有结构简单、参数少等优点,在工程优化、机器学习等领域有广泛应用前景。

qq_42212808的博客 1011

4438的代码分析一

cap_pad[i].led_on的运动历程 只有两个点来改变他们的状态,是1或者是0。 void task_touch_scan(void *args) {   change_led_lightness();   //turn off th e sillicon turn on the sillicon  这是改变的LED灯吗????木   touch_scan();        

宁静以致墨的专栏 1万+

3.PCIe协议分析1-预备知识点

PCIE协议分析1主要讲一下四方面: PCI-E配置空间 PCI-E地址映射 PCI-E Bar空间 PCI-E层级结构详谈 (1)PCIE配置空间 我们过来学习PCIE的同学应该都接触各种类型的功能芯片吧,这些功能芯片连接在电路里面我们可以认为它是一个外部设备,这些设备里面有自己独有的寄存器区域,比如SDRAM里面的ID寄存器或者其他配置寄存器。好的,其实我们PCIE板卡也相当...

一个早起的程序员 4144

4438端口对比传统端口:效率提升50%的秘密

最近在优化公司内部文件传输服务时,偶然发现4438端口在特定场景下的性能表现远超传统端口。:现代TLS协议在非标准端口运行时,某些实现会采用更高效的加密套件协商策略,减少握手耗时。:300线程并发时,4438端口成功率保持99.2%,443端口出现6.8%的连接超时。:企业防火墙/IDS对标准端口的深度检测会引入延迟,4438端口通常只做基础流量检查。:4438端口平均延迟降低32%,主要得益于握手阶段节省的1-2个RTT。:由于是非标准端口,需额外部署端口存活检测,建议每5分钟发送心跳包。

CrystalwaveEagle34的博客 7339

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

关于si4438以往犯的一些错误

配置程序是别人给的,都没问题,或者wds生辰

chengxuan104的专栏 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

STM32连接射频si4438模块

SI4438射频模块参数: 1、频率范围:425-525 MHz 2、数字接收信号强度指示(RSSI) 3、64字节收发数据寄存器(FIFO) 4、跳频功能 等! 使用SI的WDS工具生成代码 1、  选择仿真模式 2、  芯片选择si4438 B1模式 3、  Radio Configuration Application 4、  Select Application

liqinghan的专栏 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

AI如何通过4438端口优化网络通信效率

我实际使用时发现,从代码编写到部署上线,整个过程非常流畅,省去了很多环境配置的麻烦。在传统防火墙基础上,加入AI驱动的行为分析,能识别更复杂的攻击模式,如慢速攻击或加密流量中的恶意载荷。通过智能分析和管理,不仅能提升效率,还能大幅增强安全性。训练机器学习模型识别正常流量模式,当出现异常流量时(如DDoS攻击特征),系统能在毫秒级做出响应。特别值得一提的是,系统成功预测并缓解了一次潜在的大规模DDoS攻击,避免了服务中断。但手动管理这个端口的流量很麻烦,特别是当并发量增大时,容易出现响应延迟和安全漏洞。

SilvermistFalcon19的博客 2755

hdu 4438 && la 6389

题目概述A,B两人比赛打猎,老虎(tiger)X分,狼(wolf)Y分,两种猎物都只有一只,开始前两人会先选定各自的目标,若两人选的不同,则各打各的,都能得到自己选的猎物的分数,若选的相同,则A有P的概率得手,B有1-P的概率得手,之后两人会去打另一只猎物,得手概率不变,好在A了解B,他知道B选老虎的概率是Q,选狼是1-Q,问A选什么猎物分数期望较高,是多少分时限1000ms/2000ms输入第一行

[CHN]liurui 6456

RF射频技术-si4438C芯片介绍

1.芯片图 2.Frequency range = 425–525 MHz 可覆盖425-525MHz频段 3.The Si4438 operates as a time division duplexing (TDD) transceiver where the device alternately transmits and receives data packets 双工

江飞雪 1万+

SCU4438——哈希+前缀和

原题链接:SCU4438——哈希+前缀和 学习博客:【哈希-字符串匹配+模拟栈】SCU - 4438: Censor(哈希详解哈哈哈) #include <bits/stdc++.h> using namespace std; #define ull unsigned long long const int N=1e6; const ull base=10; ull Hash[N],p[N]; void pre() { p[0]=1; for(int i=1;i<=N;i

想买很多漂亮衣服但是买不起的博客 2257

对比研究:4438端口与传统端口在云服务中的性能差异

分别在相同配置的实例上部署Nginx服务,一个监听传统443端口,另一个使用4438端口。在AWS东京区域的测试数据显示,4438端口在1500并发连接时,吞吐量比443端口高出12.3%,平均延迟降低18ms。对于需要高并发的API服务,建议优先考虑4438端口,特别是在AWS环境。最初测试时发现4438端口的性能波动很大,后来通过排查发现是实例的CPU积分耗尽。整个测试过程中最惊喜的是不需要操心证书配置——平台自动处理了HTTPS终端的SSL问题,这让对比测试的效率提升了不少。

NightshadeRaven21的博客 4128

BECKHOFF KL4438 倍福模拟输出端子模块

KL4438模拟输出端产生范围在-10到+10 V之间的信号。电压提供给分辨率为12位的工艺级,并进行电隔离。KL4438将八个通道组合在一个外壳中,特别适合安装在控制柜中节省空间。单导体连接技术的使用使得能够以最小的空间要求连接多通道致动器技术。

2401_84218638的博客 3004

Censor SCU - 4438 (hash 哈希做法)

字符串问题考虑hash做法。 如何以**常数级复杂度**去check以现在找到的这个点为终点是否可以构成字符串w?

weixin_43925900的博客 5615

si4438使用stm32f103配置调试成功!

刚拿到si4438时候在网上找了一大波资源,发现能使用的并没有多少,于是自己配置一发。经过不懈努力配置成功,现在将一些配置过程分享给大家!源码已上传。尽情下载! 1.首先打开工程文件,app下的si4438即是驱动si4438的一些库函数,都已经封装完成,只需要直接使用即可。 2.si4438在接受到数据时会IRQ引脚会产生下降沿,需要将接IRQ引脚的单片机IO配置为下降沿中断才行,当进入中断

朱越奇的博客 1万+

hdu4438 Hunters

Hunters Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 634    Accepted Submission(s): 476 Problem Description Alice and Bob are the to

习惯与规则决定命运 1221

SCU - 4438 KMP

Censorfrog is now a editor to censor so-called sensitive words (敏感词).She has a long text (p). Her job is relatively simple – just to find the first occurence of sensitive word (w) and remove it.frog re

神回 4208
下一篇: CF721C Journey 题解
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值