05 2016 档案

最大连续子序列
摘要:#include #include #include using namespace std; int k,s[10010]; void MCS() //用dp表示是dp[i+1]=max(dp[i]+s[i+1],s[i+1]);转移方程 { int l=0,ll=0,rr=0; int sum=-100000,mx=-100000; for(int i=0;i... 阅读全文

posted @ 2016-05-31 17:59 青春的梦想付诸行动 阅读(121) 评论(0) 推荐(0)

苹果 01背包
摘要:#include #include #include using namespace std; int main() { int n,v,c[1003],w[1003]; int dp[1003]; //滚动数组 dp数组表示重量为i时价值为多少。。 while(scanf("%d%d",&n,&v),(n||v)) { ... 阅读全文

posted @ 2016-05-30 21:31 青春的梦想付诸行动 阅读(144) 评论(0) 推荐(0)

Robberies 01背包变形 hdoj
摘要:在选择物品的时候,对每种物品i只有两种选择,即装入背包或不装入背包。不能讲物品i装入多次,也不能只装入物品的一部分。因此,该问题被称为0-1背包问题。 将小偷计划要偷的钱的总数作为背包的容量,然后每个银行的存款就作为各个物品的重量, 每个银行小偷的逃跑率就作为每个物品的价值,这样就转化为01背包问题 阅读全文

posted @ 2016-05-30 20:25 青春的梦想付诸行动 阅读(321) 评论(0) 推荐(0)

01背包
摘要:转载:http://blog.csdn.net/mu399/article/details/7722810 01背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。 01背包的状态转换方程 f[i,j] 阅读全文

posted @ 2016-05-30 19:32 青春的梦想付诸行动 阅读(141) 评论(0) 推荐(0)

小希的迷宫--并查集
摘要:题目 并查集可以检查这个图是否为生成树。。。 阅读全文

posted @ 2016-05-18 19:52 青春的梦想付诸行动 阅读(140) 评论(0) 推荐(0)

德克萨斯长角牛 --最短路径
摘要:题目 没事回顾一下最短路径算法。练练手。。 spfa 解法 dijkstra解法,直接套用的模板 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <queue> #defin 阅读全文

posted @ 2016-05-18 18:01 青春的梦想付诸行动 阅读(220) 评论(0) 推荐(0)

1596 最短路径的变形
摘要:题目: 回顾一下。。 直接用dijkstra算法。。 阅读全文

posted @ 2016-05-17 16:49 青春的梦想付诸行动 阅读(126) 评论(0) 推荐(0)

字典树
摘要:字典树,又称单词查找树,Trie树,是一种树形结构,哈希表的一个变种。用于统计,排序和保存大量的字符串(也可以保存其的)。 优点就是利用公共的前缀来节约存储空间。在这举个简单的例子:比如说我们想储存3个单词,nyist、nyistacm、nyisttc。如果只是 单纯的按照以前的字符数组存储的思路来 阅读全文

posted @ 2016-05-17 15:15 青春的梦想付诸行动 阅读(183) 评论(0) 推荐(0)

Phone List --字典树
摘要:题目 刚开始定义node 变量,之后删除时出现run error ,之后问了别人, 知道 delete 只能删除堆的内存,所以定义了node *root=new node ,AC了。 注:new 和delete 只能用堆里的内存 即new 的内存 再就是注意建完一次树之后就删了建的树。要不内存超出。 阅读全文

posted @ 2016-05-17 13:47 青春的梦想付诸行动 阅读(155) 评论(0) 推荐(0)

字典树删除多余的结点疑问
摘要:#include #include #include #include #include #include using namespace std; struct node { int cnt;//记录个数; struct node *next[26]; node() { cnt=0; memset(next,NULL... 阅读全文

posted @ 2016-05-17 11:28 青春的梦想付诸行动 阅读(220) 评论(1) 推荐(0)

百度之星 预赛003--字典树
摘要:自己写的代码,到了最后也没有搞懂自己能的指针,到了网上看了些题解,自己的思路也错了,虽然都用的是字典树解法,虽然走了弯路,,但最后也把指针这地方的知识又回顾了一遍吧。。 也懒得自己打了,明天自己在找个思路做一下吧。。。 自己写的错误代码: #include <cstdio> #include <cs 阅读全文

posted @ 2016-05-16 19:25 青春的梦想付诸行动 阅读(230) 评论(0) 推荐(1)

大数各种运算
摘要:大数模板l 阅读全文

posted @ 2016-05-16 16:57 青春的梦想付诸行动 阅读(173) 评论(0) 推荐(0)

百度之星 预赛002 大数问题+斐波那契数列
摘要:从网上找到的大数模板,好全。。 阅读全文

posted @ 2016-05-16 16:55 青春的梦想付诸行动 阅读(240) 评论(0) 推荐(0)

L2-005. 集合相似度
摘要:题目: 这个题最后一个数据没有通过 ,先这样吧,过几天应该有题解,到时候在完善一下。。。 阅读全文

posted @ 2016-05-15 20:57 青春的梦想付诸行动 阅读(212) 评论(0) 推荐(0)

