好看的网站页面设计中企动力网站模板

news/2025/9/26 2:30:45/文章来源:
好看的网站页面设计,中企动力网站模板,设计网站大全扣西湖南岚鸿首选,丹棱县 网站建设problem luogu-P3242 solution 本题的难点在于如何判定路径之间是否覆盖。 这里我们尝试树常见的 dfs\text{dfs}dfs 序。 考虑 x−yx-yx−y 路径如果要覆盖 u−vu-vu−v 路径需要满足怎样的条件。 以下均假设 dfs(u)dfs(v),dfs(x)dfs(y)dfs(u)dfs(v),dfs(x)dfs(v),dfs(x)dfs(y)dfs(u)dfs(v),dfs(x)dfs(y)dfs(u)dfs(v),dfs(x)dfs(y)。 lca(u,v)≠ulca(u,v)\ne ulca(u,v)​u。 xxx 必须是 uuu 子树内的一点yyy 必须是 vvv 子树内的一点。 我们记点 iii 子树内的 dfs\text{dfs}dfs 序列对应连续区间为 [l(i),r(i)][l(i),r(i)][l(i),r(i)]。 则要 l(u)≤l(x)≤r(u)∧l(v)≤l(y)≤r(v)l(u)\le l(x)\le r(u)\wedge l(v)\le l(y)\le r(v)l(u)≤l(x)≤r(u)∧l(v)≤l(y)≤r(v)。 其实我们可以将 (l(x),l(y))(l(x),l(y))(l(x),l(y)) 当成一个点的坐标 将 (l(u),l(v))−(r(u),r(v))(l(u),l(v))-(r(u),r(v))(l(u),l(v))−(r(u),r(v)) 看作左下角为 (l(u),l(v))(l(u),l(v))(l(u),l(v)) 右上角为 (r(u),r(v))(r(u),r(v))(r(u),r(v)) 的矩阵。 发现这个点就是落在这个矩阵内的。 所以问题就是某个点被若干个矩形包含求这里面的权值第 kkk 小的矩阵。 lca(u,v)ulca(u,v)ulca(u,v)u。 xxx 必须属于 u→vu\rightarrow vu→v 走的第一个点子树外的部分yyy 仍是 vvv 子树内一点。 即假设 uuu 到 vvv 的路径经过的 uuu 的儿子为 www即路径为 u→w→…vu\rightarrow w\rightarrow\dots vu→w→…v。 则要 1≤l(x)l(w)∨r(w)l(x)≤n1\le l(x)l(w)\vee r(w)l(x)\le n1≤l(x)l(w)∨r(w)l(x)≤nl(v)≤l(y)≤r(v)l(v)\le l(y)\le r(v)l(v)≤l(y)≤r(v)。 两个条件是独立的。 1≤l(x)l(w)1\le l(x)l(w)1≤l(x)l(w)对应矩阵 (1,l(v))−(l(w)−1,r(v))(1,l(v))-(l(w)-1,r(v))(1,l(v))−(l(w)−1,r(v))。r(w)l(x)≤nr(w)l(x)\le nr(w)l(x)≤n对应矩阵 (l(v),r(w)1)−(r(v),n)(l(v),r(w)1)-(r(v),n)(l(v),r(w)1)−(r(v),n)。 找 lcalcalca 和某个点的下面一个点可以倍增可以树链剖分好像是链剖分快点但我们不需要卡这么点常。 对于一个询问我们可以二分答案然后把所有权值不大于答案的矩阵激活统计包含该询问对应点的被激活的矩阵有多少个根据和 kkk 的关系移动二分端点。 所以我们可以对所有询问套一个整体二分。 而这个矩阵激活我们就可以扫描线地做。 对于 (x1,y1)−(x2,y2)(x1,y1)-(x2,y2)(x1,y1)−(x2,y2) 的矩阵我们以 xxx 轴做扫描线从左往右扫。 变成 (y1,y2,x1,1)(y1,y2,x1,1)(y1,y2,x1,1) 在 xx1xx1xx1 的时候把 [y1,y2]1[y1,y2]1[y1,y2]1(y1,y2,x21,−1)(y1,y2,x21,-1)(y1,y2,x21,−1) 在 xx2xx2xx2 的时候把 [y1,y2]−1[y1,y2]-1[y1,y2]−1。 数据结构仍然使用树状数组。 由于使用的是扫描线所以一开始要将所有询问按 xxx 排序并且将矩阵按权值排序。 且每次整体二分内部都要将权值属于 [l,mid][l,mid][l,mid] 区间的矩阵重新按 xxx 轴排序。 时间复杂度 O(nlog⁡2n)O(n\log^2n)O(nlog2n) 。 code #include cstdio #include vector #include iostream #include algorithm using namespace std; #define maxn 40005vector int G[maxn]; int dep[maxn], st[maxn], ed[maxn]; int f[maxn][16]; int cnt;void dfs( int u, int fa ) {dep[u] dep[fa] 1, f[u][0] fa, st[u] cnt;for( int i 1;i 16;i ) f[u][i] f[f[u][i - 1]][i - 1];for( int v : G[u] ) if( v ^ fa ) dfs( v, u );ed[u] cnt; } int lca( int u, int v ) {if( dep[u] dep[v] ) swap( u, v );for( int i 15;~ i;i -- ) if( dep[f[u][i]] dep[v] ) u f[u][i];if( u v ) return u;for( int i 15;~ i;i -- ) if( f[u][i] ^ f[v][i] ) u f[u][i], v f[v][i];return f[u][0]; } int top( int u, int d ) {for( int i 15;~ i;i -- ) if( d i 1 ) u f[u][i]; return u; }int cntg, n, m1, m2; int ans[maxn]; struct scan { int l, r, x, op; }s[maxn 2]; struct matrix { int x1, y1, x2, y2, w; }g[maxn 2]; struct query { int x, y, k, id; }q[maxn], L[maxn], R[maxn];namespace BIT {int t[maxn];void add( int l, int r, int k ) {for( ;l n;l l -l ) t[l] k;for( ;r n;r r -r ) t[r] - k;}int ask( int x ) {int sum 0;for( ;x;x - x -x ) sum t[x];return sum;} }void solve( int l, int r, int ql, int qr ) {if( ql qr ) return;if( l r ) { for( int i ql;i qr;i ) ans[q[i].id] g[l].w; return; }int mid l r 1; cnt 0;for( int i l;i mid;i ) {s[ cnt] (scan){ g[i].y1, g[i].y2, g[i].x1, 1 };s[ cnt] (scan){ g[i].y1, g[i].y2, g[i].x2 1, -1 };}sort( s 1, s cnt 1, []( scan a, scan b ) { return a.x b.x; } );int cntl 0, cntr 0, j 1;for( int i ql;i qr;i ) {for( ;j cnt and s[j].x q[i].x;j ) BIT :: add( s[j].l, s[j].r 1, s[j].op );int k BIT :: ask( q[i].y );if( q[i].k k ) L[ cntl] q[i];else q[i].k - k, R[ cntr] q[i]; }for( int i 1;i j;i ) BIT :: add( s[i].l, s[i].r 1, -s[i].op );//不一定把l~mid的矩阵都挂在了树上的for( int i 1;i cntl;i ) q[ql i - 1] L[i];for( int i 1;i cntr;i ) q[ql cntl i - 1] R[i];solve( l, mid, ql, ql cntl - 1 );solve( mid 1, r, ql cntl, qr ); }int main() {scanf( %d %d %d, n, m1, m2 );for( int i 1, u, v;i n;i ) {scanf( %d %d, u, v );G[u].push_back( v );G[v].push_back( u );}dfs( 1, 0 );for( int i 1, u, v, w;i m1;i ) {scanf( %d %d %d, u, v, w );if( st[u] st[v] ) swap( u, v );int x lca( u, v );if( x ^ u ) g[ cntg] (matrix){ st[u], st[v], ed[u], ed[v], w };else {x top( v, dep[v] - dep[u] - 1 );if( st[x] ^ 1 ) g[ cntg] (matrix){ 1, st[v], st[x] - 1, ed[v], w };if( ed[x] ^ n ) g[ cntg] (matrix){ st[v], ed[x] 1, ed[v], n, w };}}for( int i 1, u, v, k;i m2;i ) {scanf( %d %d %d, u, v, k );if( st[u] st[v] ) swap( u, v );q[i] (query){ st[u], st[v], k, i };}sort( q 1, q m2 1, [](query a, query b) { return a.x b.x; } );sort( g 1, g cntg 1, [](matrix a, matrix b){ return a.w b.w; } );solve( 1, cntg, 1, m2 );for( int i 1;i m2;i ) printf( %d\n, ans[i] );return 0; }

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

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

