算法
acm暴力算法
ljlhnick
哈哈哈哈哈哈哈
展开
-
欧拉函数
欧拉函数模板int oula(int n){ int i,ans=n; for(i=2;i*i<=n;i++){ if(n%i==0) ans=ans-ans/i; while(n%i==0) n/=i; } if(n>1) ans=ans-ans/n; return ans;} oula(int n){ int i,ans=n; for(...原创 2016-08-05 08:03:56 · 370 阅读 · 0 评论 -
统计工龄 模拟EXCEL排序 银行排队问题之单队列多窗口问题 银行业务队列简单模拟 堆栈操作合法性 两个有序序列的中位数
一波pta上的数据结构题两个有序序列的中位数点击打开链接/***51 3 5 7 92 3 4 5 6***/#include <iostream>#include <algorithm>#include <string.h>#define N 200005using namespace std;int a[N];int...原创 2016-08-07 18:28:20 · 986 阅读 · 0 评论 -
六度空间 地下迷宫探索 哈利·波特的考试 旅游规划 畅通工程之最低成本建设问题
六度空间————广搜点击打开链接#include <iostream>#include <queue>#include <string.h>#include <iomanip>#define N 1010using namespace std;struct node{int top,len;};int mapp[N+10...原创 2016-08-07 18:46:09 · 950 阅读 · 0 评论 -
一道思维题
昨天被虐惨了,这道题好不容易找出止汗0,1的数,却没有注意组成的个数之和最小,我用的贪心(明明知道错的,但没办法,没思路)看了,得到博主的允许,转载了原文出自点击打开链接题目大意:给出一个数N,找出一些只由0和1组成的数字,使这些的数字的和等于N且数量最少。解题思路:训练赛A题,巨水的一道题,然而当时我还以为要用DP。。。其实就是从个位开始向上累加10的k次方。例如32,个位数是2...转载 2016-08-07 19:09:58 · 318 阅读 · 1 评论 -
杭电 1181 变形课
呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,...原创 2016-08-12 10:49:07 · 286 阅读 · 0 评论 -
简单搜索入门
杭电 1495 非常可乐#include <iostream>#include <cstdio>#include <vector>#include <cstring>#include <queue>using namespace std;int s,n,m,mark[110][110],ff;struct nod...原创 2016-08-15 08:27:57 · 267 阅读 · 0 评论 -
简单搜索入门
点击打开链接hdu 2181 哈密顿绕行世界问题#include <iostream>#include <stdio.h>#include <string.h>#include <queue>#include <string>#include <map>#define Y 0x3f3f3f3fus...原创 2016-08-15 08:40:49 · 220 阅读 · 0 评论 -
简单搜索入门
点击打开链接poj 2251 duugeon master(三维)#include <iostream>#include <stdio.h>#include <string.h>#include <queue>#include <string>#include <map>#define Y 0x3f...原创 2016-08-15 08:46:53 · 257 阅读 · 0 评论 -
有点难度的搜索
hdu 2102 A计划#include <iostream>#include <stdio.h>#include <string.h>#include <queue>using namespace std;char mapp[3][11][11];int mark[3][11][11],n,m,times,ff;int d...原创 2016-08-15 08:58:00 · 329 阅读 · 0 评论 -
二叉搜索树的习题 pta
今天鸡血打完了,直接贴代码就不解释了根据后序和中序遍历输出先序遍历点击打开链接#include <iostream>#include <algorithm>#include <stdio.h>#include <string.h>#define MAXINT 32767using namespace std;stru...原创 2016-08-05 15:49:01 · 570 阅读 · 0 评论 -
二叉搜索树的那点事儿
草稿箱里的概念,习题点击打开链接我今天是不是打鸡血了,一直在写。写博客的劲儿来了,挡都挡不住,嘻嘻二叉搜索树需满足:左边比根节点小,右边大于(有时也可等于)根节点的二叉树建立二叉树:1,数组法:传的是节点的标号void creattree(int j){ int i,k; for(i=1;i<n;i++){ k=1; ...原创 2016-08-05 15:17:57 · 419 阅读 · 0 评论 -
括号配对
关于这道题,我的代码一直wa,求bug大神帮忙找找,一直wa的#include <iostream>#include <stdio.h>#include <string.h>#include <stack>using namespace std;char s[1000],c;int main(){ int n,i,...原创 2016-08-07 18:13:56 · 244 阅读 · 6 评论 -
最长子序列
简单的数据结构,数组哪儿有点绕,大家好好理解点击打开链接#include <iostream>using namespace std;int a[100000+100],c[100000];int main(){ int n,i,j,l1=1,l2=0,k2=1,t; cin>>n; for(i=0;i<n;i++) ...原创 2016-08-07 18:26:19 · 264 阅读 · 2 评论 -
Warshall传递闭包算法
补充之前关于判断图的连通性的一个算法,吃完晚饭鸡血又回来了一个有n个顶点的有向图的传递闭包为:有向图中的初始路径可达情况可以参见其邻接矩阵A,邻接矩阵中A[i,j]表示i到j是否直接可达,若直接可达,则A[i,j]记为1,否则记为0;两个有向图中i到j有路径表示从i点开始经过其他点(或者不经过其他点)能够到达j点,如果i到j有路径,则将T[i,j]设置为1,否则设置为0;有向图的传递闭包表示从...原创 2016-08-05 19:00:43 · 1214 阅读 · 0 评论 -
尺取法
有这么一类问题,需要在给的一组数据中找到不大于某一个上限的“最优连续子序列”————————尺取法poj 3061 给长度为n的数组和一个整数m,求总和不小于m的连续子序列的最小长度思路:当a1, a2 , a3 满足和>=S,得到一个区间长度3,那么去掉开头a1, 剩下 a2,a3,判断是否满足>=S,如果满足,那么区间长度更新,如果不满足,那么尾部向后拓展,判断a2...原创 2016-08-05 08:30:20 · 523 阅读 · 0 评论 -
任务调度
<a target=_blank href="https://pta.patest.cn/pta/test/15/exam/4/question/861">点击打开链接</a>#include <iostream>#include <algorithm>#include <stdio.h>#include <string....原创 2016-07-26 09:01:18 · 272 阅读 · 0 评论 -
杭电 1285
之前先看了拓扑排序,由于图只会用邻接矩阵,不会表,所以看了海子的博客http://www.cnblogs.com/dolphin0520/archive/2011/04/16/2017737.html,感觉写的不错,可败在考虑重边了#include <iostream>#include <stdio.h>#include <string.h>usin...原创 2016-07-19 16:10:55 · 687 阅读 · 0 评论 -
七桥问题
点击打开链接#include <iostream>#include <stdio.h>#include <string.h>#include <queue>#define N 1010using namespace std;int a[N],n,mapp[N][N],mark[N];///判断图是否连通,一笔勾是在图连通的基础上对...原创 2016-07-18 10:49:37 · 448 阅读 · 0 评论 -
杭电 1863 最小生成数
点击打开链接法一:prim算法,之前Wa了,后来改成kruskal算法过了,然后几天后讲过同学的提醒指导了错误的地方,#include <iostream>#include <algorithm>#include <stdio.h>#include <string.h>#define N 200#define Y 33333110...原创 2016-07-18 10:38:34 · 298 阅读 · 0 评论 -
最小生成树 (hdu)1102 1162 1233 1301 1863 7875 7873
大家都知道最小生成树有两种算法:prim(普利姆)———从点考虑,kruskal(克鲁斯卡)————从边考虑初学最小生成树时,看的这篇博文,感觉棒棒哒点击打开链接点击打开链接hdu 1233 最小生成树#include <iostream>#include <algorithm>#include <stdio.h>#include &...原创 2016-08-05 08:56:06 · 435 阅读 · 0 评论 -
最短路习题集(hdu)
下面把在杭电刷题的最短路的代码贴上hdu 2544点击打开链接dijkstra算法#include <iostream>#include <algorithm>#include <stdio.h>#include <string.h>#define N 200#define Y 33333110using names...原创 2016-08-05 10:22:07 · 1320 阅读 · 0 评论 -
关于map的概念与习题
map的概念:申明非原创请戳点击打开链接pta点击打开链接#include<iostream>#include <map>#include <stdio.h>#include <string.h>using namespace std;int b[55];int main(){ int n,i,m,l=0; ...原创 2016-08-05 11:16:55 · 530 阅读 · 0 评论 -
判断图的连通性
关于判断一个图的连通性有几种方法,下面为大家介绍几种简单的方法,好记又方便,难得我会提下(毕竟自己很菜,不会),大家想了解更多的可以自己百度简单:1,可以用广搜遍历图(用邻接矩阵存的),若图能连通,那么比能访问完所有图中节点,核心代码如下:<span style="font-size:14px;color:#FF0000;"><strong>//申明邻接矩阵...原创 2016-08-05 14:26:36 · 12530 阅读 · 0 评论 -
链式前向星
不知道干嘛的,先整理/****5 81 2 21 3 32 4 72 5 123 5 104 5 93 2 63 4 1****////链式前向星 #include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using ...原创 2016-08-05 19:07:23 · 199 阅读 · 0 评论 -
最短路概念
刚刚一不小心被自己删了重写短路习题hdu 2544 2112 1874 1596 poj 1789戳点击打开链接大家知道最短路的算法有很多种吧,现在我来总结下:对于无向正权图,我们可以用dijkstar算法:不可以处理负权图,,要注意与最小生成树中的普莱姆算法中的不同之处void dijkstar(){ //int prime() int i,j,k,...原创 2016-08-05 11:04:46 · 583 阅读 · 0 评论