mod
  • 2025-01-22组合计数与构造专题
    CF1824B2\(k\)为奇数时,注意到每次好点移动一格至少会增加$\lfloor\frac{k}{2}\rfloor+1-\lfloor\frac{k}{2}\rfloor$的长度,所以好点个数为\(1\)。\(k\)为偶数时,注意到好点一定在一条链上,我们计算出有多少条边\((u,v)\)满足\(u\)和\(v\)为好点,答案就是边数
  • 2025-01-221.21幽默总结
    CF1900D*2000*dp,rongchi首先就排个序,答案为\(\sum_{i=1}^n\sum_{j=i+1}^ngcd(a_i,a_j)\times(n-j)\)。考虑枚举\(j\),那么现在的想法就是对于一个\(j\)求合前面数的\(gcd\)的和。这个东西就是一个经典容斥,令\(f_x\)表示当前\(x\)的倍数的\(a\)的个数,\(g_x\)
  • 2025-01-20Prufer 序列
    可以用来做一些树上计数问题,相当于一个转化工具。主要用在生成树的问题上。定义考虑一棵无根树\(\mathrmT\),定义度数为\(1\)的节点为叶子节点,令叶子节点集合为\(S\)。每次找到\(S\)中编号最小的元素,并把它连接的那个节点加入到序列末端,并把这个元素删去,直到只剩两个元
  • 2025-01-19插入dp学习笔记
    定义插入\(\text{dp}\)适用于计数、求最优解且具有选择、排列元素过程等题目。插入\(\text{dp}\)大致分为两类:乱搞型:状态定义天马行空,但始终围绕着将新元素插入到旧元素已有集合中套路型:\(dp_{i,j}\)表示前\(i\)个数,现在构成\(j\)个连续段的方案数\(/\)最优解,此外
  • 2025-01-19费马定理以及逆元预处理
    #include<bits/stdc++.h>usingnamespacestd;staticconstintMOD=1000000007;//预先全局存放阶乘与逆阶乘的数组staticconstintMAXN=100000;//根据题意,n最多10^5longlongfact[MAXN+1],invFact[MAXN+1];//快速幂,用于求x^y%MODlonglongfastPow(lo
  • 2025-01-192025dsfz集训Day6: 数论
    DAY6:数论快速幂快速幂是针对快速求解\(A^b\)结果的算法,对于\(b\)可以分解为2进制,例如对\(3^{11}=3^{2^3+2^1+2^0}\),由于\(b\)可以被分解后最多只会包含\(log_2b\)个1,因此时间复杂度为\(O(log_2b)\),而并非原本的\(O(b)\)例题洛谷P1226|【模板】快速幂这题要记得每
  • 2025-01-18再学欧拉之欧拉定理
    没错,本文的一切还是为了它——\(\varphi\)。欧拉定理内容若\(a,n\)互质,则有\(a^{\varphi(n)}\equiv1\pmodn\)。证明设小于\(n\)且与\(n\)互质的自然数集合(即\(n\)的剩余系)为:\(X:x_1,x_2,x_3,\dots,x_{\varphi(n)},P:p_1=a\timesx_1,p_2=a\timesx_2,\dots,p_
  • 2025-01-18多项式运算封装
    动态更新。#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=a;i<=b;++i)#defineilinline#definergregisterusingnamespacestd;inlineintread(){intw=0,f=1;charch=getchar();while(ch<'0'||
  • 2025-01-17「TC SRM625 D1L3」Seatfriends
    思路首先,对于计数题,不是\(\text{dp}\)就是排列组合,这题多思考一会儿就发现单纯\(\text{dp}\)和排列组合是做不出来的。然后激动人心地发现,这题是\(\text{dp}\+\)排列组合。现在来思考怎么做,我们可以发现如果不考虑区间两两之间的空座位,当成选为一个个集合的话是非常好
  • 2025-01-17牛客小白月赛109
    A.Onewan的疑惑题意:找有多少小于等于\(n\)的\(x\)满足\(x+(19260817)≥n−(114514)\)。移项可得\(x\)的下界,注意\(x\)最大得有\(1\)。点击查看代码voidsolve(){i64n;std::cin>>n;i64m=std::max(1ll,n-114514-19260817);std::cout<<n-m
  • 2025-01-17go项目zero中自定义sdk的引用与使用规范
    在Go项目中,`gomodtidy`命令会自动删除没有直接引用的依赖。如果你的项目中某个SDK被引用但是没有在业务代码中直接使用,`gomodtidy`可能会将其清理掉,因为它被认为是"未使用"的依赖。如果你希望保留这些依赖(例如某些SDK),可以采取以下几种方法:###1.显式调用SDK中
  • 2025-01-17密码学——现代密码体制总结(别再管哈希叫加密了哦)
    文章目录加解密与现代密码体制总结一、什么是加解密?1.加密与解密2.传统的加解密(古典密码)3.现代的加解密二、现代密码体制1.现代密码的两大类2.两种体制各有特点三、对称密钥体制Ⅰ.分组密码1.Feistel——经典的分组密码结构2.DES(DataEncryptionStandard)——数
  • 2025-01-16拉格朗日插值总结
    问题给定\(n\)个点,确定一个多项式\(f(x)=\sum_{i=0}^{n-2}a_ix^i\)。求\(f(k)\)。解法拉格朗日插值的核心思想是通过构造\(n\)个函数,满足第\(i\)个函数经过\((x_1,0),(x_2,0),\cdots,(x_i,y_i),\cdots,(x_n,0)\),将这\(n\)个函数的系数累加即可得到原函数。具体地,有
  • 2025-01-16RSA的原理和简单实践
    RSA加密是一种非对称加密,原理是:使⽤算法可以⽣成两把钥匙A和B使⽤A加密的信息,使⽤B可以解开使⽤B加密的信息,使⽤A可以解开⽇常使⽤中,我们把⼀把作为公钥公开发布。⼀把作为私钥,⾃⼰保留。这样,任何⼈都可以使⽤我们的公钥加密信息发给我们,我们则可以使⽤⾃⼰的私
  • 2025-01-162025.1.15——1200
    2025.1.15——1200Q1.1200简单来说就是给定3个数组,每个数组选择一个数,三者下标不同,问三者和的最大值。Winterholidaysarecomingup.Theyaregoingtolastfornn
  • 2025-01-15题解:AT_arc190_b [ARC190B] L Partition
    题目传送门很显然每次填完L之后所覆盖的图形为正方形,不然最最后无法填出正方形。现在假设我们已经确定了一个\(k\)阶的L,要求它的方案数。对于\([1,k-1]\)阶L的放法,每阶的\(4\)种方向都对应着一种方案,但\(1\)阶只有\(4\)种都是一样的,所以总方案数为\(4^{k-2}\)
  • 2025-01-15蓝桥杯——25/1/13(前缀和)
    1.前缀和——区间次方和描述:一个整数数组,每个数字都经过k(1≤k≤5)次方的运算后,再求区间[l,r]的和算法实现:构造带k次方的前缀和       普通前缀和的构造和计算a=[1,2,3,4,5]prefix=[0]*5foriinrange(5):ifi==0:prefix[i]=a[i]else:prefix
  • 2025-01-15第七届传智杯初赛第二场(abc三组)补题+题解python
    文章目录前言A计算商品打折结算金额(B组、C组)B茶杯和球(A组、C组)C游游的字母串(A组、B组、C组)D电梯(B组、C组)E小欧的排列计算(A组、B组、C组)F游游的字母子串(A组、B组、C组)G跳跳跳(A组、B组)H小红的战争棋盘(A组)前言在CSDN上并未找到第七届传智杯
  • 2025-01-12CTF-CRYPTO(2)
    CTF-CRYPTO椭圆加密4.BSGS(小步大步法)[HITCTF2021]task.py#EllipticCurve:y^2=x^3+7modNwhichissecp256k1N=2**256-2**32-2**9-2**8-2**7-2**6-2**4-1E=EllipticCurve(GF(N),[0,7])xG=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b1
  • 2025-01-12题解:AT_abc388_g [ABC388G] Simultaneous Kagamimochi 2
    鉴于本题解书写时洛谷题面暂无中文翻译,为避免可能的歧义或困惑,先对本题解中的译法进行约定:(顺便吐槽音译怪)英文题面中“mochi”或日文题面中“餅”译为“饼”。英文题面中“kagamimochi”或日文题面中“鏡餅”译为“镜饼”。鉴于本题是C和E的加强版,而我懒得去写那两题的题
  • 2025-01-12AtCoder Beginner Contest 388 (abc388) 赛后复盘
    为什么不会E????A-B模拟即可。C每一个大麻薯可以和所有小于等于自己\(\frac12\)的麻薯结合,二分即可。时间复杂度\(O(n\logn)\)。点击查看代码#include<bits/stdc++.h>#definelllonglong#definei128__int128#definemem(a,b)memset((a),(b),sizeof(a))#def
  • 2025-01-11P10200 花神诞日 题解
    P10200[湖北省选模拟2024]花神诞日题解首先注意到一个集合中两两异或和的最小值就是,排序后相邻两个数异或和的最小值。证明可以考虑放到01-Trie上,从高往低位建树,求一个数与之异或的最小值,就是使高位相同位数尽可能多,则就是01-Trie上的前一个叶子或后一个叶子。由此,我们
  • 2025-01-11balatro save mod
    #!/bin/envpythonimportregexasreimportargparseimportosSAVE="/media/n/data/SteamLibrary/steamapps/compatdata/2379780/pfx/dosdevices/c:/users/steamuser/AppData/Roaming/Balatro/1/save.jkr"deffind_default():globalSAVEdefaul
  • 2025-01-10[CF1019C] Sergey's problem 做题记录
    小清新构造题,会就会,不会就不会。link注意到走两步很特殊,尝试从走一步拼出来,考虑归纳法:随便选择一个点\(x\),然后删掉\(x\)和所有\(y\)满足存在边\((x,y)\)。设剩下的图的答案集合为\(S\),若不存在\(z\inS\)满足存在边\((z,x)\),则将\(x\)加入\(S\)。否则
  • 2025-01-10P7213 [JOISC2020] 最古の遺跡 3
    考虑另一种刻画过程的方式:设\(a_i\)为原序列,\(b_i\)为最终序列,则有:从后往前扫描,\(b_i\)会持续降低到\([i+1,n]\)中未出现\(b_i\)。考虑dp,设\(f(i,j)\)表示考虑了\([i,n]\),当前在\(b\)中\(1\simj\)都出现过的方案数。这里要区分相等的两个数,且只填了\([1,