• 2024-10-03《如 何 速 通 一 套 题》9.0
    邮寄开场A写了70,然后写C。C大样例过了。然后D写了30走人。B在知晓题意后,过了样例。然后撤退了。70+0+40+50=160。A光我们先预处理出\(a,b,c,d\le14\)的答案(待会儿要考)。然后,有一种贪心思路:每次找到亮度需求最多的地方,加上\(4\)点亮度,重新计算贡献。
  • 2024-06-03常用模板库
    数学、数论namespacemath{ intmu[MAXN],prime[MAXN]; bitset<MAXN>is_prime; intMOD; intfrac[MAXN]; intqpow(inta,intb){ if(b==0)return1; if(b==1)returna; intk=qpow(a,b>>1); k*=k;k%=MOD; if(b&1)k*=a;k%=MOD; returnk;
  • 2024-03-07CF935D Fafa and Ancient Alphabet 题解
    讲一个很暴力的方法(为描述方便,下文\(a\)数组代表\(s1\),\(b\)数组代表\(s2\))。发现假如当前\(a_i\neb_i\),就不需要再向下枚举了,于是拥有了分类讨论的雏形。我们设\(inv\)代表进行到这一步的概率,可分为以下四种情况:\(a_i>0,b_i>0\)。此时假如\(a_i=b_i\),略过;若\(a_i>
  • 2024-02-24CF1924C
    发现这个东西有一种隐隐约约的递推藏在里面,然后发现确实是递推。具体的,我们注意到一个正方形先进行第一次折,我们发现实际上它分成了\(4\)个小正方形,这四个小正方形是互相独立的,然后折完一次后它们都变成了一个三角形,我们试着分析每个三角形在后一次是怎么折的,发现折完以后还会
  • 2024-02-17CF294C Shaass and Lights
    对于给定的\(m\)个点,将整个序列分为了\(m+1\)段,我们可以先将每一段看作同一个类型,同一个类型间不同的顺序看作同一种。那么显然,答案即为可重集的排列数。设\(\{S=n_1\cdota_1,n_2\cdota_2,...,n_k\cdota_k\}\)表示由\(n_i\)个\(a_i\)组成的集合。那么此集合的排
  • 2024-01-26[ARC096E] Everything on It
    这种题在想题的时候可以先随便找到一个做法再去优化,不要管复杂度,想多了容易混。首先容易发现,这道题直接计数比较困难。所以我们想到了用容斥来解决这个问题。但是容斥的方式可能比较多,可以多尝试然后选择最简便的方法。钦定\(f_i\)表示,我们强制\(n\)个数中的\(i\)个出现次
  • 2024-01-23CF327C Magic Five 题解
    CF327CMagicFive搬运工单调队列优化DP加等比数列求和首先\(5\)的倍数要求末尾是\(0\)或\(5\)所以我们只用看给定字符串的\(0\)和\(5\)就好,我们钦定他是最终的数的末尾。在他之前的选择删掉,在他之后的全部删掉,方案数就是\(2^{pow-1}\),答案累加就可以了。容易想到
  • 2023-12-16CF327C Magic Five 题解
    题目传送门前置知识等比数列求和公式|乘法逆元解法设\(lena\)表示\(a\)的长度。首先,若一个数能被\(5\)整除,则该数的末尾一定为\(0\)或\(5\)。故考虑枚举\(a\)中所有的\(0\)和\(5\)的下标,设此下标后面有\(x\)个数字,由于\(s\)是由\(a\)复制\(k\)遍形
  • 2023-11-13万能欧几里得
    感谢可爱cftm\(y=\frac{ax+b}{c}\)在\(x\in(0,n]\)中,如果遇到一条\(x=k\)的竖线执行\(R\),否则执行\(U\),如果遇到整点先\(U\)在\(R\)(可以将\(U,R\)视作具有结合律的信息),问最后得到的信息是啥。记作\(solve(n,a,b,c,U,R)\),其中\(0\leqb<c\)。如果\(a\geqc\):此
  • 2023-09-05快速幂
    intqpow(inta,intn){intans=1;while(n){if(n&1)//如果n的当前末位为1ans*=a;//ans乘上当前的aa*=a;//a自乘n>>=1;//n往右移一位}returnans;}
  • 2023-08-092023/8/9~2023/8/11 做题
    2023/8/9~2023/8/11做题目录2023/8/9~2023/8/11做题CodeforcesRound121(Div.1)C.FoolsandRoadsCodeforcesRound343(Div.2)C.FamilDoorandBracketsCodeforcesRound880(Div.1)A.k-thequalityCodeforcesRound121(Div.1)C.FoolsandRoads树形dp+
  • 2023-07-31快速幂
    当幂指数很大的时候,线性可能也会超时intqpow(inta,intb,intp){intans=1;a=a%p;while(b){if(b&1)ans=ans*a%p;//不能写成ans*=a,不知道原因,反正会waa=a*a%p;b>>=1;}retur
  • 2023-06-26AtCoder Beginner Contest 245 Ex Product Modulo 2
    洛谷传送门AtCoder传送门很好的题。下文令\(k\)为原题面中的\(n\),\(n\)为原题面中的\(k\),\(m\)为原题面中的\(m\)。从一些简单的情况入手。1.\(m\)为质数\(k=0\)的情况是平凡的,只需要要求\(\existsi\in[1,n],a_i=0\)即可。总方案数减去不合法方案数,
  • 2023-05-19AtCoder Regular Contest 133 E Cyclic Medians
    洛谷传送门AtCoder传送门其实是套路题,但是为什么做不出来啊第一步就是经典套路。枚举\(k\),统计中位数\(>k\)的方案数,加起来就是中位数的总和。那么现在\(x_{1\simn},y_{1\simm}\)就变成了\(0/1\)序列,考虑一次操作,如果\((x,y)=(0,0)\),那么\(a\)会变成\(0\)
  • 2023-04-21小白月赛71
    C.猫猫与数列可以猜测,答案应当很小,所以可以直接暴力判断最大的n首先我们可以走两种路:第一种,利用求对数来比较,注意精度问题即可,但我感觉这里的快速幂会溢出嘛?while(1){ a=qpow(x,y); if(y*log(x)>log(maxm)+1e-5)break; ++c; x=y;y=a;}cout<<c<<"\n";第二种做法,快速幂
  • 2023-03-13「解题报告」ARC158D Equation
    好神仙的题。考虑形如\(F(x,y,z)=x^i+y^i+z^i\)的函数有一个性质:\(F(tx,ty,tz)=t^iF(x,y,z)\)。原式要求\((x+y+z)(x^n+y^n+z^n)(x^{2n}+y^{2n}+z^{2n
  • 2023-03-07LeetCode|372. 超级次方
    题目链接:超级次方发现自己算法比较弱,打算恶补一下常用算法,故最近开始刷LeetCode题目,初步定为每天一道。中等和困难会写解析,简单的不写,可以关注一下。你的任务是计算ab
  • 2023-03-07CF955C Sad powers
    CF955CSadpowersLuoguCF955C题面翻译给你\(q\)个询问,每次询问\([l,r]\)这个区间内满足\(x=a^p(a>0,p>1)\)的\(x\)的数量。数据范围:\(1\leqslantq\leqsla
  • 2022-11-25快速幂
    快速幂递归快速幂递归无非是一个二分的思路。我们很自然地可以得到一个递归方程:$a^{n}=\begin{cases}a^{n-1}\cdota\quadif\n\is\odd\a^{\frac{n}{
  • 2022-09-07多项式全(?)家桶
    贴个板子,以备复习点击查看代码#include<cstdio>#include<cstdlib>#include<algorithm>#include<unordered_map>#include<cmath>#definemod998244353#definemax
  • 2022-09-04快速幂
    #include<bits/stdc++.h>usingnamespacestd;longlonga,b;intqpow(inta,intb){ intres=1; while(b>0){ if(b%2==1)res=(longlong)res*a; b/=2; a=(long