ACM
gavinloverqq
这个作者很懒,什么都没留下…
展开
-
UVA11988
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-12-03 20:54:00 · 390 阅读 · 0 评论 -
最长公共子序列(未完成)
做了滚动数组的lcs,每次都只会用到本行和上一行的数据,因此只需记录了两行就能够算出结果。 使用滚动数组是不是无法追踪解的情况? 关于i-1这种问题的越界处理,有两种处理方法:一种是输入的数组前面加个无意义字符,让有意义的数据从1开始;另一种是 解空间从1开始计算,如本例中C[i][j]的的下标。#include <iostream>using namespace std; char原创 2016-06-23 21:14:11 · 216 阅读 · 0 评论 -
最小生成树
prim算法对这种有记忆性质的变量(在外面定义,循环时会记录上次的值,类似于全局变量),每次使用都要小心,注意初始化问题!!! #include <iostream>using namespace std; const int N = 6; /*int e[N][N]={ {0,6,1,5,9999,9999}, {6,0,5,9999,3,9999},原创 2016-07-08 20:56:13 · 220 阅读 · 0 评论 -
最小生成树
prim算法对这种有记忆性质的变量(在外面定义,循环时会记录上次的值,类似于全局变量),每次使用都要小心,注意初始化问题!!! #include <iostream>using namespace std; const int N = 6; /*int e[N][N]={ {0,6,1,5,9999,9999}, {6,0,5,9999,3,9999},原创 2016-07-06 01:49:05 · 212 阅读 · 0 评论 -
最长回文子串
#include <iostream> #include <string> using namespace std; char arr1[1001000]; char arr2[1001000]; char manacher[2002000]; //int m[1001000][1000100]={0}; int p[2000010] = {0};//p[j]串长度 string arr; int原创 2016-07-01 21:23:50 · 218 阅读 · 0 评论 -
快速求幂与快速幂模
未优化过的 #include <iostream>using namespace std;void km(){//快速幂 int a,n; cin >> a >> n; int pow = 1; while (n){ if (n%2){ pow *= a; } a *= a; n原创 2016-07-22 20:25:13 · 2018 阅读 · 0 评论 -
最大子段和
简单实现,注意递推关系的选取! #include <iostream> #include <cmath> #include <algorithm>using namespace std; int a[6] = {-2,11,-4,13,-5,-2}; int ans = 0; int sum = 0; int trace = 0;int main() { if(a[0] > 0) ans =原创 2016-06-23 22:28:57 · 209 阅读 · 0 评论 -
回溯法实现批处理作业调度
include include include using namespace std;int work[4][2]={{0,0},{2,1},{3,1},{2,3}};//可以分段赋值也可以,逐个赋值用,隔开 int n = 3; int best = 1<<20; int x[4] = {0,1,2,3};//排列树的初始化 int f[4] = {0}; int bestf[4]={原创 2016-05-04 11:18:26 · 1474 阅读 · 0 评论 -
分支界限法实现单源最短路径
#include <iostream> #include <queue> #include <vector> #include <algorithm> #include <ctime> using namespace std; //黑科技最小堆实现方法 /* priority_queue <int> q; int main() { //priority_queue comp() <int>原创 2016-05-11 17:19:54 · 2069 阅读 · 0 评论 -
快速求幂
这里的说法比较容易理解 http://blog.csdn.net/hkdgjqr/article/details/5381028 这个说法不太容易理解,但是给出了这个算法的书本上的来源以及数学原理 http://blog.jobbole.com/74468/ 我自己的实现过程// // main.cpp // 快速求幂 // // Created by 万昆 on 15/原创 2015-12-06 23:40:41 · 267 阅读 · 0 评论 -
01背包
普通实现方式 #include <iostream>using namespace std; const int n = 5; const int c = 10; int w[] = {0,2,2,6,5,4}; int v[] = {0,6,3,5,4,6}; int m[n+2][c+2];//m[i][j]为考虑到第i至n个物品时,当容量为j,此时背包价值为m[i][j] int x[n+1]原创 2016-06-23 21:16:00 · 191 阅读 · 0 评论