mn
  • 2024-07-01LibreOJ 3910 「PA 2022」Mędrcy
    考虑找一下走掉的条件:若\(x\)第\(1\)天走掉,那么就说明\(x\)没有知道任何咒语。若\(x\)第\(2\)天走掉,那么就说明应该存在一个\(y\),按照\(x\)已知的信息,\(y\)应该没有掌握咒语,但是\(y\)第一天没走。若\(x\)第\(3\)天走掉,那么就说明应该存在一个\((y,z)\)
  • 2024-06-12LeetCode刷题之HOT100之单词搜索
    2024/6/12这两天天气只能用闷、潮、热来描述。整个人像被罩在为了饭菜保温的盖子里,喘气困难、粘稠的空气一次又一次打湿我。唯有空调救我,夏天来了。Anyway,昨天只做了一题,今天早点来做一题。1、题目描述2、逻辑分析给定一个二维字符矩阵和一个单词,求单词是否在这个二维
  • 2024-06-08P9000 [CEOI2022] Measures 题解
    思路简单题。考虑任意两点之间的限制。任意两点合法时必须要满足:\[\frac{d(j-i)-(a_j-a_i)}{2}\let(i\lej)\]所以答案即为:\[\max_{i\lej}\frac{d(j-i)-(a_j-a_i)}{2}\]使用线段树简单维护即可。时间复杂度:\(O((n+m)\log(n+m))\)。Code#include<bits/stdc++.h>using
  • 2024-06-05P4785 [BalticOI 2016 Day2] 交换 题解
    看到\(i\)和\(\lfloor\frac{i}{2}\rfloor\),考虑一颗二叉树。题目的操作相当于按顺序交换当前节点和左右儿子的权值。假设当前考虑的节点为\(id\),左儿子为\(ls\),右儿子为\(rs\),当前这些点的值分别为\(A,B,C\)。因为\(id\)的位置最靠前,最终又要字典序最小,所以要尽可能
  • 2024-06-04(nice!!!)LeetCode 3097. 或值至少为 K 的最短子数组 II(位运算、滑动窗口)
    3097.或值至少为K的最短子数组II思路:既然求的是区间,那么我们自然就想到前缀和、滑动窗口、双指针。结合本题的特点:或运算,会发现如果一段连续的区间进行或运算,最多只会有32次运算可以改变,这是因为int型的二进制范围是-2^31~2^31-1,每次增加一个二进制形式的1。所
  • 2024-06-01集训
    \(\texttt{2024/6/1NOIP}\)模拟赛\(Rk9\),分数\(100+40+0+16=156.\)\(T1\)直接\(30min\)秒了,树剖调都没怎么调。\(T2\)上来就发现了一些性质,然后\(1h\)后就想出来了正解,然后开调。但是可持久化线段树太过难写,最后发现还要两棵。我甚至只知道可持久化线段树的原理
  • 2024-05-28LibreOJ 2839 「JOISC 2018 Day 3」安全门
    令\(S\)为题面的\(S'\)。首先考虑刻画出\(\texttt{()}\)对应的折线。首先如果\(S\)本身合法,那么直接DP算一下就行了。否则考虑不合法的情况,考虑反转\((l,r]\)合法的情况的判定。令\(s_i\)为前\(S_{1\simi}\)的前缀和的值。那么有:\(s_r-s_l=\frac{s_n}
  • 2024-05-05整体二分
    1概念在很多题目中,我们可以使用二分法来得出答案。但是如果说这一类题目有多次询问,并且多次询问分别二分会TLE时,我们就需要引入一个东西叫整体二分。整体二分的主要思路就是将多个查询一起解决,因此它是一种离线算法。整体二分的具体操作步骤如下:首先记\([l,r]\)为答案的
  • 2024-04-18POI2009SLO-Elephants
    #POI#Year2009#贪心#数学建图,对于每个环,有两种可行的方案,是这个环内部操作,需要的代价为\(mi\times(cnt-2)\),\(mi\)为这个环中的最小值,\(cnt\)为这个环的长度还可以用环外的一个点,需要的代价为\(mn\times(cnt+1)+mi\)直接贪心即可//Author:xiaruizeconsti
  • 2024-04-154.15学长自选题
    D题题意:把给定的一个数字数列放到对角线上,其他位置填写min(横,竖)。要求找到一个矩形,分别把所有的1,2,3....k都包含起来输出其长+宽思路:找到最远的那个即可,然后(mx-mn+1)*2#include<bits/stdc++.h>usingnamespacestd;#definefifirst#definesesecond#defineIO
  • 2024-04-07洛谷题单指南-数学基础问题-P1866 编号
    原题链接:https://www.luogu.com.cn/problem/P1866题意解读:N个整数M1~Mn,对每个整数Mi,选取1~Mi之间的一个数,使得N个数都不一样的选法。解题思路:将M1~Mn由小到大排序,第1个的选法有M1种第2个的选法有M2-1种第3个的选法有M3-2种......第n个选法有Mn-n+1种全部相乘取模即可。
  • 2024-04-05每日一题:1026. 节点与其祖先之间的最大差值
    给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V=|A.val-B.val|,且 A 是 B 的祖先。(如果A的任何子节点之一为B,或者A的任何子节点是B的祖先,那么我们认为A是B的祖先) 示例1:输入:root=[8,3,10,1,6,null,14,null,null,4,
  • 2024-04-02docker
    初始docker项目部署问题部署较为复杂,部署碰到许多问题形成可移植docker是一个快熟交互的应用dokcer和虚拟机区别应用需要依赖一起打包node,mysql跨系统镜像2部分组成:[]repository在没有指定启动systemctlstartdockerdocker基本命令dockerfiledockerbuildlocaldockerr
  • 2024-03-17UVA10829 L-Gap Substrings
    我永远喜欢数据结构。貌似是此题中第一个使用SA+分治+二维数点做法的题解?题目传送门给出字符串\(s\)和常数\(g\),求出有多少四元组\((l_1,r_1,l_2,r_2)\),满足\(s[l_1,r_1]=s[l_2,r_2]\)且\(r_1+g+1=l_2\)。\(T\)组数据,\(1\leT,g\le10\),\(|s|\le5\times10
  • 2024-03-14CF436E - Cardboard Box 题解
    只讲贪心做法。一、反悔贪心考虑如何使选的星星总数多一。显然,有如下几种方式:选一个之前没选过的位置\(i\),答案加上\(a_i\)。选一个之前选过一次的位置\(i\),答案加上\(b_i-a_i\)。对于一个之前选过一次的位置\(i\),再找到一个没有选过的位置\(j\),反悔掉\(i\),并选
  • 2024-03-10[省选联考 2024] 魔法手杖 题解
    首先有个很显然的\(\mathcalO(nk^2)\)的做法,即二分答案,然后trie树上判断。对于trie树上一颗子树内的判定,考虑当前二分的\(\text{mid}\)这一位是\(1\)还是\(0\)以及\(x\)这一位填什么。对于\(1\)的情况,如果填\(0\),那么右儿子仍然合法,左儿子中的数必须要放到
  • 2024-02-29Codeforces 863E Turn Off The TV
    能发现其实就是区间加查询区间最小值。如果最小值\(>1\)则这个区间可以删掉。考虑离散化端点,先把区间表示为\([l_i,r_i)\)的形式,方便离散化端点。这样子离散化出来的端点也是\([x,y)\)的形式。对于区间加查询区间最小值,很容易用线段树维护。时间复杂度\(O(n\logn)
  • 2024-02-27题解 CF983D Arkady and Rectangles
    \(\texttt{link}\)题意平面直角坐标系上给定\(n\)个矩形,第\(i\)个矩形颜色为\(i\),颜色大的矩形将覆盖颜色小的矩形,问最后能看到几种颜色。\(1\len\le10^5,|x_i|,|y_i|\le10^9\)题解首先离散化,考虑扫描线如何维护序列上的颜色。一个区间\([l,r]\)投射到线段树上\(
  • 2024-02-26无法言说亦或是不再记得的昨天的梦
    T1statement给定\(l,r\),选出一些\(\in[l,r]\)的数,问他们的按位或有多少种不同的值。solution沙比分讨题。考虑求出\(l,r\)最高的不同位\(i\),比这位更高的就不影响了,考虑第\(i\)位选或不选。不选,那么我们可以用的数就是\(l\to2^i-1\),显然不同数就是\(2^i-l\)
  • 2024-02-23「ABC339C」 Perfect Bus
    题意有一辆公交车,路上会在\(N\)个站点停靠,每个站点会有\(A_i\)个乘客上下车(正数表示上车,负数表示下车)。请选择一个恰当的正整数作为起始时车上的人数,使得路途中乘客的人数总为非负数。然后输出最终车上的人数。分析从头到尾遍历一遍\(A\),计算总和\(s\),这是到达终点
  • 2024-02-19P3411 序列变换 题解
    自己做不出来,看现在题解区的题解讲的都不咋清楚。懂了之后来为后人铺路。而且我的马蜂比较好看题目传送门我能看懂这道题,主要是依靠了这篇题解的帮助。首先我们只关注数的相对关系,所以可以离散化。注意到值域\(10^6\),用数组离散化。这道题可以用贪心做。(有一些定义先往下看)
  • 2024-02-17ABC 341
    前五题水。提一嘴D:应该是x/n+x/m-2*x/lcm(n,m),而不是x/n+x/m-2*x/nm!F题意:给定图。每个点有权值\(w\)。初始每个点有\(a_i\)个片。每次操作可以选定一个有片片的点,拿走它的一个片片,然后从它的邻点中选若干个,要求满足选出的点权值总和小于该点权值,把选出的点
  • 2024-02-14区间 DP
    思路:按区间的\(len\)从小到大DP,枚举左端点,算出右端点,再枚举中间的分界点转移有可能是向左右两端各扩展\(1\)步还有时要记录在左/右端点,分开转移把问题划分为区间长度更短的最优子结构注意\(len=1\)时初始化及边界P4342[IOI1998]Polygon这题已经说了去掉一条边后执
  • 2024-02-07[AGC041F] Histogram Rooks 题解
    题目链接点击打开链接题目解法好牛(难)的题!!!所有都被覆盖不难想到容斥暴力的容斥是钦定集合\(S\)中的位置都没被覆盖,然后把不能填棋子的点都去掉,假设剩下的不受限制的点的个数为\(c\),则答案为\(\sum2^c(-1)^{|S|}\)这个暴力是很难直接优化的如果一列被有点被钦定了,那么
  • 2024-02-07#排列组合#CF1550D Excellent Arrays
    洛谷传送门CF1550D分析对于excellent的\(a\)来说\(|a_i-i|=x\)的值是固定的,考虑枚举它一半正一半负时函数值是最大的,当\(n\)为奇数时要分为两种情况(不过可以通过杨辉三角合并)问题是,由于\(l,r\)的范围,并不能做到所有位置都能可正可负,不过不超过\(mn=\min\{1-l,r-n\}