【自创模拟赛】set1 题解

T2

本来想在 $T2$ 搞一道动态规划题,但现在好像不是了……出成了一道毒瘤结论题。

题目背景和板子啥的来源于我以前在luogu存的一道自创题。

100pts

这个点甚至卡 $O(n*log(n^2))$,而二分肯定是不能去掉的,所以我们考虑去掉链上对区间答案的维护的那一维 $log$。

我们重新分开考虑两个点的大小关系,以防混淆。

当祖先 $\lt M$,子孙 $\gt M$ 时,

我们发现,一次移动只有两个点的归属发生变化,橙点被加入可利用区域,红点被加入已分完区域。

所以 $place$(橙点)的变化量为 $val_{orange}-val_{red}$。

关键就在这个变化量,怎么存这玩意?它跟红橙两点都有关系。

其实两点的距离 $x$ 是确定的,所以只要知道祖先(橙点)的位置,子孙(红点)的值就可以唯一对应地存。

当然我用了一种比较鬼畜的方法:再维护一个 $sum$,表示以子孙(红点)为根的子树中所有数的总和是多少。

原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/set1.html

时间: 2024-09-29 23:16:18

【自创模拟赛】set1 题解的相关文章

1015&&1017模拟赛订正题解

1015 反正这两次的模拟赛都不太会写吧 感觉越来越dl 今天初赛 真好 T1 反正题目给你excatalan 提醒你是卡特兰数了 m=0 的情况 你发现就是卡特兰 那么考虑 m为任意数字的 方法 显然 我们需要知道卡特兰数的证明方法 其实昨天探讨的时候 想了更多方法 有必要解决这样的问题 首先证明方法有折线法 由折线法 我们不妨引出 另外一种证明思想 卡特兰数对应的 问题模型都是 在第K次执行 操作2的时候 操作1都是至少执行了K次 那么我们用x轴表示 当前的操作次数 一共需要2n次 然后把操

第四次模拟赛订正题解

这次考动态规划专练: 下一次考数据结构专练??? 坦白讲:这东西我还是不会: 现在发现好像是一个叫做树的最大独立集的: 有个暴力40分的做法,预处理所有的深度(层数),不是相邻层的累加,最后比较max,这个复杂度过不去,也只是贪心的思想,所以写完爆搜之后我还是去写了树形dp: 我们用dp[i][K]表示当前节点i选择(k==1)或不选择(k==0):而且比较巧妙地是,在统计方案树的是否,我们直接可以用当前k的表示该节点的方案,累加即可,好妙啊: 给出的题解: #include<bits/stdc

【自创模拟赛】set4

应大哥和 $SYF$ 的要求出套题. 不幸的是,由于某些原因,我把我在学校用的电脑重装了,里面有四套题没备份出来.本来之前开到了 $set7$ 的,现在只能从 $set4$ 开始了. T1 原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/set4.html

2019-09-03【高一组】模拟赛 3 &amp;【高二组】模拟赛 2 题解

计算题 1 $$\begin{align}ans_x&=\sum_{i=1}^n (w_i-w_x)^2\\&=\sum_{i=1}^n(w_i^2+w_x^2-2w_iw_x)\\&=\sum_{i=1}^{n}w_{i}^2+nw_x^2-2\sum_{i=1}^n{w_i}w_x\end{align}$$ 先在读的时候处理出 $\begin{align}\sum_{i=1}^{n}w_{i}^2\end{align}$ 和 $\begin{align}\sum_{i=1}^n

【题解】PAT团体程序设计天梯赛 - 模拟赛

由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 设计一个分数类,重载加法运算符,注意要约分,用欧几里得算法求个最大公约数即可. 1 #include <cstdio> 2 3 long long abs(long long x) 4 { 5 return x < 0 ? -x : x; 6 } 7 8 long long gcd(long

10-4国庆节第七场模拟赛题解

10-4 国庆节第七场模拟赛题解 T1工厂 (factory) 水 #include<iostream> #include<cstdio> #define int long long using namespace std; inline int read(){ int sum=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')f=-1; ch=getchar(); } while(ch>='0

lzoi模拟赛题解

A题:签到题原题:mtoi 联赛 的A题定位:真.签到题(普及B题或者提高d1A题)考点:选手的基本数学能力思维难度:提高-代码难度:普及A题 题解:80%:暴力枚举100%:注意到(a xor b)<=(a+b),于是把所有的数异或起来即可. B题:送分题原题:[多省省队联测]d2A:皮配定位:一道联赛d1B题,考察了选手的基本功.送了选手70分.把70%的2种做法扩展可以得到正解考点:多种背包dp,计数思维难度:提高代码难度:提高+ 前面的几个数据可以暴力枚举解决.50%的数据:考虑dp.设

计蒜课 八月模拟赛题解

看见机房有大佬上周写了上面的普及信心赛 于是我康了康 8月的提高组模拟赛 9月的还没开始qwq 真的 有点难 主要是我先打开了T2 我再次 对自己的数学产生了怀疑 我现在还是不会写T2 T1 又又又又都错题了 下次重建图 尽量写vector 都写 邻接表 变量差不多的容易搞混 我这个同学变又写错了 T1 :https://nanti.jisuanke.com/t/41086 题目大意就是 一个有向图 删一个点 把与他直接和间接 相连的点 删掉 然后 求删掉所有点的最小最大代价 : 为了避免这个环

10月15日模拟赛题解

10月15日模拟赛题解 A 树 Description 给定一棵 \(n\) 个节点的树,每个节点有两个参数 \(a,~b\),对于每个节点,求子树中参数为 \(b\) 的所有节点的 \(a\) 之和 Limitations \(100\%\) \(1 \leq b \leq n \leq 10^5,~a \leq 1000\) \(60\%\) \(1 \leq b,n\leq 1000\) \(30\%\) \(1 \leq b, n \leq 10\) Solution 对于 \(30\%