随笔分类 -  线段树

摘要:A(模拟) 按题意模拟至指令达到上限 #include<bits/stdc++.h> #define rep(i,s,t) for(int i=(s),i##end=(t);i<=i##end;i++) #define dwn(i,s,t) for(int i=(s),i##end=(t);i>=i 阅读全文
posted @ 2022-10-25 19:55 jack_yyc 阅读(103) 评论(0) 推荐(0)
摘要:hdu1 04 Ball(bitset) 把所有边升序排序后,枚举中间大小的边$e$ 考虑对每个点$i$记录所有$dis(i,j)\le e$的$j$构成的集合$S_i$ 在枚举到边$(u,v,w)$时,以该边为中位数的三角形答案为$S_i \cap \bar{S_j}$ 利用bitset容易维护 阅读全文
posted @ 2022-08-30 21:38 jack_yyc 阅读(33) 评论(0) 推荐(0)
摘要:打铜了 爬了 补题: $I$ 一道终极歪榜题 路线事实上一共有$2H$种,可以映射到$[-H,H)$上,$\ge 0 $的部分表示$x=0$时向上 用$map$简单维护一下即可 1 #include<bits/stdc++.h> 2 #define inf 2139062143 3 #define 阅读全文
posted @ 2021-12-07 18:31 jack_yyc 阅读(165) 评论(0) 推荐(0)
摘要:2019 NWERC(最短路+凸包、线段树二分、智慧题) D. Disposable Switches 显然最终的答案只与经过的边数和经过的最短路径长度和有关 令$dis[x][k]$表示到$x$点经过$k$条边的最短路(因为记录了边数,这个东西可以直接$n^2$预处理 完全不可能的点不容易求,考虑 阅读全文
posted @ 2021-10-27 11:59 jack_yyc 阅读(94) 评论(0) 推荐(0)
摘要:F $dp$出前$i$个位置匹配了多少个$nunhehheh$,再统计每个位置后面$a$的个数即可计算答案 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld 阅读全文
posted @ 2021-10-12 19:08 jack_yyc 阅读(64) 评论(0) 推荐(0)
摘要:A 签到题,分别计算两种情况边的贡献,注意奇偶性的影响 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld long double #define ull u 阅读全文
posted @ 2021-09-03 16:53 jack_yyc 阅读(83) 评论(0) 推荐(0)
摘要:吉司机线段树部分操作板题 支持区间取$max$,$min$,区间加 区间查询最大值 最小值和区间和 1 #include<bits/stdc++.h> 2 #define ll long long 3 #define db double 4 #define ld long double 5 #def 阅读全文
posted @ 2021-08-22 18:20 jack_yyc 阅读(54) 评论(0) 推荐(0)
摘要:A 先构造出$1-8,16$这$9$个数,共需要$17$步 之后按照每四位一个单位构造数$x$,若$x$的末四位$\le 8$可以直接加,否则需要在之前$+1$然后减去一个$<8$的数 这样每一个$4$位最多用两步即可解决,一共最多$17+16\times2+1=50$步 (注意一直进位使得整个数多 阅读全文
posted @ 2021-08-17 23:50 jack_yyc 阅读(56) 评论(0) 推荐(0)
摘要:A 数位$dp$ 咕了 B 由于$m$很小,考虑用生成函数表示方案数,设$f_i$表示$i$个物品的生成函数 转移$f_i$时,单独考虑第$i$个物品有三种情况$(不选,s,b)\(,对应价格为\)(0,1,2)$,贡献为$f_{i-1}(1+x+x^2)$ 否则$i$与$i-1$联合考虑,一共四种 阅读全文
posted @ 2021-08-12 21:27 jack_yyc 阅读(51) 评论(0) 推荐(0)
摘要:A 计算几何 咕 B 很猛的数学题 咕 C 共有$\binom{n}{3}\(个三元环,\)\binom{n}{2}$条边,要删到$n-1$条边 需要至少删$\frac{1}{3}(\frac{n(n-1)}{2}-(n-1))=\frac{(n-1)(n-2)}{6}$个没有重复边的三元环 考虑将 阅读全文
posted @ 2021-08-02 21:17 jack_yyc 阅读(89) 评论(0) 推荐(0)
摘要:A 签到题,显然只有当所有系数都$C=0$才能收敛,判一下即可 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld long double #define u 阅读全文
posted @ 2021-07-30 19:33 jack_yyc 阅读(33) 评论(0) 推荐(0)
摘要:A 很猛的生成函数 咕 B 不妨考虑将题意转化为图,设$0$为起始点,$n+1$为终止点 假设当前在$i$点,下一次生成的数需要更大才能继续,即每次可以走到$i+1,\dots n$这些点 而对于生成更小数的情况则代表了结束,对这种情况我们对$i$向$n+1$连这些概率的边代表结束 设$f_i$表示 阅读全文
posted @ 2021-07-30 19:17 jack_yyc 阅读(45) 评论(0) 推荐(0)
摘要:A 签到题,对于一个正方体,有$8$种顶点均在正方体顶点上满足条件的正三角形 显然$Ans=\sum\limits_{i=1}{n-1}8i3=8(\frac{n(n-1)}{2})^2=2(n-1)n$ #include<bits/stdc++.h> #define inf 2139062143 阅读全文
posted @ 2021-07-30 19:02 jack_yyc 阅读(84) 评论(0) 推荐(1)
摘要:A 记$b_i=|a_i-a_{i+1}|\(对于一段区间\)[l,r]$,若这一段内的数构成等差数列,则需$max{a_l,\dots ,a_r}-min{a_l,\dots ,a_r}=gcd(b_l,\dots ,b_{r-1})\cdot (r-l)$ 当无法构成等差数列时,显然有$max- 阅读全文
posted @ 2021-07-30 17:30 jack_yyc 阅读(69) 评论(0) 推荐(0)
摘要:A 从小到大搜索,对于一个未知状态 若不能一步到达必败态则该状态为新的必败态 搜索跑一下打表即可 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define ull unsigned long long #d 阅读全文
posted @ 2021-07-30 17:20 jack_yyc 阅读(308) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-04-15 09:25 jack_yyc 阅读(7) 评论(0) 推荐(0)
摘要:T1 题目大意: 一棵树有正边权,$Q$次询问,询问$x$与编号在$[l,r]$之间的点的最小距离 思路: 建立点分树,由于在每个分治重心内任意两个点的lca可以看做重心 我们可以预处理出一个点到他点分树上所有的祖先的距离,每个点最多处理$log$个距离 对每个重心维护动态开点线段树,把每个点暴力加 阅读全文
posted @ 2019-03-27 18:56 jack_yyc 阅读(173) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-03-21 08:43 jack_yyc 阅读(67) 评论(0) 推荐(0)
摘要:T1 1e5只龙的故事 题目大意: 一棵树 q次询问 每次询问一条路径上的第$k$小的点的权值(不去重),然后把整个路径上所有点的权值都改成这个值 思路: 好暴力啊 使用树剖线段树暴力维护权值一样的区间 查询的时候开个数组记录所有满足条件的区间 排序后直接查即可 1 #include<iostrea 阅读全文
posted @ 2019-03-16 08:31 jack_yyc 阅读(186) 评论(0) 推荐(0)
摘要:T1 words 题目大意: bzoj 4567 题解链接 考试代码: (如果不重建树的话会出锅 例子: 其中加粗的边为有$end$标记的节点,若不重建树,则左边$a$的$sz$为4,右边为3会先走右边 实际上应该先走左边(man太惨了。 View Code T2 tree 题目大意:bzoj 48 阅读全文
posted @ 2019-03-14 09:14 jack_yyc 阅读(243) 评论(0) 推荐(0)