cojs 奈特 题解报告

才知道knight念奈特,而不念科耐特

这个题显然是一个数据结构题目,我搬运的CF上的题

CF的题解好长超长哒,而且可以在线,但是并不能看懂

于是自己想了一个一种做法A掉了,唯一的缺陷就是做法有些繁琐

首先我们把所有操作离线,之后给节点打上时间标记,从来没有被暴揍过的城市时间为m+1

之后我们考虑对于一个查询,什么样子的城市国王不会休息

显然这个城市的时间标记>=val,但是这样还不够,如果这个城市的时间标记大于当前时刻i,证明在当前查询的时候它并没有被暴揍

所以一个城市国王不会休息的充要条件是时间标记>=val且时间标记<=i

我们现在要做的事情就变成了查询u到v的链上有多少个不会被休息的城市

当然,用链上的总城市减去不会被休息的城市就是会被休息的城市数量

这在离线之后显然是可以通过一颗主席树搞定的

对于题目中要求第k个休息的城市,我们预处理倍增数组在树上倍增查询就可以啦

因为是从u走到v,所以先判断答案是-1还是在u-lca的链上还是在lca-v的的链上

细节有些繁琐,不过码码码就好啦

自己写的程序如果把每个节点的主席树定义为他的父亲到根的所有存在状态可能就会好写的多啦

不然每次查询后面都要缀一个特判QAQ

时间: 2024-10-25 14:21:23

cojs 奈特 题解报告的相关文章

cojs 榴莲 题解报告

首先这道题目是求第k大 求第k大我们有逐位确定,主席树,整体二分等等方法 首先我们考虑如何处理每个询问 我们可以二分答案k,之后扫一遍之前的操作 我们只需要知道有多少个权值>=k的操作经过当前点u就可以啦 这显然是直接维护的(这里并不需要数据结构) 之后我们考虑对询问整体二分 那么我们需要维护数据结构来完成查询多少个权值>=k的操作经过某个点 我们会发现两个操作对于上面这个询问的贡献是可分离的 不妨分开来考虑,首先对于子树修改,显然我们对DFS序维护一棵线段树就可以了 当然,我们也可以差分之后

cojs 强连通图计数1-2 题解报告

OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一改就可以了 首先我们考虑不合法的方案强连通分量缩点后一定是DAG 考虑子问题:DAG计数 做法可以参考<cojs DAG计数1-4 题解报告> 这里给出转移方程 f(n)=sigma((-1)^(k-1)*C(n,k)*2^(k*(n-k))*f(n-k)) 如果考虑上强连通分量缩点的情况呢? 我

2016 年宁波工程学院第七届ACM校赛题解报告

2016 年宁波工程学院第七届ACM校赛题解报告 本题解代码直接为比赛代码,仅供参考. A,B,C,D,G,H,J,K,L,M 来自 Ticsmtc 同学. F 来自 Gealo 同学. E,I 来自Alex 学长. Promblem A :    Two Sum 时间限制: 1 Sec  内存限制: 64 MB 题目描述: 给出n个数,另外给出?个整数S,判断是否可以从中取出2个数,使得这两个数的和是S. 输入: 第?行有个整数T(1 <= T <= 10),代表数据组数. 对于每组数据,第

线段树&#183;题解报告

线段树·题解报告 参考资料 ·课件 线段树 --刘汝佳 统计的力量,线段树全接触 --张昆玮 ·Blog [完全版]线段树 从普通线段树到zkw线段树 [总结][数据结构]ZKW线段树详解 选题目录 · Hdu1166 敌兵布阵(单点更新,区间求和) · Hdu1754 I Hate It(单点更新,RMQ) · Hdu3308 LCIS(单点更新,区间并) · Poj3468 A Simple Problem with Integers(区间加减,区间求和) · Poj2777 Count C

题解报告:hdu 1162 Eddy&#39;s picture

Problem Description Eddy begins to like painting pictures recently ,he is sure of himself to become a painter.Every day Eddy draws pictures in his small room, and he usually puts out his newest pictures to let his friends appreciate. but the result i

题解报告:poj 3320 Jessica&#39;s Reading Problem(尺取法)

Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The final exam is coming, yet she has spent little time on it. If she wants to pass it, she has to master all ideas included in a very thick text book. The au

题解报告:poj 2480 Longge&#39;s problem(欧拉函数)

Description Longge is good at mathematics and he likes to think about hard mathematical problems which will be solved by some graceful algorithms. Now a problem comes: Given an integer N(1 < N < 2^31),you are to calculate ∑gcd(i, N) 1<=i <=N. 

题解报告(CDUT暑期集训——第三场)

题解报告(CDUT暑期集训--第三场) A - Problem A. Ascending Rating HDU - 6319 思路:单调队列板子题?(但是弱的一批的我还是不会用(有空补上 用的滑动窗口算法 按着题解的从后往前做(ps:菜是原罪 AC代码 #include<stdio.h> #include<iostream> #include<math.h> #include<algorithm> #include<string.h> #incl

CFEducational Codeforces Round 66题解报告

CFEducational Codeforces Round 66题解报告 感觉丧失了唯一一次能在CF上超过wqy的机会QAQ A 不管 B 不能直接累计乘法打\(tag\),要直接跳 C 考虑二分第\(k\)小的值 那么问题就变成了 每一个数变成了\([x-mid,x+mid]\)的一段区间,如果有一个位置被覆盖了超过\(k\)次 那么\(mid\)一定合法 类似括号匹配 每次碰到左端点就贡献+1 右端点就统计答案然后-1 维护答案的同时顺便维护位置就好了 #include<cstdio>