招商网站大全新网站大量收录好不好

张小明 2026/1/19 19:16:17
招商网站大全,新网站大量收录好不好,焦作黄河交通学院,中国的科技成就歉#xff1a;作者是在打代码之前就完成了文字部分#xff0c;转移方程的锅代码中修了#xff0c;文字部分没修#xff0c;在此致歉。【模板】动态 DP 加强版 题解该篇为题解。总文章#xff08;动态 dp 学习笔记#xff09;同步发表于 cnblogs。总文章#xff08;动态 …歉作者是在打代码之前就完成了文字部分转移方程的锅代码中修了文字部分没修在此致歉。【模板】动态 DP 加强版 题解该篇为题解。总文章动态 dp 学习笔记同步发表于 cnblogs。总文章动态 dp 学习笔记同步发表于 luogu。前置知识简单 dp树链剖分矩阵乘法和广义矩阵乘法P4719 【模板】动态 DP本文着重讲下修改的具体过程以及代码实现蒟蒻花了好长时间才明白。鏖战一天终于通过了板子题啊啊啊不带修简单树上 dp。考虑不带修改就是一个平凡的树上最大权独立集问题简单树上 dp 即可求解。设表示以为根子树中选不选所得到的树上最大权独立集的大小。转移是容易的带修了但是丧心病狂的出题人加上了修改点权考虑动态维护这个问题。发现树剖有一个性质跳重链至多次。设为的重儿子。为点所在重链的链头节点。为的父亲节点。然后修正我们的 dp 为表示以为根子树选不选的答案。表示以为根子树不选以重儿子为根子树中包括重儿子任何一个点时选不选的答案。设为点的儿子节点那么有转移转移改为使用广义矩阵乘法直接定义广义矩阵乘法。本文并不在广义矩阵乘这里深入展开具体可参考其他博客。作者还没完全搞懂。具体可参考 https://www.cnblogs.com/qkhm/p/19055513/ddp。当然如果你不会证明你也可以直接设三个矩阵然后暴力手算验证该新定义的矩阵是否满足结合律也是可行的。发现这个新的矩乘还是满足结合律不满足交换律单位矩阵是主对角线上是其他全都是。本题单位矩阵为设原树上点的答案矩阵为那么我们需要求出每个点的转移矩阵设为。定义完所有所需矩阵之后转移可以写为设写出完整矩阵转移的柿子为由待定系数法得出点的转移矩阵为那么转移可以写成那么一条重链上某一点的答案矩阵值可以用矩阵连乘计算链尾节点没有所以。手算发现乘之前的那个矩阵提出第一列构成一个矩阵后恰好是乘之后的答案矩阵。所以我们不用真正乘矩阵直接提取第一列即可。初始化那么我们就可以在线段树上维护区间矩阵连乘积了。注意矩阵乘法不满足交换律我的做法在合并区间时需要左右。具体实现时比较复杂。先两次 dfs 进行树链剖分。我们需要额外记录一个表示一条以为链首的那条重链的链底。再来一次 dfs 跑一遍树上 dp 初始化和数组。在 dfn 序上建线段树每个叶子节点记录它代表的树上点的转移矩阵。对于非叶子节点记录的矩阵为左儿子矩阵乘右儿子矩阵。查询答案时我们需要查询以根为链首的矩阵值可以通过线段树区间查询该重链的矩阵乘积得到。解决修改问题着重讲下修改的具体过程以及代码实现蒟蒻花了好长时间才明白。注意下文对的修改改的是矩阵里的值而不是数组的值。设我们要将树上点的权值改为。设原先点权为。首先开一个全局临时矩阵令。然后修改矩阵中的值也就是矩阵的第二行第一列那个位置的值。容易发现点对的贡献由原先的变为变化量为所以我们在矩阵中更改即可。然后我们考察的实际意义为一个点轻儿子的贡献。考虑有几个点的值需要更新。发现是点和跳链过程中每条链链顶的父亲其他点均不需要修改。由于每次查询根链最多跳条重链所以对应的转移矩阵只会有个得到修改加上线段树的复杂度就是的。复杂度得到证明。然后现在节点为开始跳链操作。先线段树区间查询所在重链的乘积为矩阵的第一列即为修改之前链顶的答案矩阵的值值。然后线段树单点修改点的转移矩阵将其变为。再线段树区间查询所在重链的乘积为矩阵的第一列即为修改之后链顶的答案矩阵的值值。设然后令意为令跳到所在重链链首的父亲。再次线段树单点查询出点所对应的转移矩阵令。考察对的贡献为。那么矩阵里的所有变化量即为。将和加上变化量即可。考察对的贡献为。那么矩阵里的所有变化量即为。将加上变化量即可。矩阵中仍为。重复执行上述过程直至时结束。即可完成修改。实现细节矩阵可以用的二维数组存储。矩阵乘可以循环展开。线段树上非叶子节点存储的矩阵为左儿子矩阵右儿子矩阵。Code#includebits/stdc.h#define int long long#define lp (p1)#define rp ((p1)|1)using namespace std;inline int read(){int x0,cgetchar(),f0;for(;c9||c0;fc-,cgetchar());for(;c0c9;cgetchar())x(x1)(x3)(c^48);return f?-x:x;}inline void write(int x){if(x0) x-x,putchar(-);if(x9) write(x/10);putchar(x%100);}#ifndef ONLINE_JUDGE#define ONLINE_JUDGE#endifconst int N1e65;int n,m;int a[N];int fa[N];int tail[N];int siz[N];int son[N];int dfn[N];int tod[N];int top[N];int id[N];int tot;vectorint E[N];const int inf1e12;struct Martix{int a[2][2]{};}I,t[N2];Martix nw;int f[N][2],g[N][2];int tid[N2];inline int max(int x,int y) { return xy?x:y; }Martix operator*(const Martix x,const Martix y){Martix ans;ans.a[0][0]max(x.a[0][0]y.a[0][0],x.a[0][1]y.a[1][0]);ans.a[0][1]max(x.a[0][0]y.a[0][1],x.a[0][1]y.a[1][1]);ans.a[1][0]max(x.a[1][0]y.a[0][0],x.a[1][1]y.a[1][0]);ans.a[1][1]max(x.a[1][0]y.a[0][1],x.a[1][1]y.a[1][1]);return ans;}Martix ksm(Martix x,int p){Martix ansI;while(p){if(p1) ansans*x;xx*x;p1;}return ans;}void dfs1(int p,int f){fa[p]f;siz[p]1;for(int to:E[p]){if(tof) continue;dfs1(to,p);siz[p]siz[to];if(siz[to]siz[son[p]]) son[p]to;}}void dfs2(int p,int tp){dfn[p]tot;id[tot]p;top[p]tp;tail[tp]p;if(son[p]) dfs2(son[p],tp);for(int to:E[p])if(!dfn[to]) dfs2(to,to);}void dfs3(int p,int fa){g[p][1]a[p];for(int to:E[p]){if(tofa) continue;dfs3(to,p);if(toson[p]) continue;g[p][1]f[to][0];g[p][0]max(f[to][0],f[to][1]);}f[p][0]g[p][0]max(f[son[p]][0],f[son[p]][1]);f[p][1]g[p][1]f[son[p]][0];}void pushup(int p){t[p]t[lp]*t[rp];}void build(int l,int r,int p){if(lr){tid[id[l]]p;t[p].a[0][0]t[p].a[0][1]g[id[l]][0];t[p].a[1][0]g[id[l]][1];t[p].a[1][1]-inf;return;}int mid(lr)1;build(l,mid,lp);build(mid1,r,rp);pushup(p);}Martix query(int l,int r,int sl,int sr,int p){if(p0) exit(0);if(sllrsr) return t[p];int mid(lr)1;Martix qlI,qrI;if(slmid) qlquery(l,mid,sl,sr,lp);if(srmid) qrquery(mid1,r,sl,sr,rp);return ql*qr;}void change(int l,int r,int x,int p,const Martix nw){if(lr){t[p]nw;return;}int mid(lr)1;if(xmid) change(l,mid,x,lp,nw);else change(mid1,r,x,rp,nw);pushup(p);}void change(int x,int y){nwt[tid[x]];nw.a[1][0]y-a[x];
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

