• 2024-07-04图论总结
    重链剖分树上修改,查询路径信息之类的最多经过logn个轻边,这样可以更好地划分注意点:修改边权可以转化到点权上面:注意lca的位置不要修改,应该是update(id[y]+1,id[x])例题:轻重边:https://www.luogu.com.cn/problem/P7735判断是不是重边,信息转化到点上面,边两端的颜色相同就
  • 2024-07-04Luogu P1110 [ZJOI2007] 报表统计
    题目描述给定一个长度为\(n\)的整数序列\(a\),有以下三种操作:INSERTix:\(i\)位置后面添加一个新元素\(x\),下一个元素挂在这个元素后面。MIN_GAP:查询相邻元素差值的最小值。MIN_SORT_GAP:查询元素中最接近的两个元素的差值。题目解析平衡树经典题目。建立\(2\)棵平衡
  • 2024-07-03Luogu P6104 [EER2] 相同的数字
    令\(\text{nxt}_i\)为\(i\)之后的第一个质数。考虑最后\(a_i\)会变成什么。首先第一种就是直接变为\(\maxa_i\)。其次还发现可能变为\(\operatorname{nxt}_{\maxa_i}\)。对于其他的,可以证明一定不优于这两种,因为其他的情况无非就是在这基础上继续跳\(\operatorname
  • 2024-07-03Luogu P10674 【MX-S1-T3】电动力学
    首先考虑这个\(S,T\)肯定需要固定一个算另一个的方案数。如果固定\(S\),会发现非常不好给\(T\)下限制。于是考虑固定\(T\),对\(S\)计数。首先考虑如果\(T\)只有\(2\)个点\(x,y\),该怎么对\(S\)计数。考虑到这个简单路径的定义是不经过重点,考虑找到点双。然后能
  • 2024-07-01Luogu P9542 [湖北省选模拟 2023] 棋圣 alphago
    2023.08.19:修改了一处笔误。手玩发现对于一颗生成树,如果存在至少一个点的度数\(>2\)(即不为链),那么肯定能使得所有棋子都在一条边的两个端点上。因为有度数\(>2\)的点的存在,这里就可以合并与其相连的点的棋子。先考虑非链的情况的答案,记两部分棋子黑白棋子颜色分别为\(c(a/
  • 2024-07-01Luogu P6864 [RC-03] 记忆
    先考虑没有\(3\)操作该怎么做。对于当前字符串把其分成多组互不包含的括号的形式,即\((\cdots)()()\)这样,考虑经过\(1/2\)操作后对互不包含的括号组数\(b\)和答案\(v\)会产生什么影响。\(1\)操作,加上过后便会多上一组互不包含的括号,\(b\leftarrowb'+1\),同时这个
  • 2024-07-01[刷题笔记] Luogu P1612 [yLOI2018] 树上的链
    ProblemDescriptionDescription给定一棵有\(n\)个节点的树。每个节点有一个点权和一个参数。节点\(i\)的权值为\(w_i\),参数为\(c_i\)。\(1\)是这棵树的根。现在,对每个节点\(u\)(\(1\lequ\leqn\)),请在树上你找到最长的一条链\(v_1,v_2,\dotsv_m\),满足如下条件:
  • 2024-06-11[DP] [倍增优化] Luogu P1081 [NOIP2012 提高组] 开车旅行
    [NOIP2012提高组]开车旅行题目描述小\(\text{A}\)和小\(\text{B}\)决定利用假期外出旅行,他们将想去的城市从$1$到\(n\)编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市\(i\)的海拔高度为\(h_i\),城市\(i\)和城市\(j\)之间的距
  • 2024-06-10Luogu P1784 数独 [ 模板 ] / P1074 靶形数独 题解 [ 蓝 ] [ 深搜 ] [ 剪枝 ] [ 卡常 ]
    数独模板,靶形数独卡了2h,再也不想写数独了。思路显然是对每个格子进行枚举,类似八皇后的方法去做,朴素方法是由\((1,1)\)到\((9,9)\)遍历过去。优化我们人在做数独时,会优先选择已填格数多的行、列、区域,这样可以保证尝试次数少。同样,这一点在本题中也可以应用,但是有两
  • 2024-06-06[DP] LCS例题 Luogu P1439 【模板】最长公共子序列 Luogu P4303 基因匹配
    LuoguP1439【模板】最长公共子序列【模板】最长公共子序列题目描述给出\(1,2,\ldots,n\)的两个排列\(P_1\)和\(P_2\),求它们的最长公共子序列。输入格式第一行是一个数\(n\)。接下来两行,每行为\(n\)个数,为自然数\(1,2,\ldots,n\)的一个排列。输出格式一个数,即
  • 2024-06-04Luogu P2036 [COCI2008-2009 #2] PERKET
    LuoguP2036[COCI2008-2009#2]PERKET#include<bits/stdc++.h>usingnamespacestd;intn,ans=1e9+5;//ans初始化值大于所有可用食材全部使用产生的总酸度和总苦度ints[15],b[15];voiddfs(inttot,intk,intl){//k为当前酸度,l为当前甜度if(to
  • 2024-06-03编程奇境:C++之旅,从新手村到ACM/OI算法竞赛大门(武器:排序算法)
    引言现在你已经拥有了c++的基础语法知识,人物已经有了基本属性,那么想要打怪,手里必须要有趁手的武器,各种算法就是手中的武器,要根据怪物的不同特性来选择不同的武器。本章节讲的就是新手第一把武器:排序算法。所谓排序算法就是把一些乱序的序列按照从小到大或从大到小进行排序,是
  • 2024-06-02Luogu P3366 Code
    这道题有2种解法,分别是\(Kruskal\)算法和\(Prim\)算法\(Kruskal\)算法实现方法:从小到大遍历每一条线,如果该线连接的两点已经都在树内则不处理,否则描出这条线使用并查集维护该树代码:#include<bits/stdc++.h>usingnamespacestd;constintN=2e5+5;pair<int,
  • 2024-05-31B3663 [语言月赛202209] Luogu Academic
    [语言月赛202209]LuoguAcademic题目描述七海在LA群中游走,获得了一个由英文小写字符组成的字符串SSS。七海想要知道,子串luogu在其中出现了多少次。提示:一个字
  • 2024-05-30编程奇境:C++之旅,从新手村到ACM/OI算法竞赛大门(基础语法)
    踏入C++王国的神秘之门,首要任务是装备上基础语法这把万能钥匙,它不仅是你与代码世界对话的初级咒语,更是构筑编程魔法塔的基石。想象自己是一位即将踏上征途的勇士,先要学会站立、行走,方能奔跑、飞跃。基础语法:勇者的起跑线顺序结构:这就像是一场精心策划的冒险,你的每一个指令—
  • 2024-05-26Smart - Luogu —— 智能的洛谷
    目录安装Stylus谷歌Edge安装Smart-Luogu使用尾声安装Styluslink点击推荐下载,获取crx文件谷歌先点击右上角三个点,再点击扩展程序,然后点击管理扩展程序,进入管理扩展界面,把开发者模式选上,把crx文件拖入即可Edge先点击右上角三个点,再点击扩展,然后点击管理扩展程序,进入
  • 2024-05-23Luogu P5073
    题面简述:全局加、区间最大子段和。做这题之前请确保你会:线段树、凸包、闵可夫斯基和、如果没有修改或只有单点修改,那就是经典问题(这题现在似乎也成经典问题了):线段树节点上维护区间和\(\text{sum}\)、最大前缀和\(\text{ls}\)、最大后缀和\(\text{rs}\)、最大子段和\(\tex
  • 2024-05-13单调栈
    单调栈:可以线性预处理:序列前/后缀最大/小值的位置,或者是第\(i\)个数下一个更小/大数的位置。B3666求数列所有后缀最大值的位置https://www.luogu.com.cn/problem/B3666题意:给一个初始为空的数列\(a\),共\(n\)次操作,第\(i(1\leqi\leqn)\)次操作会在\(a\)的末尾
  • 2024-05-13NOIP真题题解
    2001T4Car的旅行路线ybtluogu建图+最短路1.建图时细节较多已知三点求第四点的坐标勾股定理判断斜边2.最短路时多起点多终点2013D1T3货车运输ybtluogu最大生成树+倍增LCA答案的边一定在最大生成树上将原图建出最大生成树在树上使用倍增LCA提取路径2014D2T2寻
  • 2024-05-11luogu P4342[IOI1998]Polygon
    阅读前需深剖析分系列是记录我个人的做题思路,实现过程的全面分析,存在内容可靠、思路健全、分析到位、试错纠错等优于一般题解的特征,其中,Quest部分表示探索问题,我会在此提出做题时的想法、问题,并在内容中得到解决,因此建议从上到下按序浏览,以防出现思路断层,内容不衔接的情况,感谢理
  • 2024-05-06luogu P6329 【模板】点分树 | 震波
    //【模板】点分树|震波//https://www.luogu.com.cn/problem/P6329#include<bits/stdc++.h>#definedebug(a)cerr<<"Line:"<<__LINE__<<""#a<<endl#defineprint(a)cerr<<#a"="<<(a)<<endl#d
  • 2024-05-03[分块] [Luogu AT_joisc2014_c] 历史研究
    题目描述IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记。JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件。日记中记录了连续\(N\)天发生的事件,大约每天发生一件。事件有种类之分。第\(i\)天发生的
  • 2024-05-01九下五月上旬日记
    5.1闲话做题纪要luoguP3521[POI2011]ROT-TreeRotationsWhatis先序遍历?对于一棵子树的根节点\(x\),交换其左右子树,不会对以前的节点产生影响(不会更改贡献)。这棵子树产生的贡献值来自三种情况,分别是都在左子树,都在右子树,左子树和右子树各一个。只考虑第三种情
  • 2024-04-07[POI2007] [LUOGU P3451]旅游景点 Tourist Attractions
    本题解由于作者太菜在POI及LUOGU上会TLE,该题解主要讲思路,剩下的内存优化请各位大佬自行补充,欢迎评论区讨论本题解运行时间10406ms,空间194584KiB题目描述FGD想从成都去上海旅游。在旅途中他希望经过一些城市并在那里欣赏风景,品尝风味小吃或者做其他的有趣的事情。经过这些城
  • 2024-04-07SP64 PERMUT1 - Permutations 题解
    题目传送门前置知识动态规划基础解法设\(f_{i,j}\)表示\(1\simi\)的全排列中存在\(j\)个逆序对的方案数,状态转移方程为\(f_{i,j}=\sum\limits_{k=j-\min(i-1,j)}^{j}f_{i-1,k}=\sum\limits_{k=0}^{j}f_{i-1,k}-\sum\limits_{k=0}^{j-\min(i-1,j)-1}f_{i-1,k}\)。需