关闭

编译原理实验-带变量的中缀转后缀以及错误处理

先来实验指导书: 一、实验任务 设计、编制并调试一个中缀表达转换为后缀表达的实验程序,加深对词法分析、语法分析、语义分析及代码生成的理解。 二、 实验内容 1、词法 输入:扩展ASCII码字符集字符。除大小写26英文字母(letter)和数字0-9(digit)以及+  -  *  /  ^    =  ;  ,  (  )以外,所有其他字符一律按等同于空格处理,一般用来分隔单词...
阅读(391) 评论(0)

不堪的自己

前些日子打了两场铁,我的ACM阶段要暂时告一段落了。 对不起很多人。现在想想,当时挂彩的原因不是能力不足,也不是知识储备不足,是心里失衡了。 好多新学算法的难度超过了我的预想,学过的算法来不及复习,比赛又来的猝不及防,不断地退求其次直到忍无可忍,结果就是比赛时候不想做题。 本末倒置了啊,原先的初衷忘得一干二净,比赛搞这么功利,从废话多起来那一刻起,失败就已经注定了。 好像也就是那段...
阅读(189) 评论(0)

二叉树入门个人总结

二叉树是pat高频考点,最近做了几道入了个门,简单总结下。(水平有限,大神绕道) 一、二叉树 最典型的就是已知前序中序建树或已知后序中序建树,接着再后序或前序或层序遍历。难点主要在于建树。代表题目有hdu1710和 gplt L2-006。 不管是前序还是后序,都是通过遍历所有根,再用中序扩充根节点的方式建树。 已知前序中序建树: #include #include...
阅读(180) 评论(0)

poj2249 Binomial Showdown(二项式系数)

http://poj.org/problem?id=2249 题意:求组合数C(n,k),最后的结果超大可能是2^31。 思路:刚开始本来想把前些日子的dp法复习下,结果RE。2^31至少要开10000*10000的二维数组,行不通。。 后来就想,其实这题有个很简单的方法,很久以前也碰到过类似的问题。 C(n,k) = n!/(k!*(n-k)!)。我们知道n!有n项,k!有k...
阅读(185) 评论(0)

poj3069 Saruman's Army(经典贪心)

http://poj.org/problem?id=3069 题意:给出范围R,被标记的点可以覆盖范围内的点,求用多少个点就可以完全覆盖所有点。 思路:这道题真的泪奔了。没看书上的思路,先是看见有重复元素去重,贪心策略还给选错了,麻烦了好多。。还特判了起点的情况,结果以为过了样例就沾沾自喜,无限WA,真的是彻底错了。 首先是贪心策略的选择,范围是两边的啊。。说不清,刚开始也不知道...
阅读(192) 评论(0)

poj3617 Best Cow Line(贪心+字符串)

http://poj.org/problem?id=3617 题意:给你一个字符串,通过不断地对其进行头尾比较输出较小的构建字典序最小字符串,输出。 思路:很不错的水题,首先是贪心思想,就如挑战书上所说,将当前字符串与其反转的字符串比较,使末尾字符相等的字符串依然消除较小的。较大的字符串最后一个元素进队列,并将其消除,最后输出队列。输入输出还是用cin和cout,处理字符串还是c+...
阅读(164) 评论(0)

gplt L2-006. 树的遍历(后序中序求层序)

https://www.patest.cn/contests/gplt/L2-006 题意:给出中序后序求层序。 思路:本来hdu1710已经模仿了别人代码了,考虑到前序后序也就顺序不同,没看资料自己改,就是通过后序找到根,然后用中序扩充嘛。 结果怎么也调不出来,下标应该已经对了啊,没道理啊。。结果前前后后调试一个多小时。。都快绝望了。。 。。。 居然是postorder[n...
阅读(146) 评论(0)

gplt L3-002. 堆栈(单点更新求区间第k大)

https://www.patest.cn/contests/gplt/L3-002 题意:普通的入栈出栈操作和PeekMedian。PeekMedian的作用是求当前栈中第几小的数。 思路:没做过主席树,好像第一次用线段树求区间第k大,query那里卡了好半天,看了别人的。。 线段树中每个节点的值代表在这个区间内有多少个元素。 tree的val值刚开始被赋予0,代表没有这个数...
阅读(246) 评论(0)

gplt L2-010. 排座位(普通并查集)

https://www.patest.cn/contests/gplt/L2-010 题意:中文题。 思路:刚开始一看两者之间关系有多种,还以为是带权并查集,后来想想天梯赛不都是裸题么。。只需要将是朋友关系的合并成一个集合,非朋友关系的用矩阵表达,两判断条件相与即可。 ps:晕着头敲的,起太早了。。 #include #include #include #...
阅读(147) 评论(0)

hdu1106 排序(堆排序)

http://acm.hdu.edu.cn/showproblem.php?pid=1106 题意:中文题。 思路:很不错的水题。本来想水下堆,结果被格式卡了两次WA= = 需注意结尾不是5的,中间有连续5的。中间的0不要跳过,直接乘上就好。 #include #include #include #include #include using namespa...
阅读(141) 评论(0)

hdu1040 As Easy As A+B(堆排序)

http://acm.hdu.edu.cn/showproblem.php?pid=1040 题意:普通的排序题,用来练习排序。 思路:从小到大排,用大顶堆。 堆排序,有两个函数: HeapSort(): (1)、对每个有孩子的节点从大到小依次调整,从而构建成大顶堆; (2)、每次将堆顶和当前堆最后元素交换,然后对除了最后一个元素的堆调整。 HeapAdjust(): ...
阅读(181) 评论(0)

hdu1280 前m大的数(哈希打表)

http://acm.hdu.edu.cn/showproblem.php?pid=1280 题意:中文题 思路:3000*3000个数数量很大,所以只需对其大小哈希打表即可。水题秒之。 #include #include #include #include #include using namespace std; typedef long long ll...
阅读(194) 评论(0)

gplt L3-010. 是否完全二叉搜索树(判断完全BST)

https://www.patest.cn/contests/gplt/L3-010 题意:判断一个树是否是完全二叉搜索树,左大右小。 思路:首先知道什么是完全二叉树。 完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。 这样的话只在层序遍历输出时加以判断即可,剩下的都是普通的建树和遍历。 瞅了一下别人貌似都是...
阅读(338) 评论(0)

gplt L2-004. 这是二叉搜索树吗?(BST建立的判断)

https://www.patest.cn/contests/gplt/L2-004 题意:给你一组前序遍历的结果,看是否能建成二叉搜索树或其镜像,若是则输出后序遍历输出。 思路:如果能构成,那就是hdu3999了,先建树然后遍历。关键在于如何判断不能构成。输入的序列已经知道根,所以从根dfs,遇到比根大的就是右子树,若右子树中出现比根小的,那么不能构成二叉搜索树。 这题一度写到...
阅读(149) 评论(0)

gplt L2-011. 玩转二叉树(二叉树遍历)

https://www.patest.cn/contests/gplt/L2-011 题意:给你中序前序求层序镜像。 思路:根据中序前序建树,和hdu1710一样。接着层序遍历,就是bfs。不用变成镜像然后遍历,只需让右节点先进队列即可。 #include #include #include #include #include using namespace ...
阅读(292) 评论(0)
360条 共24页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:80093次
    • 积分:4218
    • 等级:
    • 排名:第8016名
    • 原创:356篇
    • 转载:4篇
    • 译文:0篇
    • 评论:11条
    最新评论