08 2019 档案
摘要:[BZOJ 3930] [CQOI 2015]选数(莫比乌斯反演+杜教筛) 题面 我们知道,从区间$[L,R]\((L和R为整数)中选取N个整数,总共有\)(R-L+1)^N$种方案。求最大公约数刚好为K的选取方案有多少个。由于方案数较大,你只需要输出其除以1000000007的余数即可。 \(N,
阅读全文
摘要:求$\sum_{i=1}^{n} \sum_{j=1}^{m} \mathrm{lcm}(i,j)$
阅读全文
摘要:[BZOJ 3944]sum(杜教筛) 题面 求$\mu$和$\varphi$的前缀和 分析 套路公式: 我们要求$f$的前缀和,构造两个函数$g,h$满足$h=f g$, $F,G,H$为它们的前缀和 $$g(1)F(n)=H(n) \sum_{d=2}^n g(d) F(\frac{n}{d})
阅读全文
摘要:一些约定 本文中所有未知数如没有特别说明,均为整数 $\gcd(a,b)$表示a,b的最大公约数 $a|b$表示a能整除b $[表达式]\(表示表达式成立的时候为1,不成立的时候为0.如\)[n=1]$在$n=1$的时候为1,否则为0 $\omega(n)$表示n本质不同的质因子个数 在没有说明的情
阅读全文
摘要:[BZOJ 4332] [JSOI2012]分零食(DP+FFT) 题面 同学们依次排成了一列,其中有A位小朋友,有三个共同的欢乐系数O,S和U。如果有一位小朋友得到了x个糖果,那么她的欢乐程度就是$f(x)=Ox^2+Sx+U$ 现在校长开始分糖果了,一共有M个糖果。有些小朋友可能得不到糖果, 对
阅读全文
摘要:[Codeforces 1208D]Restore Permutation (树状数组) 题面 有一个长度为n的排列a。对于每个元素i,$s_i$表示$\sum_{j=1,a_j include include include include define maxn 200000 using nam
阅读全文
摘要:[BZOJ4182]Shopping (点分治+树上多重背包+单调队列优化) 题面 马上就是小苗的生日了,为了给小苗准备礼物,小葱兴冲冲地来到了商店街。商店街有n个商店,并且它们之间的道路构成了一颗树的形状。 第i个商店只卖第i种物品,小苗对于这种物品的喜爱度是wi,物品的价格为ci,物品的库存是d
阅读全文
摘要:[APIO2019] [LOJ 3145] 桥梁(分块+并查集)(有详细注释) 题面 略 分析 考试的时候就感觉子任务4是突破口,结果却写了个Kruskal重构树,然后一直想怎么在线用数据结构维护 实际上是离线算法。考虑只有查询的时候。我们可以离线对查询的权值从大到小排序,边也按边权从大到小排序,然
阅读全文
摘要:[APIO2019] [LOJ 3146] 路灯 (cdq分治或树状数组套线段树) 题面 略 分析 首先把一组询问(x,y)看成二维平面上的一个点,我们想办法用数据结构维护这个二维平面(注意根据题意这里的y要 1,这样问题变成[x,y]区间是否是由连续的一段1组成) 如果我们改变第x个灯的状态,那么
阅读全文
摘要:[APIO 2010] [LOJ 3144] 奇怪装置 (数学) 题面 略 分析 考虑t1,t2时刻坐标相同的条件 $$\begin{cases} t_1+\lfloor \frac{t_1}{B} \rfloor \equiv t_2+\lfloor \frac{t_2}{B} \rfloor (
阅读全文
摘要:[BZOJ1492] [NOI2007] 货币兑换Cash(cdq分治+斜率优化) 题面 分析 dp方程推导 显然,必然存在一种最优的买卖方案满足:每次买进操作使用完所有的人民币;每次卖出操作卖出所有的金券. 设dp[i]表示第i天卖出所有金券的能够得到的钱数。则有: $$dp[i]=max(dp[
阅读全文
摘要:[BZOJ 2989]数列(二进制分组+主席树) 题面 给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x y|+|a[x] a[y]|。 2种操作(k都是正整数): 1.Modify x k:将第x个数的值修改为k。 2.Que
阅读全文
摘要:[Codeforces 1205B]Shortest Cycle(最小环) 题面 给出n个正整数$a_i$,若$a_i \& a_j \neq 0$,则连边$(i,j)$(注意i j的边和j i的边看作一条。问连边完图的最小环长度 $n \leq 10^5,0 \leq a_i \leq 10^{1
阅读全文
摘要:[BZOJ3203] [SDOI2013]保护出题人(二分+凸包) 题面 题面较长,略 分析 对于第i关,我们算出能够打死前k个个僵尸的最小能力值,再取最大值就可以得到$y_i$. 前j 1个僵尸到门的距离为$x_i+(i j+1) \times d$,血量为$sum[i] sum[j]$,因此 $
阅读全文
摘要:[BZOJ 2820] YY的gcd(莫比乌斯反演+数论分块) 题面 给定N, M,求$1\leq x\leq N, 1\leq y\leq M$且gcd(x, y)为质数的(x, y)有多少对。q组询问 分析 我们要求的是 \(\sum_{p \in P} \sum_{i=1}^n \sum_{j
阅读全文
摘要:[BZOJ2716] [Violet 3]天使玩偶(CDQ分治) 题面 Ayu 在七年前曾经收到过一个天使玩偶,当时她把它当作时间囊埋在了地下。而七年后 的今天,Ayu 却忘了她把天使玩偶埋在了哪里,所以她决定仅凭一点模糊的记忆来寻找它。 我们把 Ayu 生活的小镇看作一个二维平面坐标系,而 Ayu
阅读全文
摘要:[BZOJ 2989]数列(CDQ 分治) 题面 给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x y|+|a[x] a[y]|。 2种操作(k都是正整数): 1.Modify x k:将第x个数的值修改为k。 2.Query
阅读全文
摘要:[BZOJ 2683] 简单题 (CDQ分治) 题面 N N矩阵,支持单点修改,查询某一个子矩阵内的和 $n \leq 500000$,操作数$\leq 200000$ 分析 首先运用二维前缀和的思想,把子矩阵的和拆成四个前缀和。 然后把询问和修改看成(x,y,t)的三元组,t表示当前是第几次操作。
阅读全文
摘要:[BZOI 3994] [SDOI2015]约数个数和 题面 设d(x)为x的约数个数,给定N、M,求$\sum _{i=1}^n \sum_{i=1}^m d(i \times j)$ T组询问,$N,M,T \leq 50000$ 分析 首先有一个结论 $$d(nm)= \sum _{i |n}
阅读全文
摘要:[BZOJ4476] [JSOI2015] 送礼物 (01分数规划+ST表) 题面 给出n,k,l,r和序列a,要求从a中选一段连续的区间[i,j]出来,使得M(i,j) m(i,j)/(j i+k)最大,且[i,j]长度在区间[l,r]内。 M(i,j)表示[i,j]中的最大值,m(i,j)表示[
阅读全文
摘要:[BZOJ 1767] [Ceoi2009] harbingers (斜率优化) 题面 给定一颗树,树中每个结点有一个邮递员,每个邮递员要沿着唯一的路径走向capital(1号结点),每到一个城市他可以有两种选择: 1.继续走到下个城市 2.让这个城市的邮递员替他出发 每个邮递员出发需要一个准备时间
阅读全文
摘要:[BZOJ 2301] [HAOI 2011] Problem b (莫比乌斯反演)(有证明) 题面 T组询问,每次给出a,b,c,d,k,求$\sum _{i=a}^b\sum _{j=c}^d[gcd(i,j)=k]$ $T,a,b,c,d,k\le 5\times 10^4$ 分析 $O(n^
阅读全文
摘要:BZOJ1185[HNOI2007] 最小矩形覆盖 题面 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点的坐标 分析 首先可以先求凸包,因为覆盖了凸包上的顶点,凸包内的顶点也一定能被覆盖 结论:这个矩形的一条边一定与凸包的一条边重合。 然后对于凸包的每一条边$\
阅读全文
摘要:[BZOJ2829] 信用卡 (凸包) 题面 信用卡是一个矩形,唯四个角做了圆滑处理,使他们都是与矩形两边相切的1/4园,如下图所示,现在平面上有一些规格相同的信用卡,试求其凸包的周长。注意凸包未必是多边形,因为他有可能包含若干段圆弧。 分析 我们发现凸包的圆弧段可以缩成一个圆,然后将直线段向内平移
阅读全文
摘要:[LOJ 3101] [Luogu 5332] [JSOI2019]精准预测(2 SAT+拓扑排序+bitset) 题面 题面较长,略 分析 首先,发现火星人只有死和活两种状态,考虑2 SAT 建图 对于每个火星人,把它按时间和状态拆点,$(i,t,0/1)$代表第i个火星人在t时刻,0代表活,1代
阅读全文
摘要:[Luogu P3825] [NOI2017] 游戏 (2 SAT) 题面 题面较长,略 分析 看到这些约束,应该想到这是类似2 SAT的问题。但是x地图很麻烦,因为k SAT问题在k 2的时候是NPC问题,所以不能直接做。 观察到$d \leq 8$,我们可以直接枚举每个x地图可以让哪些车使用,然
阅读全文
摘要:[BZOJ 2199] [USACO11JAN] 大陆议会The Continental Cowngress(2 SAT) 题面 题面较长,略 分析 考虑把问题转化成一个依赖性问题 我们把每只奶牛投出的两票中至少有一票和最终结果相符合转化:一只奶牛刚好投两次票,所以只要不满足奶牛的其中一次投票,就要
阅读全文
摘要:[BZOJ 3731] Gty的超级妹子树 (树分块) 题面 给出一棵树(或森林),每个点都有一个值。现在有四种操作 1.查询x子树里 y的值有多少个 2.把点x的值改成y 3.添加一个新节点,它的父亲是x,值是y 4.断开节点x与父亲节点的边,一棵树变成两棵树 分析 新姿势 树分块get 分块预处
阅读全文
摘要:[LOJ2736] [JOISC 2016 Day 3] 回转寿司 (分块+堆) 题面 给出一个有n 个点的环,环上各点有一个初始权值 $a_i$ 给出 Q 个询问,每次询问给出一个区间 [l,r]和一个值 A,对于 A 的变动定义如下 对于每个询问,回答遍历完区间[l,r]后 A的最终值。 分析
阅读全文
摘要:[AHOI2013]作业 (莫队+分块) 题面 给定了一个长度为n的数列和若干个询问,每个询问是关于数列的区间[l,r],首先你要统计该区间内大于等于a,小于等于b的数的个数,其次是所有大于等于a,小于等于b的,且在该区间中出现过的数值的个数。 分析 为简化时间复杂度分析,假设n,m在同一个数量级
阅读全文
摘要:[BZOJ 3173] [TJOI 2013] 最长上升子序列(fhq treap) 题面 给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们都想知道此时最长上升子序列长度是多少? 分析 这题有几个重要性质: 第一个性质是, 插入的数
阅读全文
摘要:[BZOJ 1483] [HNOI2009] 梦幻布丁 (线段树合并) 题面 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. $n,m\leq 1 \times 10^5$,颜色编号 $
阅读全文
摘要:[Luogu 4688] [Ynoi2016]掉进兔子洞 (莫队+bitset) 题面 一个长为 n 的序列 a。有 m 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立。注意这里删掉指的是一个一个删,不是把等于这个值的数直接删完,比如三个区间
阅读全文
摘要:[BZOJ4358]Permu(回滚莫队) 题面 给出一个长度为n的排列P(P1,P2,...Pn),以及m个询问。每次询问某个区间[l,r]中,最长的值域连续段长度。 分析 最简单的方法显然是用线段树维护最长值域连续段长度,复杂度$O(n\sqrt n \log n)$,会TLE 我们以值为下标维
阅读全文
摘要:[HNOI2016]树(可持久化线段树+树上倍增) 题面 给出一棵n个点的模板树和大树,根为1,初始的时候大树和模板树相同。接下来操作m次,每次从模板树里取出一棵子树,把它作为新树里节点y的儿子。操作完之后有q个询问,询问新树上两点之间的距离 $n,m,q \leq 1 \times 10^5$ 分
阅读全文
摘要:[luogu4768] [NOI2018] 归程 (Dijkstra+Kruskal重构树) 题面 题面较长,这里就不贴了 分析 看到不能经过有积水的边,即不能经过边权小于一定值的边,我们想到了kruskal重构树。我们把边按海拔高度从大到小排序,然后建立一棵Kruskal重构树。 树上维护什么呢?
阅读全文
摘要:8/5 Day 1 "[luogu4768\] [NOI2018] 归程 (Dijkstra+Kruskal重构树)" "[HNOI2016]树(可持久化线段树+树上倍增)" 8/6 Day 2 "[Luogu 4688] [Ynoi2016]掉进兔子洞 (莫队+bitset)" "[BZOJ435
阅读全文
摘要:[Codeforces 1201D]Treasure Hunting(DP) 题面 有一个n m的方格,方格上有k个宝藏,一个人从(1,1)出发,可以向左或者向右走,但不能向下走。给出q个列,在这些列上可以向上走,其他列不能向上走。可以重复经过同一个点。求从(1,1)出发,经过所有宝藏的最短路径长度
阅读全文
摘要:[BZOJ 3295] [luogu 3157] [CQOI2011] 动态逆序对 (树状数组套权值线段树) 题面 给出一个长度为n的排列,每次操作删除一个数,求每次操作前排列逆序对的个数 分析 每次都对整个序列求逆序对显然不行,考虑每次删除对逆序对个数的影响 假如删除的数为x,x在序列中的位置为p
阅读全文
摘要:[BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树) 题面 原题面有点歧义,不过从样例可以看出来真正的意思 有n个位置,每个位置可以看做一个集合。 1 a b c :在a b的每个集合中插入一个数c 2 a b c :2:询问将a b的每个集合合并
阅读全文
摘要:[BZOJ1074] [luogu 4036] [JSOI 2008] 火星人 (二分答案+哈希+fhq treap) 题面 给出一个长度为n的字符串,m个操作,字符串仅包含小写英文字母 操作1:在k位置后插入字符v: 操作2:将k位置的字符修改为字符v 操作3:查询从该字符串中第 x个字符开始的字
阅读全文

浙公网安备 33010602011771号