L2-008. 最长对称子串 (有个知识点没看)
摘要:题目: 思路 方法一:判断字符串的每一个子串,若是对称的,则求出它的长度即可。这种办法对每一个子串,从两头向中间判断是不是子串。总的时间复杂度为O(n^3), 下面给出时间复杂度是O(n^2)的思路。 方法二:与方法一正好相反,字符串中的每一个开始,向两边扩展,此时可分为两种情况: (1)对称子串长 阅读全文

posted @ 2016-05-15 20:32 青春的梦想付诸行动 阅读(887) 评论(0) 推荐(0)

L1-1. 这是一道简单题
摘要:题目: 阅读全文

posted @ 2016-05-15 16:08 青春的梦想付诸行动 阅读(163) 评论(0) 推荐(0)

L1-3. 这道真是简单题
摘要:题目: 阅读全文

posted @ 2016-05-15 16:06 青春的梦想付诸行动 阅读(162) 评论(0) 推荐(0)

百度之星 预赛004--字典树
摘要:#include #include #include #include #include #include using namespace std; struct node { int cnt;//记录个数; struct node *next[26]; node() { cnt=0; memset(next,NULL... 阅读全文

posted @ 2016-05-15 12:27 青春的梦想付诸行动 阅读(124) 评论(0) 推荐(0)

二分图最大匹配算法
摘要:什么是二分图: 二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。 一个二分图中的最大匹配数等于这 阅读全文

posted @ 2016-05-13 13:52 青春的梦想付诸行动 阅读(291) 评论(0) 推荐(0)

填志愿 --最大流---二分匹配
摘要:传送门: 做了专门的最大流问题,刚开始用了最大流上网看了说二分匹配法更好,那就学习了二分匹配法。 最大流解法: 二分图求解: 阅读全文

posted @ 2016-05-13 13:18 青春的梦想付诸行动 阅读(155) 评论(0) 推荐(0)

指派问题 --二分图匹配
摘要:题目: 有N台计算机和k个任务,我们可以给每台计算机分配一个任务,每台计算机能够处理的任务种类各不相同,请求出最多能够处理任务的个数; 阅读全文

posted @ 2016-05-13 11:24 青春的梦想付诸行动 阅读(396) 评论(0) 推荐(0)

求解一元二次方程 二阶差分法
摘要:#include #include using namespace std; const int c=100000; int s[c],alpha[c],beta[c]; //s表示数值,alpha表示一阶差分,beta表示二阶差分 int main() { int k,n; s[0]=0; s[1]=1; s[2]=4; alpha[1... 阅读全文

posted @ 2016-05-12 20:30 青春的梦想付诸行动 阅读(413) 评论(0) 推荐(0)

台阶问题练习题 (简单的dp)
摘要:题目: 有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007 给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。 测试样例:1 返回: 1 到达n台阶时,可以有两种方法到达n台阶,只需走一级就可以上 阅读全文

posted @ 2016-05-12 18:47 青春的梦想付诸行动 阅读(348) 评论(0) 推荐(0)

排涝 网络流--最大流 ek算法
摘要:传送门: 以前没接触过最大流问题,刚开始以为是用kruscal算法求最小生成树呢,并且题上也是显示最小树的专题: 反正还行吧,捣鼓了两天,总算稍微理解了一下,等会回来整理一下知识点。 阅读全文

posted @ 2016-05-12 18:06 青春的梦想付诸行动 阅读(192) 评论(0) 推荐(0)

灌溉 最小生成树
摘要:1 #include 2 #include 3 using namespace std; 4 int sum; 5 int map[101][101]; 6 bool vis[101]; 7 int des[101]; 8 9 void prim(int v,int e) 10 { 11 int i,j; 12 memset(vis,0,sizeof(vi... 阅读全文

posted @ 2016-05-11 15:10 青春的梦想付诸行动 阅读(115) 评论(0) 推荐(0)

queue的应用uva540
摘要:queue 还提供了优先队列,STL提供了更为简单的定义方法,例如,越小的整数优先级越大的优先队列,可以写成priority_queue<int,vector<int>,greater<int> >pq; 阅读全文

posted @ 2016-05-09 20:08 青春的梦想付诸行动 阅读(218) 评论(0) 推荐(0)

大数相加
摘要:1 #include 2 #include 3 4 using namespace std; 5 6 char a[1002],b[1002]; 7 int s[1004]; 8 int shu(char p) 9 { 10 return p-'0'; 11 } 12 int main() 13 { 14 int lena,lenb; 15 in... 阅读全文

posted @ 2016-05-09 19:43 青春的梦想付诸行动 阅读(141) 评论(0) 推荐(0)

map 应用
摘要:find函数--查找map的元素。 count函数--统计map中某元素关键字的个数。 阅读全文

posted @ 2016-05-09 16:22 青春的梦想付诸行动 阅读(128) 评论(0) 推荐(0)

uva 10815 set的学习
摘要:只为学习set 的用法,set就是数学上集合,每个元素只出现一次。和sort一样,所有类型都可以,但是必须定义小于运算符。 count()函数--统计set中某一个元素的个数。 lower_bound和upper_bound函数返回set中元素下界和上届的迭代器 getline()是定义在<stri 阅读全文

