tr
  • 2024-11-21【模板】可并堆 之 左偏树
    **P3377【模版】左偏树/可并堆**#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intn,m;structHeap{ intls,rs; intdist,val,fa;}tr[N];intfifa(intx){ returntr[x].fa==x?x:tr[x].fa=fifa(tr[x].fa);}intmerge(int
  • 2024-11-21模板
    数据结构线段树2voidbuild(intp,intl,intr){ l(p)=l,r(p)=r; if(l==r)return; intmid=l+r>>1; build(ls(p)=p<<1,l,mid),build(rs(p)=p<<1|1,mid+1,r);}voidpushdown(intp){ sum(ls(p))=(sum(ls(p))*mul(p)+add(p
  • 2024-11-2011.20
    \(100+100+30+45=275\)开场\(10\)分钟,开始码A,码了一个小时无果删码跑路。十几分钟把B切了开始单挑C,失败。写完D暴力后剩30min,极限写完A。A:小H的积木把最上方和最下方的都加入线段树,如果有一个数加入了\(2\)次,就把它放入待选答案里面,每次选择最小的同时放入与
  • 2024-11-20[赛记] NOIP2024加赛5
    暴力操作(opt)30pts这个错解可反悔贪心30pts;考虑正解,我们只需考虑前$\fracn2+1$小的数即可;考虑二分出一个中位数$mid$,那么我们要让大于它的都用最小的代价变小;考虑如何求这个最小的代价,因为$\lfloor\frac{\lfloor\fracab\rfloor}{c}\rfloor=\lfloor\frac{ab
  • 2024-11-18洛谷题单指南-二叉堆与树状数组-P3374 【模板】树状数组 1
    原题链接:https://www.luogu.com.cn/problem/P3374题意解读:树状数组模版:单点修改,区间求值。解题思路:树状数组-BinaryIndexTree可以动态维护一组数,可以O(logn)的修改一个数,也可以O(logn)的计算一段区间的和。思考一下朴素做法:如何修改一个数,计算区间和?如果是常规数组,修改操作
  • 2024-11-17K-D Tree
    0.前言K-DTree是一种能够处理高维空间信息的数据结构,其在一些情况下能够代替CDQ分治以及树套树,较优秀地处理\(k\)维空间上的信息。参考资料:OI-wiki题单:\(\tt{Link}\)1.KDT的原理KDT的结构与BST类似,其每一个非叶子节点都具有超平面的作用,建树时会选择\(k\)维中某
  • 2024-11-15POI 四题题解
    P3434[POI2006]KRA-TheDisks考场上不知道在想什么,把\(O(n)\)正解改成\(O(n\mathrm{log}n)\)的了。关于\(O(n\mathrm{log}n)\)做法很多,我只讲我的。直接二分盘子会在哪里卡住,二分范围是\(1\simlst\)。\(lst\)表示上一个盘子卡住的位置。\(\mathrm{Code}\)#includ
  • 2024-11-15【模板】Runs
    学习资料:Lyndon&Runs-洛谷专栏。yyc讲的太好了啊,我就不抄了。做Lyndon分解的Duval算法在Runs的求解中出现次数非常高,请一定记住它。if(tl+tr>=r-l+1)这一行是算的刚刚好的,这里对应的LyndonRoot是\([l,r)\),然后求出lcp,lcs分别是\(tl,tr\),则这个ru
  • 2024-11-15Flutter插件Get(7):实现语言的国际化
    一、前言除了FlutterIntl的方式实现国际化(参考我以前的博客:Flutter进阶(2):国际化开发-fengMisaka-博客园),还可以使用GetX实现国际化(推荐)。先看下效果图:二、GetX实现国际化(推荐)新建一个Flutter工程,使用GetX实现国际化的具体步骤如下:2.1安装Getx在pubspec.yaml
  • 2024-11-15zkw 线段树-原理及其扩展
    前言许多算法的本质是统计。线段树用于统计,是沟通原数组与前缀和的桥梁。《统计的力量》清华大学-张昆玮关于线段树前置知识:线段树OIWiki。线段树是一种专门维护区间问题的数据结构。线段树对信息进行二进制化处理并在树形结构上维护,以此让处理速度达到\(O(\log{n})\)
  • 2024-11-14P8099 [USACO22JAN] Minimizing Haybales P 题解
    好题图论的难点在于建图~首先我们关注到如果两个草堆之间的差大于K,那么他们的位置就是固定的,就相当于给了一些限制,这就是很经典的连边然后拓扑排序。其实你是不是可以直接从小的向大的连边(我没试)然后再做排序。这一部分代码(粗略验证正确性,赶着写的,可能比较一言难尽)#include<bi
  • 2024-11-14#5. 可持久化线段树
    请先学习线段树的相关内容喵。线段树博客待填可持久化线段树0x01.简介OIWiki上的神秘定义:函数式线段树是指使用函数式编程思想的线段树。在函数式编程思想中,将计算机运算视为数学函数,并避免可改变的状态或变量。不难发现,函数式线段树是完全可持久化的。可持久化线段树
  • 2024-11-13线段树
    线段树题目:https://www.acwing.com/problem/content/1277//*题目:https://www.acwing.com/problem/content/1277/给定一个正整数数列a1,a2,…,an,每一个数都在0∼p−1之间。可以对这列数进行两种操作:添加操作:向序列后添加一个数,序列长度变成n+1;询问
  • 2024-11-13linux 命令值xargs与tr
    管道符 | 允许将一个命令的输出作为另一个命令的输入。然而,管道符在处理某些类型的输入时存在局限性,特别是当需要将一系列输入项作为单个命令的多个参数时()。xargs 的出现正是为了解决这个问题。xargs 能够从标准输入(stdin)读取数据,并将这些数据转换为特定命令的参数列表。这
  • 2024-11-1111.11
    明天有信息会考。A.严格弱于NumbersonaCircle。先做个差分,发现每回就是选择一个数加\(n\),最后使得每个数都相等,那么每个数的操作次数就是与最大值的差值除以\(n\),注意判断无解。B.DivisionintoTwo感觉跟\(CSP-S\)的\(C\)差不多啊。考虑到如果将集合\(S\)中的数
  • 2024-11-11可持久化线段树(主席树)
    主席树作为最常用的可持久化数据结构,广泛运用与各种区间、树上问题的在线求解已经对DP的优化上。这里主要讨论其单纯作为数据结构的应用。P1972[SDOI2009]HH的项链这是一道极其经典的题——静态区间种类数,其变体非常多,树上的,待修的,强制在线的等等。这题做法也很多样,离线后
  • 2024-11-10基于Python电影票房数据分析可视化系统 Flask框架 豆瓣电影票房 MySQL数据库 大数据毕业设计✅
    博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌>
  • 2024-11-10[赛记] 多校A层冲刺NOIP2024模拟赛20
    星际联邦80pts前连20条,后连20条80pts。。。考虑正解,发现向前连最大,向后连最小会出现重边,所以避免出现这种情况,我们只需要在做完向前连最大以后,在向后连最小的时候连不是同一个连通块的即可;时间复杂度:$\Theta(n\logn)$,瓶颈在排序;其实这个思想就是最小生成树的那个BUA算法
  • 2024-11-10noip模拟9
    来自官方题解.md星际联邦做法比较多,可以直接用Prim来做,但最简单的做法仍然是考虑Borůvka算法,我们在每一轮需要找到这个点向外到另一个联通块内的最小边。注意到当\(i\)固定时,最小边要么是前缀\([1,i)\)的最大值取到的,要么是\((i,n]\)内的最小值取到的。我们只需要
  • 2024-11-09可持久化线段树
    少写了一点,可持久化的好处就是可以用较低的代价去得到可以变换版本这一功能。可持久化线段树(主席树)带注释的代码/*注意,可持久化线段树很难支持区间修改,一般涉及区间修改的时候不用单点修改是可以的一样,直接选这题不大好,看下面的通用模版,具有通
  • 2024-11-08题解:P11249 [GESP202409 七级] 小杨寻宝
    题目显然等价于问所有宝箱是否在一条链上。稍微转化一下题意,即我们现在要找到一条链,使得这条链上有宝物的节点数量尽可能多。想到这里我们发现这个和树的直径比较相似,那么我们直接大胆将深度定义为从根到这个节点上有宝箱节点的数量,然后做一遍树的直径。最后判断直径长度是否等
  • 2024-11-08zkw 线段树-原理及其扩展
    前言许多算法的本质是统计。线段树用于统计,是沟通原数组与前缀和的桥梁。《统计的力量》清华大学-张昆玮关于线段树前置知识:线段树OIWiki。线段树是一种专门维护区间问题的数据结构。线段树对信息进行二进制化处理并在树形结构上维护,以此让处理速度达到\(O(\log{n})\)
  • 2024-11-08[赛记] NOIP2024加赛1 && 多校A层冲刺NOIP2024模拟赛18
    暴力错解大赛玩游戏82pts乱糊的错解,正确性和时间复杂度都不对,但是拿了82pts;对于正解,考虑从$k$将原序列分成两个部分,左边和右边,然后分别求一次前缀和(注意这里,可以省去很多分讨和常数),设前一个前缀和数组为$a$,后一个为$b$,那么问题就转化成有两个指针$i,j$,可以任
  • 2024-11-07QT:简易文本编辑器
      效果 main.cpp 代码:#include"imgprocessor.h"#include<QApplication>intmain(intargc,char*argv[]){QApplicationa(argc,argv);QFontf("ZYSong18030",12);//设置显示字段格式a.setFont(f);ImgProcessorw;w.s
  • 2024-11-07[luoguP1456] Monkey King
    题意给出\(n\)个集合\(S_1\cdotsS_n\),\(S_i=\{a_i\}\),每次给出\(x,y\),将第\(x\)和第\(y\)个元素所在的集合的最大值\(\div2\),合并两个集合,然后输出新集合的最大值。sol每次求出两个集合,记录两个集合的最大值并删除,将两个集合与两个最大值除以\(2\)后合并即可。