题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5020 https://www.luogu.org/problemnew/show/P4546 如果保证 x=1 ,则可以用 LCT 维护每个点的函数值.不然的话就用 LCT 拿出那条链,dfs 一下 splay 现算.可以得 60 分. #include<cstdio> #include<cstring> #include<algorithm> #include&…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5020 https://loj.ac/problem/2289 题解 这个 appear 和 disappear 操作显然是强行加上去用力啊增加代码长度的. 所以相当于就是什么东西套个 LCT 就行了. 所以考虑怎么快速求出一堆东西的分值和. \(sin, exp\),一次函数之间的加法似乎并没有什么优美的性质,所以我们考虑泰勒展开. \[ e^v = \sum_{i=0}^{\infty}…
Description 数字和数学规律主宰着这个世界.   机器的运转,   生命的消长,   宇宙的进程,   这些神秘而又美妙的过程无不可以用数学的语言展现出来.   这印证了一句古老的名言:   “学好数理化,走遍天下都不怕.”   学渣小R被大学的数学课程虐得生活不能自理,微积分的成绩曾是他在教室里上的课的最低分.然而他的某位陈姓室友却能轻松地在数学考试中得到满分.为了提升自己的数学课成绩,有一天晚上(在他睡觉的时候),他来到了数学王国.   数学王国中,每个人的智商可以用一个属于 [0…
参考:https://www.cnblogs.com/CQzhangyu/p/7500328.html --其实理解了泰勒展开之后就是水题呢可是我还是用了两天时间来搞懂啊 泰勒展开是到正无穷的,但是因为精度问题,所以一般展开十几项就可以(这里展开了17项).以下是公式: \[ e^x=\sum_{i=0}^{\infty}\frac{x^i}{i!} \] \[ sin(x)=\sum_{i=0}^{\infty}\frac{(-1)^ix^{2i+1}}{(2i+1)!} \] 然后用二项式定…
题意很明显是要用LCT来维护森林 难点在于如何处理函数之间的关系 我们可以根据题目给的提示关于泰勒展开的式子 将三种函数变成泰勒展开的形式 因为$x∈[0,1]$ 所以我们可以将三个函数在$x_0=0$处展开 $sin(ax+b)=sin(b)+\frac{acos(b)x}{1!}+\frac{-a^2sin(b)x^2}{2!}+\frac{-a^3cos(b)x^3}{3!}+⋯$ $e^{ax+b}=e^b+\frac{ae^bx}{1!}+\frac{a^2e^bx^2}{2!}+\f…
link 题目大意: 你需要维护一个树 每个点都有个sin(ax+b)或exp(ax+b)或ax+b 你需要维护一些操作:连边.删边.修改某个点的初等函数.询问某条树链上所有函数带入某个值后权值和或不连通 保证x在[0,1],带入后得到的值在[0,1] 允许精度误差在1e-7 题解: 由于sin函数和exp函数不是多项式函数,比较cd,并且题目要求我们求的值比较小,我们可以对函数在0.5处求泰勒展开,然后每个点就维护了一个多项式函数 多项式函数加减后还是多项式函数,就可以通过Link-Cut T…
[BZOJ5020][THUWC 2017]在美妙的数学王国中畅游 Description 数字和数学规律主宰着这个世界. 机器的运转, 生命的消长, 宇宙的进程, 这些神秘而又美妙的过程无不可以用数学的语言展现出来. 这印证了一句古老的名言: “学好数理化,走遍天下都不怕.” 学渣小R被大学的数学课程虐得生活不能自理,微积分的成绩曾是他在教室里上的课的最低分.然而他的某位陈姓室友却能轻松地在数学考试中得到满分.为了提升自己的数学课成绩,有一天晚上(在他睡觉的时候),他来到了数学王国. 数学王国…
题目:https://www.luogu.org/problemnew/show/P4546 先写了个55分的部分分,直接用LCT维护即可,在洛谷上拿了60分: 注意各处 pushup,而且 splay 维护的是一条链但其形态不一定是一条链! #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespa…
传送门 当年听llj讲的时候觉得这简直是个不可做的神题. 现在看来并不是很神,可能是我已经被剧透了的缘故... 一开始以为是函数套函数,懵蔽了好久,结果只是求和 被剧透了泰勒展开就比较水了..只要你不像我一样蠢的最最简单的求导都求错... 还有不像我一样蠢展开了看到有常数项不暴力二项式定理展开转而展开f(a*x+b)发现不会求e^b... 那么直接泰勒展开然后二项式定理暴力展开后用lct合并即可,维护个17项就差不多了 //Achen #include<algorithm> #include&…
bzoj5020 \[答案误差只要小于 10^{-7}\] 题解 Taylor展开式: \[若f(x)的n阶导数在[a, b]内连续,则f(x)在x_{0}\in[a, b]可表示为\] \[f(x)=\sum_{i=0}^{n} \frac{ f^{(n)}(x_{0})(x-x_{0})^{i} }{i!} + \Theta((x-x_{0})^{n})\] \[其中f^{(n)}表示函数f的n阶导数,\Theta((x-x_{0})^{n})为误差\] \[对于这道题,令x_{0}=0,求…
题目大意: 传送门 给一个动态树,每个节点上维护一个函数为$f(x)=sin(ax+b)$.$f(x)=e^{ax+b}$.$f(x)=ax+b$中的一个. 支持删边连边,修改节点上函数的操作. 每次询问$u$到$v$路径上所有函数带入$x$值的和. 题解: 给了个泰勒公式 (粘贴自百度) 不过……要是会导数这题也应该知道……不会导数给了也是白给……不知道出题人怎么想的…… 话说直接给麦克劳林展开+导数不好吗…… 因为$f(x)=e^x$的导数$f'(x)=e^x$所有当取$x_0=0$时就有其…
Description 数学王国中,每个人的智商可以用一个属于 [0,1]的实数表示.数学王国中有 n 个城市,编号从 0 到 n−1 ,这些城市由若干座魔法桥连接.每个城市的中心都有一个魔法球,每个魔法球中藏有一道数学题.每个人在做完这道数学题之后都会得到一个在 [0,1] 区间内的分数.一道题可以用一个从 [0,1] 映射到 [0,1]的函数 f(x) 表示.若一个人的智商为 x ,则他做完这道数学题之后会得到 f(x)分.函数 f有三种形式:     正弦函数 sin(ax+b) (a∈[…
题面 _“数字和数学规律主宰着这个世界.”_ 在 @i207M 帮助下折腾了半天终于搞懂了导数和泰勒展开,引用某学长在考场上的感受:感觉整个人都泰勒展开了 显然是个奇奇怪怪的东西套上LCT,发现直接维护的话并不能快速链上求和.所以用友好的提示里的泰勒展开,对每个点的函数进行泰勒展开后就变成了维护多项式的和,大概展开十几项精度就够了(我展开了16项).题目告诉我们了这三个函数在[0,1]都能展开,那就在零点展开呗,这不是最方便的吗=.= 当然因为可能~~并没~~有人和制杖的我一样对导数一无所知~~…
首先发现有连边和删边的操作,所以我们肯定要用\(LCT\)来进行维护. 接下来考虑如何进行\(LCT\)上的信息合并. \(f=1\),则函数为\(f(x)=sin(ax+b)\) \(f=2\),则函数为\(f(x)=e^{ax+b}\) \(f=3\),则函数为\(f(x)=ax+b\) 这道题中的信息为这三个函数,因为\(sin(ax+b)\)和\(e^{ax+b}\)不好处理,所以用泰勒展开都其处理为多项式的形式,再进行多项式的合并即可. 泰勒公式: \[f(x)=\sum_{i=0}^…
传送门 毒瘤出题人卡精度-- 思路 看到森林里加边删边,容易想到LCT. 然而LCT上似乎很难实现往一条链里代一个数进去求和,怎么办呢? 善良的出题人在下方给了提示:把奇怪的函数泰勒展开搞成多项式,就很好维护了. 注意到数都很小,精度问题不会太大(那你还被卡),可以直接在\(0\)处泰勒展开更为方便. 然后就做完啦~ 代码 要开O2才能过QwQ #include<bits/stdc++.h> namespace my_std{ using namespace std; #define pii…
数学王国里有n座城市,每座城市有三个参数\(f\),\(a\),\(b\),一个智商为\(x\)的人经过一座城市的获益\(f(x)\)是 若\(f=1\),则\(f(x)=\sin(ax+b)\): 若\(f=2\),则\(f(x)=e^{ax+b}\): 若\(f=3\),则\(f(x)=ax+b\): 会发生如下四种事件: 1.有两个城市之间新建了道路: 2.有两个城市之间的道路被摧毁了: 3.城市i的三个参数被修改了: 4.求智商为x的人从u走到v的获益总和. 保证任何时候图是一个森林.…
这个题目很明显在暗示你要用泰勒展开. 直接套上去泰勒展开的式子,精度的话保留12项左右即可. 分别维护每一项的和,可能比较难写吧. 然后强行套一个LCT就没了.…
题解 我们发现,题目告诉我们这个东西就是一个lct 首先,如果只有3,问题就非常简单了,我们算出所有a的总和,所有b的总和就好了 要是1和2也是多项式就好了--其实可以!也就是下面泰勒展开的用处,我们可以用一个多项式取逼近这个函数,而且,多项式次数越高越准确,我们大概到13次多项式就好了 如何创造出这个多项式呢,泰勒展开的式子是这样的 \(\sum_{i = 0}^{n} \frac{f^{(i)}(x_{0}) (x - x_{0})^{i}}{i!}\) 其中\(f^{(i)}(x)\)表示…
目录 @description@ @solution@ @accepted code@ @details@ @description@ n 个点编号 0 到 n-1,每个点有一个从 [0,1] 映射到 [0,1] 的函数 f(x) 作为点权,它有以下几种形式: 正弦函数:sin(ax+b) (a∈[0,1],b∈[0,π],a+b∈[0,π]) 指数函数:e^(ax+b) (a∈[−1,1],b∈[−2,0],a+b∈[−2,0]) 一次函数:ax+b (a∈[−1,1],b∈[0,1],a+b…
[BZOJ 3039&洛谷P4147]玉蟾宫 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda. 现在freda要在这里卖萌...它要找一块矩形土地,要求这片土地都标着'F'并且面积最大. 但是rainbow和freda的OI水平都弱爆了,找不出这块土地,而蓝兔也想看f…
洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入格式 两个正整数 \(a\) 和 \(b\),它们之间用一个空格隔开,表示小凯中金币的面值. 输出格式 一个正整数 \(N\),表示不找零的情况下,小凯用手中的金币不能准确支付的最…
洛谷很早以前就写过了,今天交到bzoj发现TLE了. 检查了一下发现自己复杂度是错的. 题目传送门:洛谷P3704. 题意简述: 求 \(\prod_{i=1}^{N}\prod_{j=1}^{M}F_{\gcd(i,j)}\bmod mod\) ,其中 \(F_{i}\) 是斐波那契数列的第 \(i\) 项, \(mod=10^9+7\) . \(T\) 组数据. 题解: 喜闻乐见的推式子时间. 不失一般性,假设 \(N\le M\) . \[\begin{aligned}&\prod_{i=…
题目传送门:洛谷P4036. 题意简述: 有一个字符串,支持插入字符,修改字符. 每次需要查询两个后缀的LCP长度. 最终字符串长度\(\le 100,\!000\),修改和询问的总个数\(\le 150,\!000\),查询操作\(\le 10,\!000\). 题解: 由后缀和LCP可以想到后缀数组或后缀自动机,但是它们都无法插入或修改. 考虑到LCP可以通过二分+哈希的方式来计算,考虑维护区间的哈希值. 这里使用平衡树无旋Treap来维护区间的哈希值. 一次修改\(O(\log n)\),…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3680 https://www.luogu.org/problemnew/show/P1337 模拟退火大概是从当前状态出发,随机一个状态(温度越高,这个状态与原状态越不同):该状态比原状态优,则直接变成该状态,不然以概率(温度越高,概率越大)变成该状态:可以一边更新答案,更新答案就没概率一说,只往最优的方向更新,即刚才的概率是为了改变原状态使得可以通过该状态找到新的可能更优的状态. 弄这些…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4592 1操作就是用线段树来二分找到第一个有 k 个0的位置. 在洛谷上A了,与暴力和网上题解对拍也都没问题.在bzoj上4msWA.不知道为什么. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define ls Ls[cr] #define rs…
https://codeforces.com/contest/958/problem/E2 首先求出N个时刻的N-1个间隔长度,问题就相当于在这些间隔中选K个数,相邻两个不能同时选,要求和最小 方法1: 一个K^2的做法,有一定技巧 https://www.cnblogs.com/void-f/p/8867585.html 方法2: 是可撤销贪心的模板? 就是贪心的选权值最小的,但是在选完某一个位置i后把它前一个没有被删的位置pre[i]和后一个没有被删的位置nxt[i]删掉,将i的权值变为(-…
题目:bzoj 2005 https://www.lydsy.com/JudgeOnline/problem.php?id=2005   洛谷 P1447 https://www.luogu.org/problemnew/show/P1447 首先,题意就是求 ∑(1 <= i <= n) ∑(1 <= j <= m) [ 2 * gcd(i,j) -1 ]: 方法1:容斥原理 枚举每个数作为 gcd 被算了几次: 对于 d ,算的次数 f[d] 就是 n/d 和 m/d 中互质的…
以下时空限制来自zoj Time limit 10000 ms Memory limit 32768 kB OS Linux Source Online Contest of Christopher's Adventure Author XIN, Tao 吐槽 zoj卡空间卡得太死了--32MB,远远不够放没优化过的主席树套树状数组--刚开始时段错误,还以为是t数组没开够,还是学得不扎实,别人说是就是,都没自己想想算算--后来二分骗数据,发现在还没开始操作.正在建最初的主席树时空间就爆了.没有优…
题目链接: 洛谷 BZOJ 题意 给定 \(n\) 个矿石,每个矿石有编号和魔力值两种属性,选择一些矿石,使得魔力值最大且编号的异或和不为 0. 思路 线性基 贪心 根据矿石的魔力值从大到小排序. 线性基的所有异或和都不为零.因此维护一个线性基,每次插入编号 \(i\),如果 \(i\) 与之前的线性基都线性无关,也就是能插入,就插入并将魔力值累加到 \(ans\). #include <bits/stdc++.h> using namespace std; typedef long long…
题目传送门:洛谷P4396. 题意简述: 给定一个长度为\(n\)的数列.有\(m\)次询问,每次询问区间\([l,r]\)中数值在\([a,b]\)之间的数的个数,和数值在\([a,b]\)之间的不同的数的个数. 题解: 第一问可以用主席树维护,但是第二问呢? 考虑离线处理询问,用莫队算法. 问题转化为加入一个数,删除一个数,统计数值在一个区间中的数的个数. 离散化后可以用树状数组维护,但是复杂度多个log,变成了\(O(n\sqrt{n}\log n)\). 考虑对数值也分块,先离散化,然后…