算法与数据结构
文章平均质量分 57
scnuxiaotao
这个作者很懒,什么都没留下…
展开
-
贪心精讲
原文:http://blog.csdn.net/effective_coder/article/details/8736718有人说贪心算法是最简单的算法,原因很简单:你我其实都很贪,根本不用学就知道怎么贪。有人说贪心算法是最复杂的算法,原因也很简单:这世上会贪的人太多了,那轮到你我的份?转载 2015-07-27 13:31:32 · 369 阅读 · 0 评论 -
第六届蓝桥杯-手链样式
练习的时候想过用哈希,想写觉得太麻烦了,最后想了好久想了种简单的思路,因为有翻转和旋转,所以每次得到的样式要旋转12次,翻转后再旋转12次,在这过程中得到最小的数,然后跟已有的数进行检查,如果没有的话就是新的样式了。#include #include using namespace std;long long arr[10000];const int k = 12;in原创 2016-03-15 10:23:11 · 2450 阅读 · 0 评论 -
标签云 tagCloud 简单实现原理(还算好看)
实现原理很简单,可做优化。原理就是在一个区域内放第一个字(矩形),然后记录他的4个点(左上左下右上右下),入队列,,然后放下一个的时候,在队列取出一个点,然后第二个矩形根据这个点就有4种摆法,有些摆法可能不行,如图,第一个摆的有4个点,取出一个点,如左上,然后有4种摆法,图中给出三种,第4种和第一个摆的重合了所以不行,摆完第二个之后第二个的4个点入队列。之后根据队列原创 2016-03-28 11:42:39 · 8123 阅读 · 2 评论 -
uva10054(欧拉
撒花完结,突然想到我又不参加比赛,刷太难的题感觉费时间,转战其他oj了,uva还是无聊来看看就行判断度,然后判断是否连通(不判断也行,因为uva给的数据都是连通的。#include #include using namespace std;int G[51][51],ise[51];void dfs(int u){ for(int v = 1;v <= 50;v++)原创 2015-08-03 15:36:19 · 551 阅读 · 0 评论 -
uva10305(拓扑
这题肯定是拓扑排序,所以就少了很多判断,参考刘汝佳《入门经典》的代码后再改改就简洁多了。#include #include using namespace std;int G[101][101],c[101],top[101],top1;bool dfs(int u,int b){ for(int m = 1;m <= b;m++) if(G[u][m])原创 2015-08-01 15:15:19 · 505 阅读 · 0 评论 -
poj1145(二叉树
代码长,,,其实解题不用这么麻烦的。。就当练习二叉树了QAQ。#include #include using namespace std;struct tree{ int data; tree *left,*right;};void clr(string a){ for(string::iterator it = a.begin();it != a原创 2015-08-01 13:06:43 · 683 阅读 · 0 评论 -
uva784(深搜广搜
撒花,终于。。。完成了。。虽然时间用得很长QAQ就当练习了#include #include using namespace std;char road[30][81];int dr[2];int r[2][4] = {{1,0,-1,0},{0,1,0,-1}};void dfs(int a,int b){ for(int m = 0;m < 4;m++)原创 2015-07-31 20:38:01 · 407 阅读 · 0 评论 -
poj1208(链表
当写链表来练习了。#include #include using namespace std;struct LNode{ int data; LNode* fron; LNode* next;};void change(LNode* addr){ LNode* last_addr = addr; while(addr->next !原创 2015-07-30 13:40:26 · 1474 阅读 · 2 评论 -
poj1214(链表
uva的感觉好卡。。去看看poj发现有一样的题目,就在poj上测了,还有错误反馈QAQ不过感觉也是挺卡的,还是zoj流畅。此题目- -纯练习链表。。。#include #include #include using namespace std;struct lnode{ stack poke; lnode* fron; lnode* next;};boo原创 2015-07-30 13:20:52 · 3692 阅读 · 0 评论 -
算法竞赛入门-回溯-7.4.1-八皇后问题
八皇后问题,再一次加深了一下深搜。#include #include using namespace std;int via[3][15],nums = 0;void eight(int cur){ if(cur == 8) nums++; else for(int m = 0;m < 8;m++) { i原创 2015-10-30 00:00:26 · 724 阅读 · 0 评论 -
算法竞赛入门-枚举-7.3.3-二进制法
子集个数是2^n - 1用这种方法挺方便的~#include using namespace std;void subset(int n,int s){ for(int m = 0;m < n;m++) if(s&(1<<m)) cout << m ; cout << endl;}int main(){ in原创 2015-10-29 21:00:00 · 346 阅读 · 0 评论 -
算法竞赛入门-枚举-7.2.4-下一个排列
好东西~next的用处~#include #include using namespace std;int main(){ int nums; while(cin >> nums) { int arr[nums]; for(int m = 0;m < nums;m++) cin >> arr[m]原创 2015-10-29 13:50:59 · 258 阅读 · 0 评论 -
shell排序算法
经典的写法,今天刚学的。有点难懂。#include using namespace std;int main(){ int nums[10] = {49, 38, 65, 97, 26, 13, 27, 49, 55, 4}; for(int cut = 10/2;cut > 0;cut /= 2) for(int m = 0;m < cut;m+原创 2015-07-27 15:08:56 · 383 阅读 · 0 评论 -
zoj1091(广度搜索
码出来了,不过不知道这种写法标准不,回去看看数据结构。#include #include using namespace std;int step1[8] = {1,1,2,2,-1,-1,-2,-2};int step2[8] = {2,-2,1,-1,2,-2,1,-1};int knight[8][8];int Queuex[10000],Queuey[10000];i原创 2015-07-28 14:52:58 · 872 阅读 · 0 评论 -
zoj1091(深度搜索
撒花,简单题刷得差不多了开始刷其他类型的题啦。第一次接触深度搜索哈哈,有点理解了,题的答案是看网上自己理解敲的,等下敲个广度出来看看。#include #include using namespace std;int step1[8] = {1,1,2,2,-1,-1,-2,-2};int step2[8] = {2,-2,1,-1,2,-2,1,-1};in原创 2015-07-28 13:32:43 · 1463 阅读 · 0 评论 -
正弦内插算法
最近比赛用到,看了一下信号,应该差不多是这样。两个变量,采集频率和插入点的个数。[cpp] view plaincopy"code" class="cpp">#include #include #include #include using namespace std; #de原创 2015-08-03 12:22:29 · 8063 阅读 · 0 评论 -
算法竞赛入门-枚举-7.1.1-除法
简单枚举,枚举前先想想怎么列才能列出比较少的运算量,同时如果不考虑时间的话,考虑写出比较容易写的代码也是挺重要的~#include #include using namespace std;bool abc(int a){ int num[] = {0,0,0,0,0,0,0,0,0,0}; for(int m = 0;m < 10;m++)原创 2015-10-22 14:32:48 · 480 阅读 · 0 评论 -
算法竞赛入门-枚举-7.2.1-生成1~n排列
改了一下,在0~9中生成n位数不重复。#include using namespace std;void C(int n,int* A,int cur,const int num = 9){ if(cur == n) { for(int i = 0;i < n;i++) cout << A[i];原创 2015-10-23 13:18:03 · 395 阅读 · 0 评论 -
算法竞赛入门-枚举-7.1.4-双基回文数
#include using namespace std;bool GetNum(int num,int n){ string s; while(num > 0) { s += num % n + '0'; num /= n; } for(int m = 0;m < s.size()/2;m++)原创 2015-10-22 15:25:21 · 272 阅读 · 0 评论 -
基于社交网络的用户与基于物品的协同过滤推荐算法-java
package WjPack;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.HashMap;publi原创 2016-08-03 16:25:27 · 5621 阅读 · 15 评论