LL
  • 2024-07-02树状数组和线段树板子
    树状数组板子#define_CRT_SECURE_NO_WARNINGS#include<iostream>#include<vector>#include<algorithm>#include<math.h>#include<sstream>#include<string>#include<string.h>#include<iomanip>#include<stdlib.h&g
  • 2024-07-02AT_tdpc_number 数 题解
    题目传送门前置知识数位DP|记忆化搜索解法本题的提交在luogu上挂了,建议去原站或Vjudge上提交。基础数位DP,记录当前位置、已填的数码之和,接着记忆化搜索即可。需要注意的是\(0\bmodd=0\),如果写得不太好看(未处理前导零)的话需要减去其贡献。代码#include<bits/
  • 2024-07-02Beautiful Array(Round 954)
    #include<bits/stdc++.h>#defineendl'\n'usingll=longlong;typedefunsignedlonglongull;usingnamespacestd;voidGordenGhost();signedmain(){#ifdefGordenfreopen("in.txt","rt",stdin);freopen
  • 2024-07-02exLucas
    参考博客exLucas:求\(C_n^m\bmodd\)(\(d\)不一定为质数)1.将\(d\)质因数分解为\(d=p_1^{c_1}\timesp_2^{c_2}\times\cdots\timesp_k^{c_k}\)\(\foralli,j\in[1,k]\),\(p_i^{c_i}\)与\(p_j^{c_j}\)互质,所以可以构造出如下同余方程:\[\begin{cases}a_1\equivC_
  • 2024-07-02字符串
    之前就是史,重新来写,字符串还是有必要学的。KMP用于文本串匹配。其和暴力的区别在于失配后会从一个特定位置重新开始匹配而不是从头开始,从而节约时间。这个失配数组也就是\(nex_i\)表示\(S[\mathbf{1}\dotsi]\)的最长\(\mathtt{border}\)长度,建出来之后相当于一个自动机
  • 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-02图论(1)
    图论(一)图的存储与遍历方法一:直接存边方法二:邻接矩阵用bool类型二维数组存储\(u是否能到v\)方法三:邻接表以P5318为例。#include<bits/stdc++.h>#defineLLlonglong#definels(p<<1)#definers(p<<1|1)#defineINFINT_MAX#definelowbit(x)(x&-x)#define
  • 2024-07-02「杂题乱刷」AT_abc360_d
    题目链接AT_abc360_d(luogu)AT_abc360_d(atcoder)解题思路一个性质是,往左边走的蚂蚁无论怎么样都追不到左边的蚂蚁,而往右边走的蚂蚁无论怎么样都追不上右边的蚂蚁。因此我们考虑将蚂蚁分为往左往右走的两堆。发现对于每个蚂蚁都能走过一段区间,因此直接二分将右端点减去左
  • 2024-07-02「杂题乱刷」P10678
    哎哎哎,原来的题解没怎么写证明被叉了/yun所以我来补下证明。题目链接P10678『STA-R6』月解题思路时间复杂度优于官解的做法。首先我们观察到一个性质就是\(\suma_i=2\times(n-1)\),因为一个树有\(n-1\)条边。注意到一棵树必定有叶子结点。于是我们每次给树
  • 2024-07-02abc360 E 题解
     E对于位置2~n,它们的概率是相等的。n*n个(x,y)对。其中x可以等于y。 对于x/y,y的逆元rev(y)为mul(y,mod-2)。加、减、乘、除都可以做。比如48/9和16/3的结果是一样的,48*rev(9)%mod=16*rev(3)%mod。比如3*rev(2)%mod=(rev(2)+rev(2)+rev(2))%mod. 对于每次操作,有多少
  • 2024-07-02AtCoder Beginner Contest 359 (A ~F)
    A-CountTakahashiQuestion:给你n个单词,要么是Takahashi,要么是Aoki;输出有几个Takahashi即可。Code:#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'#defineintlonglongtypedeflonglongll;typedefunsignedlonglongull;typedefpair<
  • 2024-07-0224暑假赛训合集
    谢谢,你关注的鸽子博主更新了。上赛季末段没能忍住网瘾,转生成ACMer了和队友一起拿了块邀请赛金牌和省赛冠军,下半年区域赛不想拖后腿所以还是得努努力啊。但是因为博主还要跑科研实验以及机器人比赛的事情,所以大概一天只能看几个题下列列出的√为自己想出来的,×为看了题
  • 2024-07-02Codeforces Round 941 (Div. 2) cf 941 div2 A~D
    每题都有AC代码在伸缩代码框请留意!!A.CardExchange-------------------------------------------题解----------------------------------选择任意K张相同的牌替换成k-1张任意的牌,也就是说只要有一组牌相同的数量大于k就可以获得最大k-1相同的其他牌,按照这个策略便可以替换掉
  • 2024-07-02P6754 [BalticOI 2013 Day1] Palindrome-Free Numbers
    数据范围一眼数位dp。关键条件为如果一个数字串的一个长度大于 11 的子串也为回文串的话,那么我们也定义这个数字串为回文串。仔细思考发现一旦两个连续的数相同(偶回文)或两个数隔一个数相同(奇回文)都是回文,所以要保证连续三个数不相同,记录前两位即可。注意事项:1.前导零不应为0
  • 2024-07-01Atcoder ABC 360 全题解
    致歉对不起,我不应该在全题解的编写上咕咕咕两个月,导致流量大量流失。我知错了,下次还犯。AB无C考虑一个箱子里的所有球,我们需要把这些球放进互不相同的一些箱子里。然而我们可以留一个球在箱子里,显然留重量最大的最好,所以答案就是$\sum_{i=1}^{N}W_i$减去每个箱子里的最
  • 2024-07-01CF1987E 题解
    CF1987E题解题意给定一棵大小为\(n\)的有根树,各点各有一点权\(a_i\)。每次操作可以选定一节点使其点权加一,求最小的操作数,使得任一节点满足其点权不大于其所有儿子的点权之和。\(n\le5000,0\lea_i\le10^9\)题解麻了,赛后十五分钟调出来,可惜为时已晚。读懂题之后
  • 2024-07-01Linux历史管理命令
    history管理历史命令【1】、history命令history命令用于显示历史记录和执行过的命令,登录系统时,会读取~./bash_history历史文件中记录的命令,当我们退出shell时,我们新敲的命令会被追加保存到~./bash_historyhistory默认保存1000条,可以通过/etc/profile文件去修改45HOSTNAM
  • 2024-07-01Codeforces Round 894 (Div. 3) A-E cd 894 div3
    A.GiftCarpet每道题都是伸缩代码框有ac代码请不要漏掉--------------------------题解-----------------------------按先行便然后列再变循环设置jud每满足一个条件就让jud++只有jud==相应值的时候才让其++点击查看代码#include<bits/stdc++.h>usingnamespacestd;ch
  • 2024-06-303170 找出最小公倍数
    解法一:循环找#include<bits/stdc++.h>#definef(i,s,e)for(inti=s;i<=e;i++)#definelllonglongusingnamespacestd;constintN=1e3+10,inf=0x3f3f3f3f;intmain(){intn,m;cin>>n>>m;for(inti=n;i<=n*m;
  • 2024-06-303169 找出最大公约数
    解法一:循环倒叙一个个找#include<bits/stdc++.h>#definef(i,s,e)for(inti=s;i<=e;i++)#definelllonglongusingnamespacestd;constintN=1e3+10,inf=0x3f3f3f3f;intmain(){intn,m;cin>>n>>m;for(inti=n;i>=1
  • 2024-06-30abc360
    A-AHealthyBreakfasthttps://atcoder.jp/contests/abc360/tasks/abc360_ahttps://atcoder.jp/contests/abc360/submissions/55049596intmain(){strings;cin>>s;intri,mi;for(inti=0;i<s.size();i++){if(s[i]==
  • 2024-06-30QOJ 1086 Bank Security Unification
    令题目给定的序列为\(a_{1\simn}\)。考虑到一个比较基础的DP是设\(f_i\)为以\(a_i\)结尾的序列的最大值。然后转移就是\(f_i=\max\{f_j+(a_i\&a_j)\}\)。考虑排除掉一些不优的状态。令\(a_j\)的最高位为\(x\),且\(k\)满足\(a_k\)最高位也为\(x\)且\(k
  • 2024-06-30牛客周赛49
    比赛链接:牛客周赛49赛时感受A思路    代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=1e5+10;intmain(){lla,b;cin>>a>>b;cout<<a-b*11<<endl;return0;}B思路
  • 2024-06-24[题解]CF1223F Stack Exterminable Arrays
    CCF出的原题观摩一下。思路首先可以用一个Trie来维护。在这里对本文中的一些变量做一下说明。\(p\)表示当前维护的Trie中,指向的元素编号。\(t_i\)表示在Trie中编号为\(i\)的元素在原序列中的值。\(f_i\)表示在Trie中编号为\(i\)的元素在Trie中的父节点。
  • 2024-06-24【数据结构与算法】最小生成树,Prim算法,Kruskal算法 详解
    最小生成树的实际应用背景。最节省经费的前提下,在n个城市之间建立通信联络网。Kruskal算法(基于并查集)voidinit(){for(inti=1;i<=n;i++){pre[i]=i;}}llroot(lla){lli=a;while(pre[i]!=i){i=pre[i];