自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 正数取反、原码、反码、int最大与最小值的测试小代码

正数:原码 = 反码 = 补码负数:反码 = 原码取反, 补码 = 反码+10 = 0000 0000而‘-0’ = 1000 0000 是负数的最小值8位的话为-128 这个数没有原码和反码 #include <iostream>#include <bitset>using namespace std;int main() { int c = 0; //求-1 f

2016-10-07 19:31:49 1481

原创 算法导论钢条切割问题

钢条切割思路:1、先考虑,钢条总长度为0时,总价值为0;2、考虑,钢条总长度为1时,此时无法切割,总价值为1;3、钢条长为2时,两种情况:不切割,中间切割一次,比较谁大,取大的方案(要用到上面的结果2);...总结:长度为i的钢条,最左端切割的位置为k,那么总价值如下递推式:dp[i]=max∑k=1i(dp[i−k]+price[k])(i>0) dp[i] =max{\sum_{

2016-08-31 19:17:06 605

原创 并查集

功能1、实现两个集合的合并2、查询一个元素属于哪个集合实现一共两个函数:1、查找当前元素a,属于哪个集合 :int getPar(int a)注意实现时需要做路径压缩,下图就是路径压缩的原理:![这里写图片描述](http://img.blog.csdn.net/20160823214627924)函数实现:int getPar(int a){ if(par[a] == a)

2016-08-23 21:48:39 272

原创 memset的使用以及原码反码补码.md

原码反码补码的设计是为了计算机算加法与减法(为简化,此处使用的是8位)正数的原码=反码=补码 负数情况较为复杂:负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [-1] = [10000001]原 = [11111110]反 = [11111111]补 计算机必然不会去区分符号位,因此符号位是要参与计算的,如果使用原码计算: 1 - 1 =

2016-08-19 21:14:24 501

原创 快速求幂与快速幂模

未优化过的#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 2010

原创 最小生成树

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 214

原创 最小生成树

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 208

原创 最长回文子串

#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 212

原创 最大子段和

简单实现,注意递推关系的选取!#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 204

原创 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 184

原创 最长公共子序列(未完成)

做了滚动数组的lcs,每次都只会用到本行和上一行的数据,因此只需记录了两行就能够算出结果。 使用滚动数组是不是无法追踪解的情况? 关于i-1这种问题的越界处理,有两种处理方法:一种是输入的数组前面加个无意义字符,让有意义的数据从1开始;另一种是 解空间从1开始计算,如本例中C[i][j]的的下标。#include <iostream>using namespace std;char

2016-06-23 21:14:11 213

原创 分支界限法实现单源最短路径

#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 2059

原创 回溯法实现批处理作业调度

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 1462

原创 Python

安装注册码问题 注册方法: 在 注册时选择 License server ,填 http://idea.lanyus.com ,然后点击 OK 使用参考如下教程 http://wenku.baidu.com/link?url=tFRBIYusXT6FTpETPRys49vohtGV5StEljzN7R4CvGss2zVxtz9nOPI9EiPCwfGPMMbP8-U6V6pvKoi

2016-02-22 16:31:21 231

原创 mininet使用

mininet 实验,在做dpctl时一直添加不上路由表,尼玛再开一个终端添加一下就可以了!!!很坑!!!

2015-12-15 02:09:47 308

原创 快速求幂

这里的说法比较容易理解 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 264

转载 UVA11988

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-12-03 20:54:00 384

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除