【NOI2018模拟4.2】table

实时音频可视化系统:纯本地毫秒级声音-视觉映射技术 音频可视化是一种将声音信号转化为动态视觉表现的基础人机交互技术,其核心原理依赖于音频采集、频谱分析、特征映射与实时渲染的端到端低延迟链路。技术价值在于突破传统Web或通用框架的性能瓶颈,实现亚10ms级因果同步,满足音乐制作、无障碍教育、实时UI生成等对时序精度敏感的工程场景。关键挑战包括操作系统音频子系统调用优化、轻量级定制化解码、混合基FFT加速、GPU内嵌物理模拟及离线空间音频建模。本文聚焦audio-reactive与offline-first两大实践锚点,详解一套不依赖云端、不引入JavaScri 阅读详情

Description:

这里写图片描述、
这里写图片描述

题解:

做法1:

一行一行的看。

每次变换相当于乘上多项式(bx+a)。

所以可以搞出(bx+a)−(p−1)(bx+a)−(p−1)

乘第p行的数就可以还原出第一行,之后的用个组合数搞搞就行了。

(bx+a)−(p−1)(bx+a)−(p−1)的话,只用n项就可以了,并不用全部。

可以先把bx+a求逆,然后快速幂,O(n log^2 n)看上去有点悬。

也可以用二次项展开求出(bx+a)(p−1)(bx+a)(p−1)先,再求逆,这个就只用O(n log n)O(n log n)。

做法2:

x>=p很简单,要考虑x<<p怎么做。

重写一下方程,变成倒推的。

fi,j=(fi+1,j−fi,j−1∗b)/afi,j=(fi+1,j−fi,j−1∗b)/a
=fi+1,j/a+fi,j−1∗(−b/a)=fi+1,j/a+fi,j−1∗(−b/a)

这个可以再推一下方案数,类似于挡板问题。

Code:

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
#define fo(i, x, y) for(int i = x; i <= y; i ++)
#define fd(i, x, y) for(int i = x; i >= y; i --)
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
using namespace std;

const int N = 1e7, M = 1e5, C = N + M;
const ll mo = 998244353;

int m, n, a, b, p, Q, x, y;
ll c[M + 5], d[M + 5], fac[C + 5], nif[C + 5], ans;
ll ca[C + 5], cb[M + 5], na[C + 5], nb[M + 5];
ll cc[M + 5];

ll ksm(ll x, ll y) {
    ll s = 1;
    for(; y; y /= 2, x = x * x % mo)
        if(y & 1) s = s * x % mo;
    return s;
}

ll Ci(ll a, ll b) { return fac[a] * nif[b] % mo * nif[a - b] % mo;}