posted @ 2016-05-09 12:12 青春的梦想付诸行动 阅读(142) 评论(0) 推荐(0)

数组中未出现的最小正整数(算法)
摘要:题目: 给定一个无序数组arr,找到数组中未出现的最小正整数。要求:时间复杂度O(n),额外空间复杂度O(1); 变量的解释l:表示从1-l已经存在的数r:表示1-r想要得到的数 初始值:l=0r=n 走的过程 1>当l的位置值等于l+1,表示得到想要的2>当l的位置值<l时,表示l位置的值已经存在 阅读全文

posted @ 2016-05-09 10:53 青春的梦想付诸行动 阅读(1308) 评论(0) 推荐(0)

STL sector 应用
摘要:1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <cstdio> 5 using namespace std; 6 int n; 7 vector<int> pile[30]; 8 9 //找到a所在p 阅读全文

posted @ 2016-05-08 18:06 青春的梦想付诸行动 阅读(156) 评论(0) 推荐(0)

uva 10474
摘要:用vector 不定长数组存放数据的 阅读全文

posted @ 2016-05-08 13:57 青春的梦想付诸行动 阅读(133) 评论(0) 推荐(0)

子集生成 --二进制法
摘要:用二进制表示{0,1,2,3...n-1}的子集s;从右往左第i位表示元素i是否在集合s中。图2表示10100110是如何展示了集合{1,2,5,7}的。 注意:为了方便,最右边的为总是对应元素0,而不是元素1; 异或最重要的性质就是开关型 异或两次相当于没有异或,即A^B^B=A 根据图1不难看出 阅读全文

posted @ 2016-05-07 14:58 青春的梦想付诸行动 阅读(481) 评论(0) 推荐(0)

擅长排列的小明
摘要:1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 int vis[11]; 5 int ans[11]; 6 7 void dfs(int n,int m,int cur) 8 { 9 if(cur==m) 10 { 阅读全文

posted @ 2016-05-07 10:52 青春的梦想付诸行动 阅读(109) 评论(0) 推荐(0)

畅通工程 ---并查集
摘要:1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 int f[1010];//记录当前i的前驱(画完图是树形结构) 5 6 int find(int x) //查找根节点 7 { 8 int r=x; 9 while( 阅读全文

posted @ 2016-05-06 20:28 青春的梦想付诸行动 阅读(128) 评论(0) 推荐(0)

并查集
摘要:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 阅读全文

posted @ 2016-05-06 18:06 青春的梦想付诸行动 阅读(185) 评论(0) 推荐(0)

一笔画问题---欧拉定理
摘要:欧拉定理 如果一个网络是连通的并且奇顶点的个数等于0或2,那么它可以一笔画出;否则它不可以一笔画出。 判断一笔画的方法: ①是连通的。一个图,如果图上任意二点总有线段连接着,就称为连通的。不是连通的就不能一笔画出。 ②奇点个数是0或者是2。图上线段的端点可以分成二类,奇点和偶数。一个点,以它为端点的 阅读全文

posted @ 2016-05-06 15:49 青春的梦想付诸行动 阅读(2852) 评论(0) 推荐(0)

最小生成树
摘要:最小生成树问题,可以用克鲁斯卡尔算法和普利姆算法,Prim最主要的思想是根据顶点来得出结果,而Kruscal则是根据边来得出结果的,因此Prim最要运用于稠密图的计算,而Kruskal主要是运用于稀疏图的计算。因为只能选择一个楼连接到外界供电设备,所以只要构成最小生成树的边的和加上与外界连接花费最小 阅读全文

posted @ 2016-05-06 11:29 青春的梦想付诸行动 阅读(193) 评论(0) 推荐(0)

最小公倍数 大数问题
摘要:1 #include<stdio.h> 2 #include<string.h> 3 #define N 50 4 int len,a[N]={1}; 5 char tab[100][45]={0,1}; 6 inline int gcd(int a,int b) 7 { 8 return b==0 阅读全文

posted @ 2016-05-05 11:51 青春的梦想付诸行动 阅读(236) 评论(0) 推荐(0)

一种排序
摘要:1 #include <algorithm> 2 #include <cstdio> 3 using namespace std; 4 typedef struct node { 5 int c,x,y; 6 } node; 7 node s[1010]; 8 9 bool cmp(node a,n 阅读全文

posted @ 2016-05-04 20:54 青春的梦想付诸行动 阅读(99) 评论(0) 推荐(0)

大数阶乘
摘要:1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 unsigned short s[20000];//最多可以容纳5000阶乘;且必须为int型,当为short型时,数组元 阅读全文

posted @ 2016-05-04 18:20 青春的梦想付诸行动 阅读(165) 评论(0) 推荐(0)

吝啬的国度 简单的图搜索
摘要:1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #include <stdlib.h> 5 int pre[100005]; 6 typedef struct edge 7 { 8 int v; 9 struct ed 阅读全文

posted @ 2016-05-04 11:26 青春的梦想付诸行动 阅读(148) 评论(0) 推荐(0)

导航