• 2024-07-02SP8177 JZPEXT - Beautiful numbers EXTREME 题解
    题目传送门前置知识数位DP|同余解法同余的传递性:若\(\begin{cases}a,b\in\mathbf{Z}\\p,q\in\mathbb{N}^{*}\\q|p\end{cases}\),则当\(a\equivb\pmod{p}\)时有\(a\equivb\pmod{q}\)。故在本题中\(\bmod\)各非零数码均等于\(0\)等价于\(\bmod\)各
  • 2024-07-01Luogu P9542 [湖北省选模拟 2023] 棋圣 alphago
    2023.08.19:修改了一处笔误。手玩发现对于一颗生成树,如果存在至少一个点的度数\(>2\)(即不为链),那么肯定能使得所有棋子都在一条边的两个端点上。因为有度数\(>2\)的点的存在,这里就可以合并与其相连的点的棋子。先考虑非链的情况的答案,记两部分棋子黑白棋子颜色分别为\(c(a/
  • 2024-07-01[3B1B]线性代数的本质
    video向量空间中的箭头,指导我们如何从起点走到终点。从二维向量开始考虑,例如\(\operatorname{transform}[2,3]\)。三维向量同理,\(\operatorname{transform}[2,3,4]\)。向量相加时,考虑本质,\(\operatorname{transform}[a,b]+\operatorname{transform}[c,d]=\operatorname{tran
  • 2024-06-24[题解]CF1712E1 LCM Sum (easy version)
    思路这是一道极好的思维题,主要考察了:组合数学和正难则反的方法。这题可以发现如果用直接法将十分的繁琐,于是乎,我们可以用正难则反的方法,即:总的减去不满足的。这道题总的很好求,为:\(C_{r-l+1}^{3}\)。不满足的情况,我们就可以将题目转化为:\(\operatorname{lcm}(i,j,k)<i+
  • 2024-06-23[Tkey] 与非
    解法原理1首先我们需要明白\(\operatorname{nand}\)的运算:\[\operatorname{not}(a\operatorname{nand}b)=a\operatorname{and}b\tag{1}\]这个很好理解,因为\(\operatorname{nand}\)就是这么定义的(从中文名字可以看出来)。\[(\operatorname{not}a)\operatorname{nand}(\opera
  • 2024-06-03第一周
    GiantGraph首先\(10^{18}\)很大,所以我们优先选取\(x+y+z\)最大的点。按\(x+y+z\)从大到小选择即可。但是时间复杂度为\(\mathcalO(n^3)\)。给边定向,边从小连到大,那么整个图就是一个DAG。发现对于每个点\(i\):如果\(i\)的出边被选了,则不能选择\(i\)。如果都
  • 2024-06-03跨越天堂
    SCP-CN-3999,跨越天堂。P10144如果一个区间\([L,R]\)满足条件,则\(\max(a_i,h-a_i)\)在\([L,R]\)上单谷。观察到能让\(\max(a_i,h-a_i)\)和\(\max(a_{i+1},h-a_{i+1})\)变号的\(h\)分割点只有\(\mathcal{O}(n)\)个,于是可以用一种类似于扫描线的方法记录每一个符
  • 2024-06-03QOJ 7008 另解
    文中符号:\(\operatorname{Period}(s)\):字符串\(s\)的周期集合。\(\operatorname{Per}(s)\):字符串\(s\)的最小周期。循环节:\(x\in\operatorname{Period}(s)\)且\(x|\operatorname{len}(S)\)。\(\operatorname{Cyc}(s)\):\(s\)的最小循环节。\(\operatorname{endpos}(
  • 2024-06-02Avalon
    SCP-6001,阿瓦隆。CF1821FTimber假如我已经知道了有哪些点放了树,如何判定这个点集是否合法?这个显然,从左往右贪心,能往左倒就往左倒。令这样得到的区间分别是\([l_1,r_1],\cdots,[l_m,r_m]\),那么我们换个角度,通过计数这些区间的方案数来计数点集的方案数。若\(r_i\gel_{i
  • 2024-05-30树上点到路径/链的最短距离
    结论树上一个点\(x\)到路径\(u\rightarrowv\)的最短距离为:\[dep[x]+dep[\operatorname{lca}(u,v)]-dep[\operatorname{lca}(x,u)]-dep[\operatorname{lca}(x,v)]\]其中,\(dep\)为该点的深度,\(\operatorname{lca}\)为两点的最近公共祖先。证明我们提取出同时包含\(x,u,
  • 2024-05-28行列式求值,从 $n!$ 优化到 $n^3$
    前置知识\(\sum\)为累加符号,\(\prod\)为累乘符号。上三角矩阵指只有对角线及其右上方有数值其余都是\(0\)的矩阵。如果一个矩阵的对角线全部为\(1\)那么这个矩阵为单位矩阵记作\(I\)。对于矩阵\(A_{n,m}\)和矩阵\(B_{m,n}\)满足\(A_{i,j}=B_{j,i}\)记作\(A=B^T
  • 2024-05-26FWT & FMT
    CF662C首先有一个\(\mathcalO(2^nm)\)的做法。枚举每一行是否反转的状态\(s\),记\(g_i=\min(\operatorname{popcount}(i),n-\operatorname{popcount}(i))\),\(t_i\)表示第\(i\)列的状态。则答案为\(\min_s{\sum_{i=1}^mg_{s\operatorname{xor}t_i}}\)。发现这个东西
  • 2024-05-23Luogu P5073
    题面简述:全局加、区间最大子段和。做这题之前请确保你会:线段树、凸包、闵可夫斯基和、如果没有修改或只有单点修改,那就是经典问题(这题现在似乎也成经典问题了):线段树节点上维护区间和\(\text{sum}\)、最大前缀和\(\text{ls}\)、最大后缀和\(\text{rs}\)、最大子段和\(\tex
  • 2024-05-23一般图的支配树
    P5180【模板】支配树来咯,我们来说说一般图上的支配树。(前排提醒:本文实质是对老师讲的内容的补充,阅读本文前应该知道\(\operatorname{idom}\)及其在DAG上的求解方法,具体可以去查看ZJOI2012灾难的题解。)常见的做法是Languaer-Tarjan算法,该算法的核心在于提出了半支配点
  • 2024-05-18LG10369
    这是一道找规律题。不妨从小情况入手。当\(n=2\)时,显然令\(a=\{0,1\}\)是最优的,此时进行一次操作得到\(2\),为最大的答案。这是最基础的情况,也就是对于\(n\)更大的情况,答案最多也只能是\(2\)。接下来观察\(\operatorname{mex}\)的性质。\(\operatorname{mex}(0,1)=
  • 2024-05-17P8741 [蓝桥杯 2021 省 B] 填空问题 题解
    题目传送门试题A:空间【解析】本题考察计算机存储的基础知识,只要掌握空间存储的换算方法,就能够算出答案。【程序】#include<bits/stdc++.h>usingnamespacestd;intmain(){printf("%d\n",256*8/32*1024*1024);return0;}【答案】67108864
  • 2024-05-15VP CF
    \(\color{#F39C11}(1)\)CF1941BRudolfand121给定一个长度为\(n\)的序列\(a\)。求最少进行多少次操作后所有\(a_i=0\):选择一个\(2\lei<n\),并让\(a_i\getsa_i-2,a_{i-1}\getsa_{i-1}-1,a_{i+1}\getsa_{i+1}-1\)。我们记选择\(i=
  • 2024-05-11Codeforces 1971H ±1
    考虑到因为只有\(3\)行,所以第\(2\)行为\(1\)的条件就是\(1\)的个数\(\ge2\)。对于这种只能去正负且有无解的问题,可以想到用个\(\text{2-SAT}\)。于是接下来考虑用\(\operatorname{AND},\operatorname{OR},\operatorname{XOR}\)来表示至少有\(2\)个\(1\)。考
  • 2024-05-08CodeForces 1967D Long Way to be Non-decreasing 题解
    题意简述yzh喜欢单调不降序列。她有一个序列\(a\),最初为\(a_1,\ldots,a_n\),其中每个元素都在\([1,m]\)内。她希望使序列变得单调不降,为此,她有一个序列$b_1\ldotsb_m$,每个元素也在\([1,m]\)内。她可以进行若干次操作,一次操作定义为:选择一个集合\(S\subseteq
  • 2024-05-06k 元组与集合取 min/max 碰撞的火花
    非常感谢洛谷的推荐题目功能。我们知道,对两个集合内的元素取\(\min\)或\(\max\)是有很好的性质的,虽然我们都不会证。举个例子,如果我们要求\(\operatorname{and}\)起来等于\(1\simn\)的\(k\)元组个数,该怎么办?我们可以先做一遍高维后缀和,此时设得到的数组\(f_i\)为
  • 2024-05-06P9527 [JOISC2022] 洒水器 题解
    题目传送门以下设\(\operatorname{dis}(x,y)\)表示树上\(x,y\)两点间的距离。修改时对\(u\)的周围与\(u\)距离小于等于\(d\)的点的点权乘\(w\)。暴力不行,于是考虑打标记。注意到\(0\led\le40\),一个很自然的想法是:设\(tag(x,i)\)表示将\(x\)的子树内与\(x\)
  • 2024-05-04【未整合】数学 day3.2
    阶对于\(\gcd(a,p)=1\),最小的\(t\)使得\(a^t\equiv1(\bmodp)\)称为\(a\)的阶。写作\(\operatorname{ord}_p(a)\)。若\(a^k\equiv1(\bmodp)\),当且仅当\(\operatorname{ord}_p(a)|k\)。求阶的复杂度是\(O(\sqrt{n})\)。给定\(\gcd(a,p)=\gcd(b,p)=1\),问是否存在
  • 2024-04-30Fast Walsh Transform 学习笔记 | FWT
    本文中使用\(\cap\)表示按位与,用\(\cup\)表示按位或Part1.与/或卷积First.问题引入给定长度为\(2^n\)的数列\(A,B\),求\(C_i=\sum_{j\cupk=i}A_j\timesB_k\)显然有\(O(4^n)\)的暴力Second.变换这一部分可以参考快速莫比乌斯变换中的Zeta变换,即
  • 2024-04-26「笔记」对顶堆动态维护中位数
    目录写在前面问题思路代码例题写在最后写在前面妈的为啥我不会这个问题给定\(n\)次操作,要求动态地维护一个可重集合,每次操作为下列三种形式之一:给定参数\(x\),向集合中插入一个权值\(x\)。给定参数\(x\),删除集合中已存在的一个权值\(x\)。查询集合的中位数。要求
  • 2024-04-25树同构
    link树同构是树哈希与换根dp的结合。树哈希是哈希中的一个种类,这里先给出哈希函数:\[\operatorname{treehash}(u)=\sum\operatorname{xorshift}(\operatorname{treehash}(v))\]这里使用unsignedlonglong的自然溢出特性代替取模。我们设\(g[u]\)是以\(u\)为根的子