首页 > 其他分享 >LevOJ P2084奇迹树脂

LevOJ P2084奇迹树脂

时间:2024-10-24 12:20:44浏览次数:3  
标签:复杂度 树脂 P2084 计算 sum mod 我们 表达式 LevOJ

题目概述:

给定了函数f的表达式与函数g的表达式,给了T(T<=100)次询问,每次询问一个数n(n<=1e12),求g(n)的值,最终答案对1e9+7取模。

tag:

记忆化,递归,数学

题解:

首先我们需要知道取模的常识:

1. (a+b)%mod=(a%mod+b%mod)%mod

2. a*b%mod=a%mod*b%mod

3. (a+b)%mod=(a+b+mod)%mod(这个很重要,因为在取模过程中,即便是sum原本是累加的,其本身数值比a大,但是经过取模之后,sum可能小于a,因而,当计算(sum-a)%mod的时候就需要写成(sum-a+mod)%mod来避免这种出现负数的情况)

我们首先考虑 f(x) 怎么计算,我们可以很容易地写出:

但是,写过递归的都知道,这将会产生一棵二叉树,我们粗略的估计他的计算次数

假如 f(x)=f(x/3)+f(x/3),那么我们只有在算到x=0的时候才会抵达递归出口,这棵二叉树的深度就大概是log(3)x,而这是一棵类似于满二叉树的树,除了最后一层外的每一层的点都会被填满,那么当n=1e12的时候,树的深度是12log(3)10,约等于25,那么我们就需要计算pow(2,25)次,而原表达式的复杂度肯定是更高的。不是,查询100次f(n)我就gg了,那还写个集贸啊?

我们以计算 f(6)为例,观察下图,我们就会发现f(1)被计算了多次,而当n越大,我们重复计算的就越多,实际上,不管是不断除以2还是不断除以3,一个数n顶多计算log2(n)次和log3(n)次,如果不重复计算的话,我们计算f(n)的时间复杂度肯定是要小于log2(n)+log3(n)的。所以,为了避免重复的计算我们便需要对其记忆化。

修正代码:

这样的话,计算过的数值就不会重复计算了

f(n)的问题解决了,那么我们就可以去解决g(n)了,g(n)是个求和,而求和本身的时间复杂度就是O(n)的,我们使用强硬的手段必然会T飞掉。由于表达式本身的复杂度有问题,我们就要去想想如何对表达式进行进一步的简化,我们可以带入f(x)=f(x/2)+f(x/3)。步骤如下:

在得到了这个式子之后我们会发现,g(x)与f(x)递归式表达式的区别也就在于多了点杂项,但是,即便每次都要计算杂项,对于每一项的计算也都是log的,而实际的复杂度也只是Alog(n)  (这里的A是个小常数),具体写法参见AC代码。

AC代码:

标签:复杂度,树脂,P2084,计算,sum,mod,我们,表达式,LevOJ
From: https://blog.csdn.net/2301_79921853/article/details/143178746

相关文章

  • LevOJ.sln - Beyond course 1
    LevOJ.sln-problemsB1682[Usaco2005Mar]OutofHay干草危机问题描述解决方法P1033简单排序问题描述解决方法法一冒泡排序#include<stdio.h>voidbubble_sort(intn,intarr[]){for(inti=0;i<n;i++){for(intj=0;j<n-i......
  • LevOJ平台 - 持续更新
    LevOJ平台题目可能的解决方法P1001a+b的问题题目描述解决方法#include<stdio.h>intmain(){inta,b;scanf("%d%d",&a,&b);printf("%d\n",a+b);return0;}P1031三角形的面积题目描述解决方法#include<stdio.h>#include<......
  • 除硼专用树脂
    水中硼的存在形式受到pH值的影响。当pH值低于8时,硼主要以硼酸(H3BO3)的形式存在;而当pH值上升到8以上时,硼酸逐渐转变为硼酸根离子(B(OH)4-)。这种转变是由于硼酸的解离常数和在水溶液中的化学特性所决定的。此外,硼在自然界中的存在形式还包括与其他物质结合的化合物,如硼酸盐(B4O72-)......
  • 耐铬酸树脂
    铬酸净化树脂CH-27一、产品介绍Tulsimer®CH-27用于选择性去除重金属离子交换树脂,是一款特级大孔型聚苯乙烯主体架构的,带有特别胺基官能团的弱碱胺交换树脂。它具有极的耐渗透压和优良的物理稳定性。Tulsimer®CH-27可以非常有效的从PH小于2的溶液中选择性的吸附过渡金属......
  • 变色树脂的适用行业
        变色树脂作为一种高交换容量的混床即用树脂,特别适用于阳离子的去除,如碳酸盐、重碳酸盐等碱性水质。它具有优良的阳离子交换动力学性能,能有效去除水中的痕量铁或其他金属离子。变色树脂还用于监测阳床或阴床出水,在临近失效时及时指示失效点,是在线监测仪表直观和有效......
  • 定制私模耳塞常用的泰达克TADHE专用UV树脂。这种UV树脂要求比较高,长时间佩戴在耳朵上,
    定制私模耳塞常用的专用UV树脂私模定制耳塞专用UV树脂通常用于制作个性化的、与耳朵形状相符的耳机内芯。这种UV树脂要求比较高,长时间佩戴在耳朵上,需要确保合适的形状和舒适度。那么定制私模耳塞就要注意以下一些方面:1.     耳模制作:制作私模耳机的第一步,就是首先要......
  • 制作耳机壳的UV树脂和塑料材质相比优势有哪些?
    制作耳机壳的UV树脂和塑料材质相比优势有哪些?制作耳机壳的UV树脂相比塑料材质有以下优势:高强度与耐磨性:UV树脂具有高强度和耐磨性,能够更好地保护耳机内部零件,延长耳机使用寿命。相比之下,塑料材质可能较易磨损或刮伤。耐高温:UV树脂具有较好的耐高温性能,即使在炎热的环境中也......
  • 氟树脂PFA量筒的用途和特点
    PFA量筒用途:不易漏液,能够测量高纯度强酸、强碱等各种化学溶剂。适合转移测量,保管各种液体的盛装物。是化工化学、电子产业及半导体研究室的必需品。特点:1、耐药品性强,几乎不会被化学药品,酸碱溶解;2、表面特性,表面平滑,物质难附着;3、耐热性良好,-200摄氏度~260摄氏度;4、耐腐......
  • 全氟烷氧基树脂(PFA)洗瓶的性能优势
    洗瓶是化学实验室中用于装清洗溶液的一种容器,并配有发射细液流的装置。#实验室#PFA#洗瓶PFA洗瓶由特氟龙塑料制成,带有螺旋盖。特氟龙塑料被设计成柔韧的,因此可以用手挤压瓶子以产生压力,迫使瓶子中的液体流过塑料管并以单滴或窄流的形式流出到被清洁的表面上。PFA洗瓶主要用于清......
  • 全氟烷氧基树脂(PFA)烧杯的用途和优点
    PFA烧杯是化学实验室常见的一种特氟龙塑料烧杯。PFA烧杯呈圆柱形,顶部的一侧开有一个槽口,便于倾倒液体。杯体带刻度,方便量取液体。常用规格PFA烧杯的主要用途如下:1、酸碱腐蚀性物质的反应容器、确定燃烧产物。2、溶解、结晶某物质。3、盛取、蒸发浓缩或加热溶液。4、盛放腐......