1、数据结构

并查集

int fa[maxn+10];
void init(int n){for(int i = 0; i <= n; i++)fa[i]=i;}
int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
void merge(int x, int y){x=find(x);y=find(y);if(x!=y)fa[x]=y;}
int count(int n){int cnt=0; for(int i = 1; i <= n; i++)if(fa[i]==i)cnt++;return cnt;}
int size[maxn], ranks[maxn];
int fa[maxn];
int find(int x){if(fa[x] == x)return x;int t = find(fa[x]);ranks[x] += ranks[fa[x]]; //路径压缩时需要更新当前位置return fa[x] = t;
}
void merge(int x, int y){int a = find(x), b = find(y);fa[a] = b; //x整列接到y后面ranks[a] += size[b];//x的首元素位置加上y的长度size[b] += size[a];//b的长度加上a的长度size[a] = 0;
}

2、数学

卢卡斯组合数

LL fac[maxn], inv[maxn];
LL mpow(LL a, LL x) {if(x==0)return 1;LL t = mpow(a, x>>1);if(x%2==0)return t*t%mod;return t*t%mod*a%mod;
}
LL init(){fac[0]=inv[0]=1;for(int i = 1; i < maxn; i++){fac[i]=fac[i-1]*i%mod; inv[i]=mpow(fac[i],mod-2);}return 0;
}
LL C(int x, int y) {if(y<0 || y>x)return 0;return fac[x]*inv[y]%mod*inv[x-y]%mod;
}

3、STL

优先队列

priority_queue<int, vector<int>, greater<int> >q;  //小根堆
priority_queue<int, vector<int>, less<int> >q; //大根堆
struct node{int x, y;};//比较函数
struct cmp{bool operator()(node a, node b){return a.x > b.x;}
};
priority_queue<node, vector<node>, cmp>q;

二分

//lower_bound:返回第一个大于等于x的位置
int p1=lower_bound(a,a+n,x)-a;
//upper_bound:返回第一个大于x的位置
int p2=upper_bound(a,a+n,x)-a;
//lower_bound2:返回数组中第一个小于或等于x的值
int p3=lower_bound(a,a+n,x,greater<int>())-a;
//upper_bound2:返回数组中第一个小于x的值
int p4=upper_bound(a,a+n,x,greater<int>())-a;struct cmp_lower{bool operator () (int a,int b){return index[a]<b;}
};
int lower_result=lower_bound(ar.begin(),ar.end(),x+1,cmp_lower())-ar.begin();

去重

int count = unique(a, a+n)-a;
for(int i = 0; i < count; i++)printf("%d ", a[i]);

可重map,set

multiset
multimap

bitset

bitset

ACM-ICPC常用模板更新相关推荐

  1. ACM常用模板-数据结构

    数据结构方面常用模板总结,大多数代码摘自网络,个人整理总结 string: 任意进制转换:itoa(int n,char* s,int r) //将10进制n转换为r进制并赋给s流:#include& ...

  2. 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...

  3. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  4. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  5. 例题6-2 铁轨(Rails, ACM/ICPC CERC 1997, UVa 514)

    栈应用 例题6-2 铁轨(Rails, ACM/ICPC CERC 1997, UVa 514) 错解 1.每次要把栈清空 2.不能用空的栈(栈顶)去比较 #include<iostream&g ...

  6. ACM竞赛常用STL(二)之STL--algorithm

    <algorithm>无疑是STL 中最大的一个头文件,它是由一大堆模板函数组成的. 下面列举出<algorithm>中的模板函数: adjacent_find / binar ...

  7. ACM/ICPC 集:

    ACM/ICPC在线题库集锦: 网址:http://acm.uva.es/ 简称: uva 全称: Valladolid Programming Contest Site 所在国:西班牙 提交方式:w ...

  8. 2017 ACM ICPC Asia Regional - Daejeon

    2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...

  9. Samara SAU ACM ICPC Quarterfinal Qualification Contest 2012

    Samara SAU ACM ICPC Quarterfinal Qualification Contest 2012 D 题意 把一个数每次取走一个因子,直至1为止,取不同的因子算不同的方案,问有几 ...

最新文章

  1. R语言使用compareGroups包compareGroups函数生成表统计表、createTable函数创建二元表、并导出结果到文档(doc、csv、xlsx、pdf)
  2. 部署Exchange Server 2007 SCC
  3. Spring基础知识及入门
  4. HDU-1847 Good Luck in CET-4 Everybody! (博弈+找规律)
  5. 使用Kubespray部署生产可用的Kubernetes集群(1.11.2)
  6. mysql更新数据能回滚吗_MySQL数据回滚-误更新和删除时快速恢复
  7. python合并视频和音频_真没想到,Python 还能实现 5 毛特效
  8. 收藏 | 人人都能看懂的LSTM介绍及反向传播算法推导
  9. jqmobile小技巧
  10. 官宣了!受疫情影响,程序员可免费领这些!
  11. 使用pyqt开发gui(pyqt集成到pycharm)
  12. 名帖35 吴叡 隶书《离骚》
  13. 图论Graph Theory:福尔福特森算法 Ford-Fulkerson
  14. 简单辨析关系和区别:YUV、H.264、RTP、UDP、RTSP
  15. IntelliJ IDEA破解版 2017.3.4 Ultimate下载安装和JetbrainsCrack-2.7.jar激活教程
  16. 【VRP】基于matlab遗传算法求解多中心车辆路径规划问题【含Matlab源码 1965期】
  17. php编译安装, 编译安装nginx, yum安装nginx, nginx虚拟主机,默认虚拟主机
  18. 2018年全国职业院校技能大赛中职组网络空间安全正式赛卷
  19. [Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(四) —— 应对反爬技术(选取 User-Agent、添加 IP代理池以及Cookies池 )
  20. PostgreSQL安全指南 - Postgres2015全国用户大会--重磅嘉宾佳作分享(周正中)

热门文章

  1. 算法 Tricks(四)—— 获取一个数二进制形式第一个不为 0 的位置
  2. 排列(permutation)的末尾 0 的个数
  3. 用 scipy.weave 嵌入 C 语言
  4. php memcache数据类型,php读取memcache二进制数据
  5. mac系统下快速安装windows软件 a_每日一款Mac软件之“Parallels Desktop 16.0.1(48919) Mac上最高效与好用的虚拟机工具”...
  6. 零基础学python图文版-如何快速创建投票页面 | 腾讯问卷怎么用_什么值得买
  7. python代码-20个Python代码段,你需要立刻学会,好用到哭!
  8. python爬虫步骤-Python爬虫详解,每一个步骤都给你细腻的讲解(附源码)
  9. python免费网课-Python网课推荐——免费学习Python编程
  10. python是什么课程-吐血整理!程序员喜爱的13个免费Python课程