int main() {
    freopen("table.in", "r", stdin);
    freopen("table.out", "w", stdout);
    fac[0] = 1; fo(i, 1, C) fac[i] = fac[i - 1] * i % mo;
    nif[0] = 1; nif[C] = ksm(fac[C], mo - 2);
    fd(i, C - 1, 1) nif[i] = nif[i + 1] * (i + 1) % mo;
    scanf("%d %d %d %d %d %d", &m, &n, &a, &b, &p, &Q);

    ca[0] = cb[0] = 1; ca[1] = a; cb[1] = b;
    na[0] = nb[0] = 1; na[1] = ksm(a, mo - 2); nb[1] = ksm(b, mo - 2);
    fo(i, 2, C) ca[i] = ca[i - 1] * ca[1] % mo, na[i] = na[i - 1] * na[1] % mo;
    fo(i, 2, M) cb[i] = cb[i - 1] * cb[1] % mo, nb[i] = nb[i - 1] * nb[1] % mo;
    cc[0] = 1; cc[1] = (ll) (mo - b) * ksm(a, mo - 2) % mo;
    fo(i, 2, M) cc[i] = cc[i - 1] * cc[1] % mo;

    fo(i, 1, n) scanf("%lld", &c[i]);

    for(; Q; Q --) {
        scanf("%d %d", &x, &y);
        if(x == p) {
            printf("%lld\n", c[y]);
        } else
        if(x < p) {
            int u = p - x;
            ans = 0;
            fo(i, 1, y) ans += c[i] * Ci(u + (y - i) - 1, u - 1) % mo * na[u] % mo * cc[y - i] % mo;
            printf("%lld\n", ans % mo);
        } else {
            int u = x - p;
            ans = 0;
            fo(i, max(1, y - u), y)
                ans += c[i] * Ci(u, y - i)  % mo * cb[y - i] % mo * ca[u - (y - i)] % mo;
            printf("%lld\n", ans % mo);
        }
    }

}
Canal数据库增量日志解析:从原理到生产环境部署与调优 在数据驱动的现代架构中,数据库变更数据捕获(CDC)是实现实时数据同步、缓存更新和搜索索引构建的核心技术。其原理是通过解析数据库的二进制日志(binlog),将数据变更事件转化为可被下游系统消费的消息流。这项技术的核心价值在于实现了业务逻辑与数据同步的解耦,无需侵入业务代码即可实现低延迟、高一致性的数据流动。在实时数仓、微服务数据分发等应用场景中,CDC技术至关重要。本文聚焦于阿里巴巴开源的Canal,它通过模拟MySQL从库协议实时拉取并解析binlog,扮演了数据库变更事件的“翻译官”和“搬运工”角色。 阅读详情

相关推荐

别再手动算降雨量了!用GEE+CHIRPS数据,5分钟搞定区域年/月/日降水统计

本文详细介绍了如何利用Google Earth Engine(GEE)和CHIRPS数据实现降水统计自动化,大幅提升科研效率。通过GEE平台,用户无需手动下载和处理数据,5分钟内即可完成区域年/月/日降水统计,并生成可视化图表和统计报表。文章还提供了核心代码示例和实战经验,帮助读者快速掌握这一高效工具。

weixin_30952535的博客 657

JZOJ 5622. 【NOI2018模拟4.2】table

JZOJ 5622. 【NOI2018模拟4.2】table DescriptionInputOutputSample Input输入样例一5 4 1 1 3 5 1 0 0 0 5 2 3 1 1 2 10 2 5 3 8 1Sample Output输出样例一2 1 998244351 1 0输出样例二110343631 1182117

Felix-Lee的博客 268

梯级水电站调度优化建模:程序集结构、算法与实战解析

在水利电力系统优化中,梯级水电站联合调度是一个典型的复杂大系统优化问题,其核心难点在于水头、库容与出力之间的非线性关系,以及水量平衡、生态流量等多重约束的耦合处理。针对这一场景,实用化的建模工具与求解算法至关重要。动态规划在中小规模算例中可提供全局最优解,而粒子群算法等智能优化方法则在处理高维、非线性工程问题时展现出灵活性与高效性。通过一个覆盖数据预处理、模型构建、算法求解到结果可视化的完整程序集,工程人员可以快速复现调度优化流程,并将模块化代码改造为适配自身论文或竞赛需求的实验平台。本文从工程实践角度拆解

weixin_34038293的博客 606

[JZOJ5623]【NOI2018模拟4.2】program

