随笔分类 - 数据结构 & 算法
1
摘要:1. Vijos 萌萌的糖果博弈 && 吃糖果游戏 每次可以任意拿走其中一堆糖果;如果这时候另一堆糖果数目多于1粒,就把它任意分成两堆,否则就把剩下的一粒糖果取走并获得这次博弈的胜利。 1 #include<iostream> 2 #include<cstdio> 3 #include<string
阅读全文
posted @ 2017-05-04 10:28
马丁黄瓜啊
摘要:1. HDU 1232(并查集模板题) 1 #include<iostream> 2 #include<cstdio> 3 #include<string.h> 4 using namespace std; 5 #define MAX 1002 6 int pre[MAX];///用来标记关系 7
阅读全文
posted @ 2017-04-25 12:01
马丁黄瓜啊
摘要:单源最短路: Bellman-Ford 可以解决存在负边问题,复杂度:O(|边||点|) Dijkstra 不能解决负边 邻接矩阵、邻接表复杂度:O(|点|^2),优先队列复杂度:O(|边|) 任意两点间的最短路问题: Floyd-Warshall 可以解决负边问题,复杂度O(|点|^3) 路径还原
阅读全文
posted @ 2017-04-19 11:00
马丁黄瓜啊
摘要:背包问题初始值: 恰好装满: d[0]=0, d[1].d[2].d[3]....d[n-1]= 负无穷; 尽可能的满: d[0].d[1].d[2].....d[n-1] = 0; 背包九讲:初始化的f数组事实上就是在没有任何物品可以放入背包时的合法状态。如果要求背包恰好装满,那么此时只有容量为0
阅读全文
posted @ 2017-04-12 10:33
马丁黄瓜啊
摘要:1. Team Formation 链接:https://cn.vjudge.net/contest/157826#problem/B 问题:N个数,找出符合条件的对的个数。符合条件的一对为:两个数 相异或 的值大于该两个数,则符合。 例如: 3 1 2 3 输出: 1 解释: 1 异或 2 = 3
阅读全文
posted @ 2017-04-08 22:18
马丁黄瓜啊
摘要:1.数独 DFS 问题:用数字1-9填充该9×9的数据块,条件:空位置填数,该行、该列、该所在的3×3(黑线划分)小块,不得有重复出现的数字 思路:DFS 用三个二维数组分别存储:值为 1则说明出现过 r[i][x] 第 i 行 x 值 是否出现过 c[j][x] 第 j 列 x 值 是否出现过 b
阅读全文
posted @ 2017-04-06 21:15
马丁黄瓜啊
摘要:1. HDU 1003 最大和连续子序列 状态方程:dp[i]=max(dp[j-1]+num[i],num[i]); 解:存放dp数组每个元素都是从左至右最大连续子序列的值,即dp[i]为从0~i处最大连续子序列的值 注意边界 1 #include<stdio.h> 2 #include<algo
阅读全文
posted @ 2017-03-29 20:20
马丁黄瓜啊
摘要:循环次数 100000 ,N 为 10 结果如下 循环次数 100000 ,N 为 15 结果如下 -循环次数 100000 ,N 为 20 结果如下 可以看出递归最为耗时:代码简单易懂 向量由于做了大量的下标工作,相对来说次之 公式法再次之(在N=15时,公式法与迭代法性能不确定):公式推导,性能
阅读全文
posted @ 2016-11-18 09:21
马丁黄瓜啊
摘要:参考: 1.HDU 1856 More is better 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1856 题目大意: 给出N对关系 2*n 个人,求关系圈最大的人数。 解题思路: AC Code:
阅读全文
posted @ 2016-10-08 22:38
马丁黄瓜啊
摘要:题目链接:http://codeforces.com/problemset/problem/719/C 题目大意: 留坑。。。
阅读全文
posted @ 2016-09-29 14:14
马丁黄瓜啊
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 题目大意: 第一行 输入 n k,后有 n 行,对于每一行有两种状态 ,①“I x” : 插入 x ② “Q” : 输出当前 第 K大的数 解题思路: 利用优先队列保证插入新数据后的队列是有序的。
阅读全文
posted @ 2016-09-28 11:35
马丁黄瓜啊
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1873 题目大意: 三个医生看病,病人排队看病,病人有优先级,优先级高的提前看病,同样的优先级按先后。IN A B : A医生有B病人。OUT A:A医生看完病人。输入看完病的病人是第几个来的。如果当前的
阅读全文
posted @ 2016-09-27 16:07
马丁黄瓜啊
摘要:1 /*数组形式描述链表:链表不一定要用指针。 2 题目链接:UVa 11988 Broken Keyboard 3 题目大意: 4 小明没有开屏幕输入一个字符串,电脑键盘出现了问题会不定时的录入 home end 两个键, 5 我们知道如果录入home则将光标定位到字符首,如果录入end则是将光标定位到字符尾。现 6 在让你输出这段坏了文本。 表示:h...
阅读全文
posted @ 2016-09-26 12:43
马丁黄瓜啊
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 题目大意: 输入 n m t,生成 n*m 矩阵,矩阵元素由 ‘.’ 'S' 'D' 'X' 四类元素组成. S'代表是开始位置; 'D'表示结束位置;'.'表示可以走的路;'X'表示是墙。 问:
阅读全文
posted @ 2016-09-24 11:56
马丁黄瓜啊
摘要:参考:http://conw.net/archives/9/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
阅读全文
posted @ 2016-09-24 10:05
马丁黄瓜啊
摘要:筛选法:对于不超过n的每个非负整数p,删除2p,3p,4p...当处理完所有数之后,还没没删除的就是素数。 代码中进行了相应的优化。 本代码功能,输入一个数,输出从1-该数之间的素数。功能待完善,可将所有素数存放到vis数组中。int k=0;vis[k++]=j;//待验证
阅读全文
posted @ 2016-09-22 22:49
马丁黄瓜啊
摘要:递归: 非递归: 不用考虑那个数值大小的问题,直接进行运算 数据测试: gcd(8,12) 1.while r=8%12=8 m=12 n=8 2.while r=12%8=4 m=8 n=4 3.while r=8%4=0 //跳出循环 cout n //n=4
阅读全文
posted @ 2016-09-09 22:52
马丁黄瓜啊
摘要:文章、图片参考:http://www.jianshu.com/p/1b4068ccd505?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 这里用C++实现了部分排序,待更新。。。 名词解释: n: 数据规模k:“桶”的个数In
阅读全文
posted @ 2016-09-09 22:46
马丁黄瓜啊
摘要:题目链接:http://codeforces.com/problemset/problem/701/C 题意:找到字符串中能包含所有元素的最短字符串长度。 利用“滑动窗口”解题 解题思路: 1. 遍历找到所有元素进行统计,元素数sum 2.设置两个”指针“ st、en,双重while 循环 3.先清
阅读全文
posted @ 2016-09-03 16:27
马丁黄瓜啊
摘要:Java--大数计算,妈妈再也不用担心我的学习了 . BigInteger 英文API: http://docs.oracle.com/javase/8/docs/api/ 中文API: http://tool.oschina.net/apidocs/apidoc?api=jdk-zh -C++
阅读全文
posted @ 2016-07-17 09:48
马丁黄瓜啊
1

浙公网安备 33010602011771号