好久没碰到这么友好乱搞的题了.... A. 数列 考察的是exgcd的相关知识,最后的答案直接O(1)求即可 B. 数对 本来以为是原题,然后仔细看了看发现不是,发现不会只好乱搞骗分了 事实上直接按$a+b$为第一关键字,然后就是原题了..... C. 最小距离 事实上这道题的思路还是不错的,考场上联想树上直径问题于是想到了 观察数据范围,我们好像只能跑一遍最短路 那么如何在一遍中求出$p$个点的距离,可以记录一个$pre_{i},dis_{i}$分别表示i节点到任意源点的最短距离,和源点是谁…
题目传送门(内部题96) 输入格式 第一行一个整数$n$,接下来$n$行每行三个整数$a_i,b_i,w_i$. 输出格式 一行一个整数表示最大权值和. 样例 样例输入: 54 4 12 3 31 5 14 2 25 2 3 样例输出: 数据范围与提示 对于$10\%$的数据,$n\leqslant 8$. 对于$40\%$的数据,$n\leqslant 200$. 对于$70\%$的数据,$n\leqslant 3,000$. 对于$100\%$的数据,$1\leqslant n\leqsla…
$ \color{#0066ff}{ 题目描述 }$ 给出一个长度为 \(n\) 宽度为 \(1\) ,高度无限的水箱,有 \(n-1\) 个挡板将其分为 \(n\) 个 \(1 - 1\) 的小格,然后向每个小格中注水,水如果超过挡板就会溢出到挡板的另一边,这里的水是满足物理定律的(在无挡板阻拦的情况下会向低处流),现在有 \(m\) 个条件 \((i,j,k)\),表示从左到右数的第 \(i\) 个格子中,在高度为 \(y+0.5\) 的地方是否有水, \(k=1\) 表示有水,\(k=0\…
题目描述 给你一棵 $n$ 个点的树,边有边权.$m$ 次询问,每次给出 $l$ .$r$ .$x$ ,求 $\text{Min}_{i=l}^r\text{dis}(i,x)$ . $n,m\le 10^5$ . 题解 动态点分治+线段树 分块做法太傻逼了我们把它丢到垃圾桶里.树上距离考虑动态点分治. 求出这棵树的点分树,对每一棵点分树子树开一棵动态开点编号线段树,维护编号在某区间内的点到当前点距离的最大值. 对于一次查询,我们在点分树从 $x$ 到根的路径上所有点对应的线段树上查询 $[l,…
[BJOI2019]删数(线段树) 题面 洛谷 题解 按照值域我们把每个数的出现次数画成一根根的柱子,然后把柱子向左推导,\([1,n]\)中未被覆盖的区间长度就是答案. 于是问题变成了单点修改值,即修改两根柱子的长度.全体修改就可以理解为询问区间的平移. 那么只需要拿线段树维护这个东西就行了. #include<iostream> #include<cstdio> using namespace std; #define MAX 150150 #define lson (now&…
P3939 数颜色 线段树动态开点 luogu P3939 水.直接对每种颜色开个权值线段树即可,注意动态开点. #include <cstdio> #include <algorithm> #define MAXN 300003 #define MAXM MAXN*30 #define mid ((l+r)>>1) inline void myswap(int &a, int &b){ int t=a;a=b;b=t; } int tre[MAXM],…
A. Dove 打扑克 考场思考半天线段树树状数组,没有什么想法 打完暴力后突然想到此题用链表实现会很快. 因为只有$n$堆,所以设最多有$x$个不同的堆数,那么$x\times (x-1)/2==n$, 所以链表中最多有$\sqrt{n}$个元素, 所以可以用一个$set$维护当前的出现元素,每次$upper\_bound$找到合适位置插入链表, 因为当前元素有序所以可以统计链表后缀来求答案 知识点: 不要在T1花太长时间,数据结构题可能只用到一些简单数据结构 B. Cicada 与排序 很好…
A. 木板 一个很简单的数学题,简单推一下就好,路丽姐姐教你学数学. 将式子化出我们发现只需求出$i\times i/n$的个数 那么我们将$n$质因数分解,可知因子个数 为了整除$n$,令$i==\sqrt{n\times k} $,我们需要让$k$含有$n$中奇数个数的因子 然后同时还可以有其他的平方因子,直接爆求即可. 思路积累: 1.对于求$i\times i/n$可以从$n$的因子上下手 B. 打扫卫生 一个$DP$的大神题,考场被各种剪枝cao过 $ \%\%\%\%\%kx,Dua…
菜鸡wwb因为想不出口胡题所以来写题解了 A. chess 昨天晚上考试,有点困 开考先花五分钟扫了一边题,好开始肝$T1$ 看了一眼$m$的范围很大,第一反应矩阵快速幂?? $n$很小,那么可以打$n^4$的DP, $10min$过去了,好像就是一个$DP$啊,随便乘个组合数就好了, 最后距离考试$20min$时,因为瞎取模,把自己的$AC$覆盖了kukukuku 正解的话,首先对于第一列而言,第$1+n$列的放的$C$的个数与他相同 但是因为只知道数目我们乘上组合数就好 $f_{ij}$表示…
http://new.tyvj.cn/p/2065 我就不说我很sb的用线段树来维护值...... 本机自测的时候想了老半天没想出怎么维护点在所有区间被多少区间包含的方法.最后一小时才想出来线段树(果然太弱) .. 首先想到贪心,答案一定是某个区间的右端点...(这个很容易想也容易证,我就不说了.....) 然后按右端点排序 然后我维护了个左端点前缀和,将来枚举每一个右端点的时候所得到的答案就是sum[n]-sum[i]-he+ge*a[i].r he表示包含右端点的所有区间的左端点之和,ge表…