Description Solution 注意到指针的移动是连续的 那么不妨在序列最前面加上足够的”&gt;”,再将整个程序用链表从1跑一遍,那么运行区间[L,R]一定相当于整个程序某一段时间的结果 那么只需要记录两个数组F[i],G[i]F[i],G[i]F[i],G[i]分别表示第一次从i-1到i的时间,第一次从i到i-1的时间 这个在跑的时候就可以算出(注意计算被删掉位...

Never give in. 359

【PLC】三菱PLC控件安装疑难解析:Error Number:-119的全面解决方案

本文针对三菱PLC控件安装过程中常见的Error Number:-119错误,提供了深度解析与实战解决方案。该错误通常源于Windows系统权限限制或文件冲突。文章从理解错误本质入手,逐步介绍了以管理员身份运行、手动注册DLL文件、采用新版环境搭配旧版控件的黄金组合以及系统环境修复等四大招法,帮助用户彻底解决这一安装难题,确保工控软件稳定运行。

jj890的博客 496

Vue3+Vite+Electron桌面应用开发:从零到打包的完整避坑指南

本文是一份详尽的Vue3+Vite+Electron桌面应用开发实战指南。文章从项目初始化、环境配置、主进程构建、Vite深度优化,到最终的打包配置与优化,系统性地讲解了使用现代前端技术栈开发跨平台桌面应用的完整流程,并重点分享了开发与打包过程中的常见“坑点”与解决方案,旨在帮助开发者高效构建稳定可交付的桌面端应用。

hh234的博客 109

【NOI2018模拟3.10】占领

Description:题解:第一问是经典的dp。先随便选一个作为根。设fif_i表示i已经被占,占领其子树需要的最少步数。转移就把i的子节点的f值从大到小排序,fi=max(fson+numson)f_i = max(f_{son}+num_{son})之后考虑换根,没有什么区别,维护前缀max,后缀max就行了。第二问的话考场时没有想到,太弱了。把a-b的路径提出来,O(n2)O(n^2)就是枚

Cold_Chair的博客 614

VLA-JEPA:具身智能中潜空间世界模型的工程落地实践

世界模型是具身智能实现环境理解与因果推演的核心基础,其本质是在状态空间中建模‘动作→结果’的动力学规律。传统基于像素或文本的世界模型因高维、非平稳、弱语义等缺陷,在真实机器人场景中鲁棒性差、部署成本高。JEPA(联合嵌入预测架构)通过构建物理约束的潜空间,将视觉-语言-动作(VLA)信号统一编码为低维、可微、可解释的状态表征,显著提升模型对抖动、遮挡、光照突变等干扰的适应能力,并支持实时闭环控制。该范式已在UR5e、Franka等多构型机械臂及Jetson边缘平台完成实测验证,成为VLA系统从实验室走向产线

weixin_34357928的博客 336

[JZOJ5622]【NOI2018模拟4.2】table

Description Solution在数表中向下走一次乘上a,向右下走一次乘上b那么对于在第p行以下的位置,计算第p行每一个对它的贡献,乘上组合数(路径数)乘上a和b的对应次方对于在p行以上的位置,化式子 fi,j=afi−1,j+bfi−1,j−1f_{i,j}=af_{i-1,j}+bf_{i-1,j-1} fi,j=1afi+1,j−bafi,j−1f_{i,j}={1\over a

Never give in. 299

【100%通过率】华为OD机试真题 C++ 实现【水库蓄水问题】【2022.11 Q4 新题】

给定一个长度为 n 的整数数组height。数组的元素表示山的高度,选择两个元素作为水库的边界,求蓄水量的最大值并输出蓄水量最大时的边界下标(蓄水量相同时输出下标较近的)。

MISAYAONE的博客 1万+

GaussDB本地安装手册(主备模式)

如果实例状态是Normal,则安装成功。三节点集中式配置文件。

Sebastien23的博客 2635

JZOJ 5616. 【NOI2018模拟3.31】沧海尘记

JZOJ 5616. 【NOI2018模拟3.31】沧海尘记 DescriptionInputOutputData ConstraintSolution 观察题目,就可以得出有变换:Ai=∑j=1nAj∗Pi,jA_i=\sum_{j=1}^{n}{A_j*P_{i,j}} 那么用 O(N3)O(N^3) 的高斯消元就可以通过 52% 的数据。 要 AC 此题,就要用到 MCMC(Markov Chain-M

Felix-Lee的博客 410

7、RNA 二级结构预测:包含接吻发夹基序的新策略

本文提出三种用于预测RNA二级结构中接吻发夹基序的新策略,结合规范化规则与非歧义动态规划,分别在时间与空间复杂度之间进行权衡。策略A以O(n⁴)时间和O(n²)空间实现高效预测;策略B通过存储次优结果扩大搜索空间,空间复杂度升至O(n³);策略C全面探索组合可能,时间复杂度为O(n⁵),但保持O(n²)空间。实验表明不同策略适用于不同复杂度的序列,为RNA结构预测提供了灵活且可扩展的解决方案。

j7k8l的博客 132

JZOJ5622. 【NOI2018模拟4.2】table

题目 题目大意 就是给出一个非常类似杨辉三角形的数表的某一行, 然后求出对应位置的值。 题解 最暴力的做法就是将整个数表都算出来。 考虑p=1的部分, 可以发现一个位置斜向下走就是乘b,向下走就是乘a, 求一个位置的值,就可以转化成第一行每一个数乘上一个系数的和, 这个系数就是a和b的几次方再乘一个组合数(方案数)。 同理对于p=n的部分, 向右走就是乘-b/a,向下走就...

lijf2001的博客 248

2026.5.3:Ubuntu26.04下uv所需的环境变量pyproject.toml

本文档提供了Python开发环境的配置指南。主要包括: 设置环境变量(HF_ENDPOINT、UV_PYTHON_INSTALL_MIRROR等) 创建pyproject.toml配置文件,定义项目元数据(名称、版本等) 指定依赖项(torch系列库)及其安装源(PyTorch官方CUDA 12.8镜像) 配置Python版本要求(>=3.13,<3.14) 设置平台限制(Linux/Windows) 该配置适用于需要PyTorch CUDA 12.8支持的项目开发环境搭建。

拥抱具身智能,昇腾Ascend C 591

openlayers6/7 行政区划裁剪 只显示某个区域 示例为天地图

openlayers6/7 行政区划裁剪 只显示某个区域 示例为天地图。

qq_36287830的博客 3104

【JZOJ5622】【NOI2018模拟4.2】table(组合数学)

Problem Input Output Hint Solution 40points   前8个点的n和m较小,可以直接暴力求出数表中的每个数。   时间复杂度:O(nm)O(nm)O(nm)。 Code   Code就不贴了,毕竟后面的60points方法也有这部分。 60points   我们考虑第9~12个点,即p=1的情况...

qq_36551189的博客 290

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

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

NOIP提高组2010-2015初赛+模拟2

NOIP2010 1、提出“存储程序”的计算机工作原理的是()。 A)克劳德•香农 B)戈登•摩尔 C)查尔斯•巴比奇 D)冯•诺依曼 【分析】选择D A引入热力学“熵”的概念,信息学的创始人 B摩尔定律,计算机性能每隔约两年将翻一番 C现代计算机鼻祖,设计差分机和分析机2.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理

