摘要: rt 做法: 先枚举\(mex\),说明\(mex\)不会在答案区间中存在 那么答案区间就是一个不包含\(mex\)的极长区间,可能有\(n\)个 一个区间中不同数的个数可以用树状数组求:维护以下标为权值的桶,每次更新last数组 const int M=5e5+5; int sum[M]; int 阅读全文
posted @ 2025-10-29 21:00 Marinaco 阅读(2) 评论(0) 推荐(0)
摘要: \(1\) ~ \(n\)的\(lcm\)是\(p^{log_pN}\)的乘积(\(p\)是\(1\) ~ \(n\)的所有质数) 求\(log_ba\) int Log(int a,int b){ return (ll)floor(log(b)/log(a)); } 线性求逆元(模数是质数) in 阅读全文
posted @ 2025-10-28 19:36 Marinaco 阅读(4) 评论(0) 推荐(0)
摘要: C 思路:容斥原理 开桶统计元素个数 求$ A_i,A_j,A_k (i \lt j \lt k)$ 其中两个相等的元组数量: 若\(A_i\)有\(k\)个 \(A_i\)和其他一个相等:\(ans = (k-1) \times (n-i-(k-1))\) 其他两个相等:先算出所有两两相等的元组个 阅读全文
posted @ 2025-10-25 22:01 Marinaco 阅读(25) 评论(0) 推荐(0)
摘要: 结构体内不能直接初始化,否则CE #include<bits/stdc++.h> using namespace std; int n,q; int tot; struct node{ int l,r; int sum; int la; }tr[15000010]; int rt; void pul 阅读全文
posted @ 2025-10-24 13:42 Marinaco 阅读(5) 评论(0) 推荐(0)
摘要: void exgcd(int &x,int &y,int a,int b) { if(!b) { x=1; y=0; return; } exgcd(x,y,b,a%b); int t=x; x=y; y=t-a/b*y; } 求a在模b意义下的乘法逆元 void exgcd(int &x,int 阅读全文
posted @ 2025-10-23 23:01 Marinaco 阅读(2) 评论(0) 推荐(0)
摘要: G 树上DFS + set启发式合并 题意: 给定一棵树和一个排列p , 给定若干次询问 每次询问给出l,r,x 求是否p[l]~p[r]有一个结点的祖先是x 思路: 不妨做个映射,把每个结点的编号映射为它在排列中的下标 那么转化为求x的子树中是否有l~r结点存在 考虑怎么判断: 对于给定的l,r, 阅读全文
posted @ 2025-10-23 22:16 Marinaco 阅读(6) 评论(0) 推荐(0)
摘要: prufer: 一种将带标号的树用一个唯一的长度为\(n-2\)整数序列表示的方法。 Prüfer 是这样建立的: 每次选择一个编号最小的叶结点并删掉它,然后在序列中记录下它连接到的那个结点。重复 𝑛 −2 rep(i,1,n-1){ cin>>f[i]; deg[i]++; deg[f[i]]+ 阅读全文
posted @ 2025-10-21 12:44 Marinaco 阅读(3) 评论(0) 推荐(0)
摘要: 可以直接用C++的system函数执行对拍脚本 把造数据的mk.out文件和两个版本的代码文件放在一个文件夹下 void duipai() { //Linux系统下可执行文件后缀为.out while (true) { system("./mk > data.in"); system("./zhen 阅读全文
posted @ 2025-10-15 23:15 Marinaco 阅读(19) 评论(0) 推荐(0)
摘要: void work(vector<int>&a,int cnt){ //a表示需要排序的数组,cnt表示数组中元素最高多少位 //复杂度O(n*cnt)! for(int i=1,t=1;i<=cnt;i++,t*=10){ vector<int>pre(10,0); vector<int>tmp( 阅读全文
posted @ 2025-10-10 16:49 Marinaco 阅读(4) 评论(0) 推荐(0)
摘要: 1.选取树的重心p 2.从p出发进行DFS,求得所需的数组 3.执行cal(p) 4.删除p结点,对p的每颗子树(无根树)递归执行1~4步 此算法在蓝书中亦有记载 vector<pii>e[maxn]; int sz[maxn]; int vis[maxn]; int dp[maxn]; int k 阅读全文
posted @ 2025-09-30 20:40 Marinaco 阅读(15) 评论(0) 推荐(0)
//雪花飘落效果