相关文章

永久免费自助建站wordpress自定义评论

【整体思路】 【常用不等式】

网站有pc站和手机站wordpress html代码

C 标准库中的 <algorithm> 头文件包含了一系列非常有用的算法函数&#xff0c;这些函数可以用于处理容器&#xff08;如向量、列表、数组等&#xff09;中的元素。这些算法可以极大地简化编程任务&#xff0c;使代码更加简洁和易于理解。 以下是一些 <algorithm> …

网站页面统计代码wordpress 协会主题

最近两天在研究移动性能这块&#xff0c;这个的用处非常大&#xff0c;比如说在做性能测试的时候用top 或者 dstat 1的时候获取到的性能指标是非常实用的&#xff0c;即时获取的指标评估和分析系统瓶颈。再就是在自动化中调用性能指标&#xff0c;每一步导致的手机性能都即时打…

直播网站开发源码idc网站模板下载

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

设置vscode的默认字符编码

‌在Visual Studio Code中设置默认字符编码的核心方法是修改用户设置文件(settings.json),通过添加或修改files.encoding参数指定全局默认编码(如UTF-8或GBK),或按语言配置特定文件的编码规则。‌ 此设置可解决跨…

adb.exe: more than one device/emulator 杀掉旧的adb进程

adb devicesList of devices attached10AE121S1R001YU deviceadb-10AE121S1R001YU-FOqTvb._adb-tls-connect._tcp. offlineadb shelladb.exe: more than one device/emulator

