![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习随笔
文章平均质量分 50
Twenty_seven
这个作者很懒,什么都没留下…
展开
-
字符串hash ELFhash
ELFhash,一种对字符串求hash值的函数,使用原创 2014-11-18 20:37:37 · 539 阅读 · 0 评论 -
n的m划分 dp
计数问题的dp。 将n个无区别的物品,划分成不超过m组,求划分数。如n=4,m=3,结果是4(1+1+2=1+3=2+2=4) 设dp[i][j]表示i的j划分,dp[i][j]=dp[i-k][j-1]. k∈[1,min(i,j-1)]. 理解为从i个物品中取走k个,剩下的i-k个物品组成j-1种划分。但是,这个划分是错误的,会造成重复的划分不止记录一次。 我们原创 2015-08-03 18:48:12 · 977 阅读 · 0 评论 -
关于负数取模
我们知道,在不同的语言中,对负数执行取模运算,结果有可能会是不同的。例如,(-11)%5在python中计算的结果是4,而在C(C99)中计算的结果则是-1。truncate除法 && floor除法 在大多数编程语言中,如果整数a不是整数b的整数倍数的话,那么a、b做除法产生的实际结果的小数部分将会被截除,这个过程称为截尾(truncation)。如果除法的结果是正数的话,那么一般的编程转载 2015-07-21 09:01:08 · 553 阅读 · 0 评论 -
最大流Dinic
#include#include#include#include#define min(a,b)(a#define INF 0x0fffffffusing namespace std;#define MAX_V 1000struct edge{ int to,cap,rev; //rev代表反向边的to。G[e.to][e.rev] edge(){}原创 2015-04-01 10:41:51 · 364 阅读 · 0 评论 -
很有用的stl string类
要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下只用转载 2015-07-12 18:29:26 · 289 阅读 · 0 评论 -
joseph环的数学解法
约瑟夫(Joseph)问题的解决方法问题描述最初Joseph问题是这样的:有n个人(分别编号1,2……n)围成一圈,这些人轮流数数(编号为1的人开始,从1开始数),当数到m的人就会被处决。接着,后面的人继续从1开始数数,如此下去直到最后剩下来的那个人才能活命。当然Joseph先生非常聪明,他总是选择能最后剩下的那个位置站位。用图示来阐述Joseph问题更加直观:如下图,假如有A,B……转载 2015-04-20 22:21:53 · 686 阅读 · 0 评论 -
最大流Ford_Fulkerson
#include#includeusing namespace std;#define INF 0x0fffffff#define min(a,b)(a#define MAX_V 1000struct edge{ int to,cap,rev; //指向to的反向边的标号 edge(){} edge(int a,int b,int c):to(a),cap(原创 2015-04-01 10:43:30 · 412 阅读 · 0 评论 -
旅行商问题
给出一个n个顶点的带权有向图的距离矩阵d(i,j)(INF表示没有边)。要求从顶点0出发,经过每一个顶点恰好一次后再回到0.问最小权重。#include#include#includeusing namespace std;#define MAXN 20 #define INF 0x3fffffffint n;int d[MAXN][MAXN];int dp[1原创 2015-03-16 16:53:34 · 1033 阅读 · 0 评论 -
STL---ACM
高度优化的STL库对ACM很有用,使得很多基础结构不需要自己去实现。、、 原文地址:http://www.cnblogs.com/ACMan/archive/2012/05/30/2526927.html STL简介1 概况.......................................................... 21.1 STL是什么....转载 2015-02-17 11:57:47 · 389 阅读 · 0 评论 -
vector 实现邻接表
1.边上有属性,比如权#include#includeusing namespace std;#define MAXV 500vectorG[MAXV];/* struct edge { int from,to; }; vectorG[MAXV]; */ int main(){ int V,E; cin>>V>>E;原创 2015-02-17 12:27:28 · 1086 阅读 · 0 评论 -
二分图判断
判断一个图是否可以由2种颜色染色。#include#includeusing namespace std;#define MAXV 500int V;int color[MAXV];vectorG[MAXV];int dfs(int v,int c){ color[v]=c; int i; for(i=0;i { if(G[v][i]原创 2015-02-17 13:44:43 · 454 阅读 · 0 评论 -
优先队列优化的dijsktra完整代码+路径记录
#include#include#include#include#includeusing namespace std;#define MAXV 500#define inf 0x0fffffffint V,E;struct edge{ int to,cost; edge(int a,int b) { to=a; cost=b;原创 2015-02-18 14:00:22 · 506 阅读 · 0 评论 -
优先队列优化的dijsktra
#include#include#includeusing namespace std;#define MAXV 500#define inf 0x0ffffffftypedef pairP; //最短距离,编号struct edge{ int to,cost;};vectorG[MAXV];int d[MAXV];class cmp{p原创 2015-02-17 22:48:35 · 468 阅读 · 0 评论 -
C++库 全排列函数next_permutation
这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件下面是以前的笔记 与之完全相反的函数还有prev_permutation(1) int 类型的next_permutationint main(){int a[3];a[0]=1;a[1]=2;a[2]=3;do{cout} while (next_permutation(a转载 2015-02-13 19:57:10 · 568 阅读 · 0 评论 -
STL map&set
set和map最基本的使用方法,拥有2叉搜索树的性质和平衡二叉树的性质。使用它们来实现二叉搜索树。#include#include#includeusing namespace std;#includeint main(){ mapm; m.insert(map::value_type(1,"one")); m.insert(map::value_type(原创 2015-02-16 00:49:28 · 411 阅读 · 0 评论 -
扩展gcd 以及线性同余模方程
欧几里得算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 证明略去了。基本代码实现:view source1int gcd(int a,intb)转载 2015-02-12 22:31:33 · 513 阅读 · 0 评论 -
poj2823 单调队列
刚刚学习了单调队列,来练习一道,等会去试试多重背包。 如题:http://poj.org/problem?id=2823Sliding WindowTime Limit: 12000MS Memory Limit: 65536KTotal Submissions: 47025 Accepted: 13585Case Time原创 2015-08-04 10:19:44 · 358 阅读 · 0 评论