SDUT OJ
文章平均质量分 66
RIPwangh
山东理工大学本科学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sdut-1351-Max Sum-hdu-1003
题目描述Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.输入T原创 2015-08-10 19:30:48 · 495 阅读 · 0 评论 -
SDUT 数据结构 欧拉回路
无向图: 度数为偶数,且联通#include #include #include #include #include #define MAX 0x3f3f3fusing namespace std;int d[1100];int f[1100];int fd(int x){ return f[x] == x? x: f[x] = (fd(f[x]));}v原创 2015-12-04 19:30:48 · 571 阅读 · 0 评论 -
SDUTOJ3361-数据结构实验之图论四:迷宫探索
#include #include #include #include #include using namespace std;int n, m, s;bool mp[1010][1010];int ph[1100];int vis[1100];int cnt;void creat(){ memset(mp,0,sizeof(mp)); int u, v;原创 2015-12-04 18:00:01 · 601 阅读 · 0 评论 -
DS-SDUT-数据结构实验之排序二:交换排序
#include #include #include #include #include using namespace std;int n;long long ls[100010];long long s[100010];int num1, num2;void mao(long long a[]){ int i, j; for( i = 0; i < n-原创 2015-12-26 19:32:06 · 610 阅读 · 0 评论 -
DS-SDOJ-数据结构实验之排序三:bucket sort
#include #include #include #include #include using namespace std;int n;int _hash[110];int main(){ int n; while(~scanf("%d",&n)) { memset(_hash,0,sizeof(_hash)); i原创 2015-12-26 19:51:14 · 916 阅读 · 0 评论 -
数据结构实验之查找一:二叉排序树
Time Limit: 400MS Memory limit: 65536K 题目描述对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。输入输入包含若干组测试数据原创 2015-12-27 10:13:52 · 1040 阅读 · 0 评论 -
数据结构实验之查找七:线性之哈希表 151 268
题目描述根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。输入连续输入多组数据,每组输入数据第一行为两个正整数N(N = N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。输出输原创 2015-12-27 10:30:31 · 1143 阅读 · 0 评论 -
数据结构实验之查找五:平方之哈希表
题目描述给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,...,m-1输入输入一组测试数据,数据的第1行给出两个正整数N(N = 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整原创 2015-12-27 10:46:31 · 1490 阅读 · 0 评论 -
JAVA SDutOJ 题目收录
A1000A+B Problem86159 B1110C语言实验——Hello World!(printf练习)89147 C1112C语言实验——图形输出(字符常量练习)85130 D1167C语言实验——三个整数和、积与平均值88153原创 2016-03-04 09:27:03 · 1418 阅读 · 0 评论 -
SDUT OJ 3328 JAVA判断合法标识符
JAVA的合法标识符1..标示符由字母,下划线,美元符号,数字组成(字母不仅仅是英文字母,还包括汉语日文等)2. 第一个字符不能是数字3.不能是关键字4不能是 true false 和 null;思路:1. 本打算按照C语言的合法标识符做,按照上列的规则去判断一个串合不合适,但是发现这个字母很有问题啊,毕竟好多不知道怎么判断2 正则表达式去判断3 读带空格的字符串原创 2016-04-12 15:25:49 · 1627 阅读 · 0 评论 -
编译课程实验-识别浮点常量问题
来组测试数据:1 NO1 .NO.2 NO1.2e NO1.2e1 YESe1 NO1e2.2 NO+1.2e+44 YES++1.2 NO这样应该把所有的情况包括了吧#include #include #include using namespace std;int main(){ string s; while(cin原创 2016-09-20 19:13:58 · 1201 阅读 · 0 评论 -
SDUT 表达式语法分析——预测分析法
#include#include#include#include#includeusing namespace std;int num;stack A;stack B;int f(char x,char y){ if(x == 'E'&&(y == 'i' || y=='(')) { coutTG"<<endl;原创 2016-11-30 08:57:07 · 1689 阅读 · 0 评论 -
SDUT 小C语言词法分析
一行行的分析处理,把关键字保存,查找,输出,在本题中,关键字少,自定义标示符只有字母开头注意题意: 1 在运算符号的两侧都是空,我用cin读不会读到空,若读到:= + - * / 2 读到界符直接输出 3 读到字母开头的,先去找到第一个不是字母或数字的符号,没找到的话去判断是不是关键字,不是关键字就是自定原创 2016-09-19 20:42:06 · 1277 阅读 · 0 评论 -
SDUTOJ 树的同构
#include #include #include #include #include #include using namespace std;struct node{ char c; char l, r;} ls[1100], lt[1100];int ans= 0;struct Bnode{ char c;原创 2015-12-03 17:09:59 · 851 阅读 · 0 评论 -
SDUT-OJ-3334-出栈顺序的判定
思路: 设立两个指针i和j,i是出栈的元素的指针,j是入栈顺序的指针,建立一个栈,栈为空,把第j位入栈,再去判断与第i位是否相同,相同的话,i++,栈顶元素出栈,不相同继续入栈,当j >= n时就去输出"no",代表这个出栈的序列不是我入栈的顺序,当i >= n时代表我可以用那种方式出栈code#include#include#include#include#include原创 2015-10-11 16:32:24 · 713 阅读 · 0 评论 -
SDUT-二叉树先序 中序建树求树高
#include #include #include #include #include #include using namespace std;char ls[550];char la[550];int n;int k;struct Binode{ char data; struct Binode *l, *r;};void creat(Binode原创 2015-11-05 21:21:45 · 554 阅读 · 0 评论 -
SDUT-2498-AOE网上的关键路径
思路:用的SPFA ,加个判断字典的用的是反向建图的方式,从终点访问到起点用数组模拟邻接表 第一道实际的SPFA的题啊,加油啊#include#include#include#include#include#include#define Maxn 10010#define Maxm 10010#define Max 10100using namespace std原创 2015-08-14 14:57:45 · 819 阅读 · 0 评论 -
SDUT-3302-效率至上-RMQ||线段树
RMQ:可以去寻找一个区域中的最小的值那样也可以去寻找最大的值啊RMQ #include#include#include#include#includeusing namespace std;int mn[51000][50];int mx[51000][50];int ls[51000];int n, m;void RMQ_min()///小的{原创 2015-08-29 11:16:23 · 1084 阅读 · 0 评论 -
SDUT- 2506-完美网络
题意很明确让去构建一个完美网络,其实是要求每一个点,有两个点相连1.水过的#include#include#includeint dis[15000];int main(){ int n, t, m,i; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); fo原创 2015-08-14 15:37:50 · 544 阅读 · 0 评论 -
SDUT-3303-来发背包开开胃
题意:中文题啊思路:暴力反思: 比赛的时候没A出来,一开始是以为是背包,后来一看数据20亿,觉得肯定不是,另外有个不懂背包的同学A了,更加证明不是背包,应该是贪心,这道题和5.12.地震买米相同,我也是这样做的,但是有个地方写错了,应该是按照价格/质量排序,当时是按照价格排序,真是醉了,还有人用3重for写的CODE1#include#include#include原创 2015-08-29 11:12:18 · 553 阅读 · 0 评论 -
poj-3253-sdutoj-2127-哈夫曼树-优先队列
DescriptionFarmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needsN (1 ≤ N ≤ 20,000) planks of wood, each having some integer le原创 2015-08-11 18:39:57 · 606 阅读 · 0 评论 -
SDUT-3311-买糖-KMP应用
题意: 中文题木啊,思路: 找子串在总串中出现的次数; 次数为1的话就输出串的起始位置CODE#include#include#include#include#includeusing namespace std;int s[1000100];int t[1000100];int ls, lt;int next[1000100];void getnext()原创 2015-08-31 08:55:03 · 596 阅读 · 0 评论 -
CF-SDUT-3360-
题意: 这道是CF277div2的B题,题意是有种特殊的运算OR,矩阵A做运算得到B,对于每个位置的值,是由i列和j行做‘或’运算得到的结果,现在给你一个B的矩阵,看你能得到一个合适的A矩阵吗? 可以的话,输出YES,思路: 对于B中0的那些点,所对应的A矩阵I行和J列,都是0,先把A中那些必然为0的点存上0,对于1的那些点,要去把该行和该列去做运算,CODE#includ原创 2015-08-31 10:13:58 · 530 阅读 · 0 评论 -
POJ -3414-Pots
题意:给你,两个容量分别为a,b的杯子,让你看需要几步可以得到c的水,不能的话,impossible,可以的话,输出步数,和路径思路:BFS,暴搜#include#include#include#include#include#includeusing namespace std;int a, b, c;struct node{ int step;原创 2015-08-19 14:34:37 · 494 阅读 · 0 评论 -
SDUT-oj -2777-小P的故事——神奇的换零钱
#include#includeint dp[35000];int main(){ memset(dp,0,sizeof(dp)); dp[0] = 1; for(int i = 1; i <= 3; i++) { for(int j = i; j <= 32768; j++) dp[j] =dp[j-i] +dp[原创 2015-08-21 09:28:20 · 665 阅读 · 0 评论 -
14级组队赛第一场3319 A simple water problem
题目意思: Dragon很喜欢看比赛,他有时候会给选手打分,1分或0分,每看一场比赛他都会打分,最后他会留下一张分数的纸,让你去推断Dragon至少看了几场比赛 思路: 优先队列,每次取最大的那俩,取他们的较小的那个,然后用大的减去小的,再加入队列,最后当队列中的元素个数小于2时,把里面的元素加上,最后输出,里面没有元素的话,就不用去加了CODE#include#incl原创 2015-09-15 18:52:24 · 457 阅读 · 0 评论 -
14级结训赛3314-扩展欧几里德
思路:可以把式子变为 k*m = x*n +1;这样就可以用扩展欧几里的算法了gcd(m,n) = k*m + x*n;求k, 如果k的值小于0,需要加上nCODE#include#include#include#define NN 500004#define NL 1000using namespace std;void gcd(int a,int b, in原创 2015-09-15 19:49:41 · 527 阅读 · 0 评论 -
14级组队 1-SDUT3322
思路:1。 DFS加记忆化2. #include#include#include#include#includeusing namespace std;struct node{ int x; struct node *l, *r;};char mp[1010][1010];node *head;void juge()///小的是右边E{ no原创 2015-09-17 21:35:05 · 527 阅读 · 0 评论 -
2016年秋季《编译原理》课程实验(2014级)表达式语法分析——递归子程序法
#include#include#include#include#includeusing namespace std;int num;stack A;stack B;int f(char x,char y){ if(x == 'E') { coutTG"<<endl; A.pop(); A.push('G');原创 2016-11-15 11:27:53 · 3081 阅读 · 1 评论
分享