个人做网站 优帮云页面模板 wordpress

Java中多态的特性&#xff0c;在学习中就是很难懂&#xff0c;比较抽象的概念。学的时候就犯糊涂&#xff0c;但日后会发现&#xff0c;基础在日常工作的理解中占有重要的角色。下面&#xff0c;我将用一个代码实例&#xff0c;回忆和巩固多态的概念和存在的意义。理解多态&…

阜阳网站网站建设分类信息网站 建议 建设

https://blog.csdn.net/lianghe_work/article/details/46503895一、tcp并发服务器概述一个好的服务器,一般都是并发服务器&#xff08;同一时刻可以响应多个客户端的请求&#xff09;。并发服务器设计技术一般有&#xff1a;多进程服务器、多线程服务器、I/O复用服务器等。二、…

浙里建官方网站c 高性能网站开发

话说公元198年7月15日&#xff0c;吴国大都督周瑜帐前&#xff0c;忽闻侍卫传报“报大都督&#xff0c;鲁肃求见”。 鲁肃进入周瑜营中&#xff0c;递上一纸SCRF公文&#xff0c;曰“报大都督&#xff0c;主公欲在我军PO&#xff08;采购单&#xff09;系统中添加一新字段 Ca…

Codeforces Round 1054 (Div. 3)

A. Be Positive 题意:一个数组\(a\),只包含\(-1, 0, 1\)。你每次可以使得一个数加一,求使得数组乘积为正的最少操作次数。 显然只需要操作\(-1\)或者\(0\)。\(0\)必须都加一。那么如果\(-1\)是偶数个,不需要操作,…

