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 · 842 阅读 · 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 · 475 阅读 · 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 · 592 阅读 · 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 · 334 阅读 · 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 · 285 阅读 · 0 评论