qq_39951289的博客 3179

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

NOIP2017赛前模拟 Table(双向链表)

题意:  给一个N*M的矩阵,每次交换两个形状完全相同的且互不重叠而且没有公共边界的子矩阵,输出最后结果。 题解:  给每个点挂一个链表记录它右边和下面的点  %%%凯爷 链表大佬#include<bits/stdc++.h> using namespace std; const int N = 1005; const int MaxN = 1005003; int n,m,q,num,v[

Assmel 601

linux替换class文件无效,tomcat替换.class文件并没有生效的原因(失效原因)(转)...

紧急关头难免会替换class文件,但一定要注意一下几点。1、小心class内中的project 的类的后,替换文件需要加上 $classMapper这个类, 编译成class的时候,会把public class 中的protected class 编译为$.class , 所以替换的时候也要找到这个class替换上, 不过对于这中替换,最好是打成war包替换.2、替换完class,是否需要重启容器...

weixin_39854867的博客 2081

别再死记硬背!用‘简单计算器’案例深入理解C++中的switch和if-else选择结构

本文通过‘简单计算器’案例深入解析C++中switch和if-else选择结构的应用与区别,帮助读者理解编程中的决策逻辑。文章结合信息学奥赛(NOI)和OpenJudge的实践标准,探讨两种结构在代码可读性、执行效率及工程实践中的优劣,适合编程初学者和竞赛选手提升编程思维。