自己做的网站不能用手机访问wordpress各函数

创意工作者必备:探索3D资源与图片搜索的完美融合工具 【免费下载链接】search-photos-by-model-tool https://x6ud.github.io 项目地址: https://gitcode.com/gh_mirrors/se/search-photos-by-model-tool 在这个视觉创意的黄金时代,找到合适的工具…

张小明 2025/12/25 9:14:53 网站建设

提供做网站公司wordpress文章分类目录

深入探索Gawk扩展开发:功能、操作与优化 一、输出包装器与双向处理器 1.1 输出包装器注册 在开发过程中,若要注册输出包装器,可使用如下函数: void register_output_wrapper(awk_output_wrapper_t *output_wrapper);此函数用于将 output_wrapper 所指向的输出包装器…

张小明 2025/12/25 9:14:55 网站建设

mvc5网站开发实战详解网页浏览器设置在哪里

轻松上手!AI语音控制Blender的BlenderMCP实战指南 【免费下载链接】blender-mcp 项目地址: https://gitcode.com/GitHub_Trending/bl/blender-mcp 你是否想过用简单的语音指令就能在Blender中创建复杂的3D场景?是否希望在旅途中通过手机就能远程…

张小明 2025/12/25 9:14:55 网站建设

无锡网站建设收费基于淘宝的网站开发分析

Tesseract 3.0重磅发布:开源OCR引擎迎来中文支持新纪元 【免费下载链接】Nanonets-OCR-s 项目地址: https://ai.gitcode.com/hf_mirrors/nanonets/Nanonets-OCR-s 在光学字符识别(OCR)技术领域,一场期待已久的更新正式落地…

张小明 2026/1/15 2:25:00 网站建设

徐州专业做网站网站建设中 敬请期待 源码

在追求极致效率的数字时代,键盘快捷键工具正掀起一场操作革命。告别繁琐的鼠标点击,掌握这些闪电般的快捷键技巧,让你的工作效率实现翻倍增长!🔥 【免费下载链接】MouseInc.Settings MouseInc设置界面 项目地址: htt…

张小明 2026/1/9 9:07:54 网站建设

深圳坂田网站设计公司有哪些徐州网商天下

基于Django与Ansible的自动化运维管理系统设计与实现 基于Django与Ansible的自动化运维管理系统:毕业设计的完美选择 在当今快速发展的IT行业中,自动化运维已成为企业提升效率、降低成本的必由之路。对于计算机科学和软件工程专业的学生而言&#xff0…

张小明 2026/1/19 17:34:46 网站建设