首页 > 其他分享 >P6371做题记录+鲜花 复杂度

P6371做题记录+鲜花 复杂度

时间:2023-02-17 21:58:07浏览次数:45  
标签:鲜花 P6371 复杂度 做题 dp 数位

看到很大的范围限制,很容易想到数位 dp,记录当前 \(mod\ X\) 的值。但是 \(X\) 会非常大,复杂度爆炸。

考虑不用数位 dp 怎么做。容易想到直接枚举 \(X\) 倍数然后判断是不是只用了所给数字。这样又因为 \(X\) 可能非常小,再次爆炸。

想到可以结合一下两种方法,考虑根号分治,当 \(X\leq 10^5\) 时,数位 dp 解决,否则枚举。这样就可以均衡复杂度了。

剩下板子。

接下来是鲜花部分。

之前做弹飞绵羊的时候,有一个很离谱的想法:如果维护两个不同的操作,时间复杂度一个 \(O(1)\),一个 \(O(n)\)。是不是一定有一种方法,可以通过对 \(O(1)\) 部分进行预处理,使得总复杂度降到 \(O(\sqrt n)\)?

但当我想将这种思维带进区间加和区间查询,或是区间推平时,很明显出现了错误:这本是两个 \(O(n)\) 复杂度的操作,却可以以 \(O(\sqrt n)\) 的复杂度完成?

有人说前缀和,但分块做法很明显不是根据前缀和进行改进。

也许解决这个问题可以将数据结构上升至一个新的高度。

就是乱说的。

标签:鲜花,P6371,复杂度,做题,dp,数位
From: https://www.cnblogs.com/yinhee/p/P6371.html

相关文章

  • 由数据范围反推算法复杂度以及算法内容
    一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在\(10^7∼10^8\)为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:......
  • 周做题记录 #3
    有没有群巨教我怎么出题啊/llP6943[ICPC2018WF]ConquerTheWorldAnalysis题解Solution还有两种做法。一种做法是线段树模拟费用流,如CTSC2010产品销售一样,每次加......
  • 前端面试真题,两周刷完100道。1.时间空间复杂度详解
    时间空间复杂度详解什么是复杂度程序执行时需要的计算量和内存空间(和代码是否简介无关系)复杂度是数量级,不是具体的数字一般针对一个具体的算法,而非一个完整的系统......
  • 神经网络模型复杂度分析
    前言现阶段的轻量级模型MobileNet/ShuffleNet系列、CSPNet、RepVGG、VoVNet等都必须依赖于于具体的计算平台(如CPU/GPU/ASIC等)才能更完美的发挥网络架构。1,计算平台主......
  • 一种空间复杂度为$O(\log n)$的线性字符串匹配算法
    记号记\(\empty\)为空字符串序列记\(Q\)为所有字符串序列构成的集合对于\(A\inQ\),记\(|A|\)为其中字符串个数对于\(\begin{cases}1\lel\ler\len\\A=\{a_{1},a_{2......
  • 【基础】算法的时间复杂度分析
    1、什么是时间复杂度?首先,解决一个问题肯定有许多种方式可以实现,那么如何评价一个算法的好坏?处理相同的数据量,用时更少,用的空间更少。那么如何估算一个程序的运行时间与数据......
  • P3203做题记录
    一种更简单的想法,只用用分块思想(或者根号分治?)不用分块。先考虑暴力怎么做:修改直接改,查询不停跳下一个点。但这样会被卡到\(O(n^2)\)。考虑分块思想优化:如果保证每次至少......
  • NYOJ新手村做题寄
    T1  余数-NYOJ思路:直接for遍历一遍数字,然后找到这个数字i%n是不是为3即可#include<iostream>#include<cstdio>usingnamespacestd;intmain(){int......
  • 做题笔记:NOIP2018 货币系统
    截至目前见过的最妙背包问题。藏的真的很深。有必要为此写一篇笔记。题意给你一个货币系统\(A\),其中包含\(n\)种不同面值的货币,第\(i\)种货币面值为\(a_i\)。......
  • 2023 二月 做题记录
    2.3P3119首先有显然结论:在一个环上反走一定是不值的,因为环上的点本来就相互可达。缩点后建立正反图跑最短路,设正图最短路数组为\(dis1\),反图最短路数组为\(dis2\),对于......