weixin_33709609的博客 655

从整数溢出到高精度计算:算法竞赛与工程实践中的数据处理

整数是编程中最基础的数据类型之一,其表示和运算原理直接关系到程序的正确性与性能。在底层,整数通常以二进制补码形式存储,有固定的位数限制,这导致了整数溢出这一常见问题。从技术价值看,正确处理整数溢出不仅是算法竞赛的考点,更是保障金融计算、游戏逻辑等关键系统稳定性的工程要求。应用场景广泛,从简单的计数器到高精度科学计算,都需要根据数据规模选择合适的数据类型和算法。本文以高精度计算和动态序列处理为例,探讨如何将竞赛中的数据结构思想应用于实际工程,解决大整数运算和序列维护等挑战。

weixin_30394981的博客 342

NOCA架构:基于通知导向范式的下一代计算机体系结构设计

计算机体系结构的发展始终围绕着如何更高效地执行计算任务。从经典的冯·诺依曼架构到数据流计算,核心目标都是突破顺序执行的瓶颈,挖掘并行潜力。通知导向范式(NOP)提出了一种以“状态变化”为驱动的反应式计算模型,其核心思想是计算仅由事件触发,而非固定的程序流。这种范式在硬件层面的原生支持,催生了面向通知的计算机架构(NOCA)。NOCA通过设计专用的处理器集群和基于发布-订阅模式的通知网络,将NOP的计算图直接映射到硬件,实现了隐式并行和极低冗余计算。其价值在于为事件驱动型应用,如物联网实时控制、复杂事件处理和

weixin_30443075的博客 745

Layui-Admin企业级后台管理系统:传统与现代技术融合的实战解决方案

在数字化转型浪潮中,企业后台管理系统开发面临诸多挑战:技术选型复杂、开发周期长、维护成本高、团队协作效率低。Layui-Admin后台管理系统通过创新的"传统iframe+现代Vue"架构,为企业提供了一套开箱即用的高效解决方案。这套系统不仅继承了传统多页应用的稳定性优势,还融入了现代前端开发的响应式数据绑定特性,为企业级应用开发带来了革命性的效率提升。 ## 企业后台开发的核心痛点与Layui

gitblog_00237的博客 984

Java图书管理系统CRUD实战与数据库设计

CRUD(增删改查)是软件开发的基础操作,如同编程界的四则运算。在Java开发中,结合MySQL数据库实现高效的CRUD操作需要关注数据库设计、事务管理和性能优化。通过合理的表结构设计(如使用自增主键、唯一索引)和SQL优化(避免SELECT *),可以显著提升系统性能。在图书管理系统等实际应用中,还需要处理数据校验、并发控制和缓存策略等技术难点。本文以图书管理为例,详细讲解如何使用Java+MyBatis实现包含事务处理、分页查询和批量操作的企业级CRUD功能,并分享Redis缓存优化和接口幂等性设计等实

weixin_30697239的博客 406

Spring事务回滚机制深度解析:从原理到实战避坑指南

事务是保障数据库操作原子性、一致性、隔离性和持久性(ACID)的核心机制。其原理基于数据库的提交与回滚能力,确保一组操作要么全部成功,要么全部失败。在Java企业级开发中,Spring框架通过声明式事务管理,将这一复杂机制简化为@Transactional注解,极大地提升了开发效率。其技术价值在于实现了业务逻辑与事务管理的解耦,通过AOP动态代理,在运行时为方法添加事务边界控制。典型应用场景包括电商下单、金融转账等需要强数据一致性的业务。本文聚焦于Spring事务管理的核心——回滚机制,深入剖析其触发条件、

weixin_30411819的博客 326
上一篇: NTT(快速数论变换)和多项式求逆学习小记
下一篇: 2018 SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛 总结
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值