mns 1118

A

同步率竟然高达个位数 /kk。看来是没救了,这么简单的 dp 都没有想出来。

B

这有蓝?这有蓝?这有蓝?这有蓝?这有蓝?这有蓝?这有蓝?这有蓝?

前置知识

本文假设你有 小学二年级 高三水平,要求你知道:

  • 导数的概念与基本性质

题意

给你两个\(m\) 次多项式 \(F\)\(G\),每一次同时:

  • \(F \leftarrow G - G'\)
  • \(G \leftarrow F + F'\)

\(n\) 次,求做完之后的 \(F\)\(G\)

解法

众所周知,看到这种大数学题,我们应该 找 规 律

考虑从 \(F\) 开始变换:

\(F_0 = F\)

\(G_1 = F - F'\)

\(F_2 = G_1 + G_1' = F - F' + F' - F'' = F - F''\)

\(G_3 = F_2 - F_2' = F - F' - F'' + F'''\)

\(F_4 = G_3 + G_3' = F - F' - F'' + F''' + F' - F'' - F''' + F'''' = F - 2F'' + F''''\)

容易瞪出 \(F_{2n} =\)

\[\sum \limits_{i = 0}^n (-1)^i F^{(2i)} \binom{n}{i} \]

证明:

其中 \(F^{(n)}\)\(F\)\(n\) 阶导数 (如果你连这都不知道建议小学二年级重修)
考虑把 F 作为自变量而把求导的次数当作次数,这样我们就得到了一个新的多项式。如上所示,每两次操作就是乘上 \(1 - x^2\)。所以直接展开 \((1 - x^2)^n\) 就可以得到这个结论了。

实现得小心一点是可以做到 \(O(m^2)\) 的。

//#define DEBUG
#include <bits/stdc++.h>
#ifdef DEBUG
#include <windows.h>
#endif
#define int ll
#define ctz __builtin_ctzll
#define popc __builtin_popcountll
#define lowbit(x) ((x) & -(x))
#define ct1(x) ctz((x) + 1)
using namespace std;
using ll = long long;
const int kMod = int(1e9) + 7, kInf = 0x3f3f3f3f3f3f3f3f;
template<class T>T read(istream &is = cin) {T x;is >> x;return x;
}
int readInt(istream &is = cin) {return read<int>(is);}
template<typename T>
T qpow(T x, T y, T k = 0) {if (x == 0 && y == 0) return k;if (x == 0) return 0;x %= kMod;T res = 1;while(y) {if (y & 1) res = 1ll * res * x % kMod;x = 1ll * x * x % kMod;y >>= 1;}return res;
}
int qinv(int x) {return qpow(x, kMod - 2);}
random_device rd;
mt19937_64 mt(rd());int n, m, inv[20020];
vector<int> f, g, ff, gg;// 注意由于 n 可以特别大,这里是不能预处理组合数的,求组合数看下面
void precal() {for(int i = 1; i <= 20000; i++) inv[i] = qinv(i);
}
int C(int x, int y) {if(x < 0 || y < 0 || x < y) return 0;if(y == 0) return 1;return C(x - 1, y - 1) * x % kMod * inv[y] % kMod;
}void daoguan(vector<int> &v) {for(int i = 0; i < int(v.size()) - 1; i++) {v[i] = v[i + 1] * (i + 1) % kMod;}v.back() = 0;
}
bool fin(vector<int> &v) {for(auto i : v) if(i) return 0;return 1;
}// cnt = m / 2
vector<int> FtF(vector<int> F, int cnt) {int fl = F.size();vector<int> res;res.resize(fl);for(int i = 0; i <= cnt; i++) {if(fin(F)) break; // 求导求成 0 了就可以不做了,这样子最多导 m + 1 次// 此处如果不这样实现,可以被轻松卡成三次方级别导致 TLEint tx = C(cnt, i);for(int j = 0; j < fl; j++) {res[j] = (res[j] + kMod + (i % 2? -1 : 1) * tx * F[j] % kMod) % kMod;}daoguan(F);daoguan(F);}return res;
}
// 处理上面的流程无法处理的边界
vector<int> FtG(vector<int> F) {int fl = F.size();vector<int> res = F;daoguan(F);for(int i = 0; i < fl; i++) {res[i] = (res[i] + kMod - F[i]) % kMod;}return res;
}
vector<int> GtF(vector<int> G) {int gl = G.size();vector<int> res = G;daoguan(G);for(int i = 0; i < gl; i++) {res[i] = (res[i] + G[i]) % kMod;}return res;
}signed main() {
#ifndef DEBUGios::sync_with_stdio(0);cin.tie(0), cout.tie(0);
#endifprecal();cin >> n >> m;f.resize(m + 1), g.resize(m + 1);for(int i = 0; i <= m; i++) cin >> f[i];for(int i = 0; i <= m; i++) cin >> g[i];f = FtF(f, n / 2);if(n % 2) gg = FtG(f);else ff = f;g = GtF(g); // 我懒得再推一遍了g = FtF(g, (n - 1) / 2);if((n - 1) % 2) gg = FtG(g);else ff = g;for(auto i : ff) cout << i << ' ';cout << '\n';for(auto i : gg) cout << i << ' ';cout << '\n';return 0;
}

C

场上没想出最优策略,场后看了题解醍醐灌顶,哎。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/969170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完整教程:临床研究标志物发现与机制探索:纯数据挖掘与“实验+服务”一站式方案,如何选择?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年闭口塑料罐批发厂家权威推荐榜单:塑料闭口罐/30L闭口罐/5L闭口罐源头厂家精选

在化工、医药、食品等工业领域,一只合格的闭口塑料罐背后,是材质、工艺与标准的长久考验。 闭口塑料罐作为工业包装的重要品类,其密封性、耐腐蚀性与结构稳定性直接关系到存储安全与运输效率。特别是在化工、医药、…

2025年山东一次性打包碗商用公司权威推荐榜单:一次性餐盒/合肥一次性打包碗订制/南京一次性外卖打包碗源头公司精选

随着环保政策推进与外卖行业扩张,临沂作为华东地区重要的塑料制品产业带,一次性碗打包盒产量占全国份额的约18% 。其中,环保型材料产品需求年增长率达25%,推动厂家向技术升级与规模化生产转型。 01 行业趋势:山东…

2025.11.17 周作业 44 速通

A. CF2167E 简单题,二分,中间选连续段即可。 B. CF2167F 简单题,等价于判子树大小 \(\geq k\),换根部分拆贡献即可。 C. CF2144D 简单题,调和级数秒了。 D. CF1791G2 简单题,二分排序贪心,但是要注意第一个只能…

2025年成套高低压柜实力厂家权威推荐榜单:高低压成套配电柜/高低压柜厂家成套/高低压开关柜成套源头厂家精选

中国输配电设备市场规模在2024年已突破5400亿元,其中成套高低压柜作为电力系统的核心设备,年需求量增长率稳定在12%以上。 成套高低压柜凭借其标准化设计、集成化配置和可靠的安全性能,已成为现代电力系统中不可或缺…

2025年广东治疗焦虑医院服务权威推荐榜单:广州治疗心理医院/广东治疗癫痫医院/广州心理医院服务精选

随着社会压力增加,焦虑症已成为现代人常见的心理问题。广东地区医疗资源丰富,多家医院在焦虑症诊疗领域形成特色体系。本文基于医院专科实力、专家团队结构、诊疗技术配置及患者服务数据,筛选出三家具有代表性的焦虑…

[JOIGST 2024]-卡牌游戏 解题报告

原题链接 切入 由于\(n\le5\times10^5\),直接一眼贪心 首先要找出所有牌中的最大值\(maxn1\)以及其对应的颜色\(col1\),用来匹配与\(col1\)不同颜色的牌,只要有\(a_i+maxn1>0\),就可以添加至\(ans\)的贡献中 而对…

Android 15.0 系统下第三方输入法设置为默认输入法的实现指南 - 指南

Android 15.0 系统下第三方输入法设置为默认输入法的实现指南 - 指南2025-11-18 17:10 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto …

WPF MVVM进阶系列教程(四、ViewModel通信)

🧭 WPF MVVM入门系列教程一、MVVM模式介绍 二、依赖属性 三、数据绑定 四、ViewModel 五、命令和用户输入 六、ViewModel案例演示🍠 WPF MVVM进阶系列教程一、对话框 二、数据验证 三、使用依赖注入(Dependency In…

无菌药厂变频升级方案:ModbusTCP转Canopen高效适配方案

在现代工业自动化领域,无锡耐特森ModbusTCP转CanOpen协议转换网关发挥着至关重要的角色,特别是在诸如无菌药厂这样对环境要求极高的场合。ModbusTCP和CANopen是两种广泛使用的工业通信协议,它们各自在不同的设备和应…

2025 最新搅拌机源头厂家推荐排行榜:聚焦纳米级脱泡技术,权威测评脱泡搅拌机/真空搅拌机/锡膏搅拌机/行星式搅拌机/行星式重力搅拌机/离心脱泡搅拌机公司推荐

引言 在光伏、半导体、医疗器械等高端制造领域,材料混合精度与气泡处理效果直接决定产品核心竞争力。据国际机械制造协会(IMMA)最新测评数据显示,全球精密制造行业因气泡残留导致的产品合格率损失达 12%-18%,而纳…

linux arm编程

在 Linux 系统中进行 ARM 架构编程,通常涉及以下几方面:一、ARM 架构简介 ARM(Advanced RISC Machine)是一种精简指令集(RISC)架构,广泛用于嵌入式系统、移动设备(如手机、平板、智能手表等)以及某些服务器(…

linux arm教程

当然可以!以下是一些关于 Linux ARM 架构 的基础教程和常见命令,适合初学者和有一定经验的用户了解 ARM 架构在 Linux 中的应用。一、ARM 架构简介 ARM(Advanced RISC Machine)是一种精简指令集(RISC)架构,广泛…

iOS CPU 使用率监控的深度实践,构建从底层采样到系统日志的多工具性能分析体系

全面解析 iOS CPU 使用率监控方法,结合 Instruments、KeyMob、PerfDog、Safari Inspector、MetricKit 等工具,实现从底层采样到系统日志的多工具 CPU 性能分析体系。在 iOS 应用的性能体系中,CPU 使用率(CPU Usage…

目前市面上软床企业权威评测

摘要 软床行业在2025年迎来快速发展,消费者对睡眠质量的需求推动市场创新,注重舒适性、环保性和定制化服务。本文基于行业数据和用户反馈,权威评测2025年市面上Top5软床企业,并提供详细排名表单,帮助用户参考选择…

2025年分子防潮封堵剂制造企业权威推荐榜单:福州高分子防潮封堵剂/南京高分子防潮封堵剂/汨罗高分子防潮封堵剂源头厂家精选

根据QYResearch报告出版商调研统计,2031年全球高分子防潮封堵材料市场销售额预计将达到数百亿元。这类专门用于防水、防潮、防火和防止小动物进入的材料,正成为保障电力柜、通信设备等关键设施安全运行的重要防线。 …

2025年软床企业推荐:优秀企业榜单

摘要 软床行业在2025年持续蓬勃发展,随着消费者对睡眠质量要求的提升,软床公司、软床企业和软床工厂的市场竞争日益激烈。本文基于行业数据和用户口碑,为您呈现2025年软床企业推荐排行榜,帮助您快速找到可靠的合作…

vue3+ts项目自定义全局函数调用正常但IDE报异常类型ComponentPublicInstance上不存在属性“$showLoading

vue3+ts项目自定义全局函数调用正常但IDE报异常类型ComponentPublicInstance上不存在属性“$showLoading"如题,定义一个全局函数$showLoading,可以正常使用,但IDE报异常了,创建类型声明文件就可以了。 在 src…

31、用户授权 GRANT

1、查询权限:SHOW GRANTS FOR 用户名@主机名;2、授予权限:GRANT 权限列表 ON 数据库名.表名 TO 用户名@主机名;-- 立即生效 FLUSH PRIVILEGES;权限类型(privilege_type)权限说明ALL PRIVILEGES 所有权限SELECT 查询…