ACM
Bread Sir
记录算法之路
展开
-
2017年ACM模板(常用)弱渣整理 一、暴力
一、 枚举排列生成指定集合的排列:#include<cstdio> #include<iostream> #include<algorithm> using namespace std;void print_per(int n,int *P,int *A,int cur) { if(cur==n) { for(int i=0;i<n;i++) {原创 2017-05-05 18:41:36 · 873 阅读 · 0 评论 -
2017年ACM模板(常用)弱渣整理 二、二分
lower_boundlower_bound 这个函数是从已经排好序的序列a中利用二分搜索找出指向满足ai >= k的ai的最小的指针,注意是指针。upper_bound函数类似,就是求出满足ai > k的ai的最小的指针。#include<cstdio> #include<algorithm> using namespace std; int a[100]; int main() { pr原创 2017-05-05 18:44:18 · 478 阅读 · 0 评论 -
2017年ACM模板(常用)弱渣整理 三、图论
一、 拓扑排序#include<cstdio> #include<cstring> #include<queue> using namespace std; const int maxn = 1000; struct Node{ int indegree;//入度数 int num; //排序number int id; //编号 }N[maxn]; in原创 2017-05-05 18:48:52 · 601 阅读 · 0 评论 -
2017年ACM模板(常用)弱渣整理 四、动态规划
一、数字三角形问题:for(int i=1;i<=n;i++) { d[n][i] = a[n][i];//从边界出发的最大值就是其本身 } for(int i=n-1;i>=1;i--) { for(int j=1;j<=i;j++) { d[i][j] = a[i][j]+max(d[i+1][j],d[i+1][j+1]); } }二、最长递增原创 2017-05-05 18:53:28 · 343 阅读 · 0 评论 -
2017年ACM模板(常用)弱渣整理 五、数学相关
一、大数问题:1.大数积#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> using namespace std; char c[40]; typedef long long LL; void multiply(const char *a,const char *b)//大数相乘 { int原创 2017-05-05 18:58:25 · 292 阅读 · 0 评论