淘宝客户自己做网站怎么做wordpress小程序怎么不用认证审核

需求&#xff1a;一个机构下拉菜单&#xff0c;一个人员下拉菜单&#xff0c;默认带入当前登录用户的机构和人员。机构下拉菜单为两个接口&#xff0c;模糊查询为一个接口不包含懒加载&#xff0c;默认非模糊查询情况下为一个接口&#xff0c;点击节点懒加载。机构下拉菜单数据…

江西网站设计团队wordpress 不显示主题

在日常Mysql和Oracle数据库使用时&#xff0c;经常使用到查看表、索引等信息&#xff0c;记录下来&#xff0c;方便备查。 MySQL 主要是使用 information_schema 信息表&#xff1b; Oracle 主要是使用 各种视图&#xff0c;如user_ind_columns。 一、查看所有表 MySQL查看表…

百度网站联盟电商网站建设方案模板下载

namedtuple(具名元组) namedtuple是tuple的升级,目的是解决元组内部的数据进行命名的问题,为了说明namedtuple的优点,我们先看一下tuple的例子,如下代码,声明了课程的元祖,但是元组中两项内容没有说明,如果其他人看到代码不知道意思是什么 course = ("Python教程…

Natural Language Processing

NLP before LLM Context-free Grammar A context-free grammar (CFG) contains a set of production rules, which are rules saying how each nonterminal can be replaced by a string of terminals and non-termina…

东莞做企业宣传网站wordpress调用post的发布时间

1.基本使用 2.参数和返回值 函数里只有一行代码 log没有返回值&#xff0c;所以是undefined 结果为 Hello Demo undefined 箭头函数&#xff1a; 在函数作为另外一个函数参数的时候&#xff0c;适合用箭头函数 3.箭头函数的this 返回值都是window 返回值&#xff0c;一…

美橙互联建站网页制作基础教程第二章

Configuration 作用 Configuration 注解的核心作用是把一个类标记为 Spring 应用上下文里的配置类。配置类就像一个 Java 版的 XML 配置文件&#xff0c;能够在其中定义 Bean 定义和 Bean 之间的依赖关系。当 Spring 容器启动时&#xff0c;会扫描这些配置类&#xff0c;解析其…

网站上传不了北海网站建设服务商

一、OCPP协议介绍 OCPP的全称是 Open Charge Point Protocol 即开放充电点协议&#xff0c; 它是免费开放的协议&#xff0c;该协议由位于荷兰的组织 OCA&#xff08;开放充电联盟&#xff09;进行制定。Open Charge Point Protocol (OCPP) 开放充电点协议用于充电站(CS)和任何…

中国太空网站做网站还是网页设计

1.理解用户级线程 我们前面用到的所有跟线程有关的接口全部都不是系统直接提供的接口&#xff0c;而是原生线程库pthread提供的接口。我们前面谈到了由于用户只认线程&#xff0c;而linux操作系统是通过用轻量级进程模拟线程&#xff0c;并不是真正的线程&#xff0c;所以linu…

南京华典建设有限公司网站专门做旅游的网站有哪些

Broker内存映射机制与高效磁盘 RocketMQ在存储涉及中通过内存映射、顺序写文件等方式实现了高吞吐。 RocketMQ的基本数据结构: CommitLog:RocketMQ对存储消息的物理文件的抽象实现&#xff0c;也就是对物理CommitLog文件的具体实现。MappedFile:CommitLog文件在内存中的映射文…

邢台网站制作哪里做什么是互联网公司

jar命令格式&#xff1a;jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名其中{ctxu}这四个参数必须选选其一。[v f m e 0 M i ]是可选参数&#xff0c;文件名也是必须的。所有的参数说明&#xff1a;-c 创建一个jar包-t 显示jar中的内容列表-x 解压jar包-u 添加文件到jar包中-…