Apollo的博客

业余玩玩ACM,纯菜鸡一只

1133 Splitting A Linked List

题目大意: 给你一个链表,要求重新排定元素顺序,规则是先把负数放在前面,然后大于等于0小于k的数放在k前,大于k的放在k后。 解题思路: 根据题意遍历三次链表分别处理这三种数据构建新链表即可。 代码如下: #include<iostream> #inc...

2019-02-27 10:58:51

阅读数 16

评论数 0

1132 Cut Integer

题目大意: 把一分偶数长度的数M切成两段a,b,如果M%(a*b)==0就输出Yes,否则输出No。 解题思路: 模拟即可。 代码如下: #include<iostream> #include<cstdio>...

2019-02-27 10:53:23

阅读数 18

评论数 0

1110 Complete Binary Tree

题目大意: 判断是不是完全二叉树,是则输出最后一个节点的下标,否则输出根节点下标。 解题思路: 一开始从输入上投机(只有右子没有左子肯定不是,只有左子没有右子但是数量超过2也不是),只拿到18分(忽略了右子树饱满没有左子树的情况)。正确的做法是维护一个下标参数(指完全二叉树结点与位置对应关系),...

2019-02-27 10:50:10

阅读数 19

评论数 0

1122 Hamiltonian Cycle

题目大意: 给一个无向图,然后查询k个环,问是不是哈密尔顿环(一个环遍历图上所有点有始有终且不重复访问)。 解题思路: 用set判断是否有重复访问的节点(起点终点例外),记录起点和终点比较判断能否走出一个环,用vector记录上一个节点判断当前节点是否可以访问到(存不存在路径)。 代码如下: #...

2019-02-26 11:13:33

阅读数 49

评论数 0

1121 Damn Single

题目大意: 给出n对情侣编号,然后给m个参加聚会的人的编号,输出单身狗的编号(有CP但是CP不在聚会上也算)。 解题思路: STL模拟,需要注意一下编号为0的情况,因为用map标记初始化的时候都是0。 代码如下: #include<iostream> ...

2019-02-26 11:05:51

阅读数 61

评论数 0

1120 Friend Numbers

题目大意: 求出每一个数的各个位数相加和,去重后从小到大输出。 解题思路: 模拟+set 代码如下: #include<iostream> #include<cstdio> #include&...

2019-02-26 11:00:08

阅读数 23

评论数 0

1148 Werewolf - Simple Version

题目大意: 一个狼人杀游戏,已知肯定有两头狼,其中有一头说谎,然后平民里也有一个说谎,要求找出这两头狼的编号,如果存在多个解输出字典序最小的。 解题思路: 由于数据量并不大直接暴力枚举两头狼的编号即可,维护一个身份数组,在枚举狼时将对应的下标下的数组值变为-1,其他下标是1。然后遍历每个人说的话...

2019-02-25 22:45:52

阅读数 50

评论数 0

1115 Counting Nodes in a BST

题目大意: 数一个BST(二叉查找树)最后两层节点的数量。 解题思路: 维护一个深度参数,建树时记录下最大深度然后BFS遍历统计即可。 代码如下: #include<iostream> #include<algorithm&...

2019-02-25 22:34:55

阅读数 103

评论数 0

1113 Integer Set Partition

题目大意: 把n个数划分成两个集合,要求两个集合内部数总和的差值最大,集合大小的差值最小。 解题思路: 水题,排序分两边。 代码如下: #include<iostream> #include<cstdio> ...

2019-02-25 22:30:01

阅读数 18

评论数 0

1112 Stucked Keyboard

题目大意: 键盘上有的键有问题,按一下在屏幕上连续显示k个,现在给你一个文本串,按照查找顺序输出有问题的按键,并且还原原始文本串。 解题思路: 遍历,将没有连续出现k次或是k的整数倍次的字符标记,没被标记的就是有问题的。然后再扫一遍将有问题的键存入数组,输出的时候到达有问题的键就跳过k个继续输出...

2019-02-25 22:26:05

阅读数 12

评论数 0

1117 Eddington Number

这个题真是搞了,一开始搞错了题意以为就是要求E个超过E英里的骑行天,然后只拿到18分。后来发现题目中有个“maximum”顿时懵逼了,从大到小枚举说不通啊,举例比方说如果有7天骑行超过7英里那么怎么会有6天骑行超过6英里这种情况,换句话说从小到大和从大到小理论上没区别啊。。后来百度了才知道题意是...

2019-02-24 22:09:01

阅读数 22

评论数 0

1116 Come on! Let's C

题目大意: 根据排名(从一开始)的情况决定获奖的类别,第一拿神秘大奖,素数排名拿小黄人,其他拿巧克力。然后查询,输出查询结果。 解题思路: 水题,模拟即可。 代码如下: #include<iostream> #include<ma...

2019-02-24 21:52:28

阅读数 63

评论数 0

1118 Birds in Forest

题目大意: 有n张照片,每张上面的鸟来自同一棵树,问有多少棵树和鸟,并且查询一对鸟是否来自同一棵树。 解题思路: 并查集板子题,合并每一对输入的鸟,用数组记录鸟的编号并统计鸟的数量,最后用father数组统计树的数量。 代码如下: #include<iostream&...

2019-02-24 21:32:07

阅读数 29

评论数 0

1155 Heap Paths

题目大意: 判断一个完全二叉树是不是堆,是最大堆还是最小堆,并且从右到左输出它的每一条路径。 解题思路: DFS遍历+数组记录路径即可。 代码如下: #include<iostream> #include<cstdio&a...

2019-02-24 11:38:11

阅读数 54

评论数 0

1127 ZigZagging on a Tree

题目大意: 给定二叉树的中序和后序遍历,输出“层次”遍历,这个层次遍历从根节点的子节点开始,先从左到右输出,然后从右到左输出。。。循环往复。 解题思路: 这个题我写的复杂了一点,关于输出哪里我用了两个双端队列模拟了输出的扩展情况,即从左到右和从右到左,所以代码较难理解。维护一个度参数根据奇偶度判...

2019-02-24 11:28:36

阅读数 46

评论数 0

1125 Chain the Ropes

题目大意: 两个绳子结合成一个绳子总长度会减半,现在给你n条绳子把他们连接成一条,输出最长的方案的长度。 解题思路: 排序,从小到大一个一个连就好了,因为从小到大连损失的长度最少。、 代码如下: #include<iostream&amp...

2019-02-24 10:58:13

阅读数 27

评论数 0

1124 Raffle for Weibo Followers

题目大意: m条微博转发记录,第一个获奖者编号为s,每间隔n个就是下一个获奖者。但是没人只能拿一次奖,如果当前位置的人已经拿过了就向下顺延。 解题思路: 小模拟。 代码如下: #include<iostream> #include&lt...

2019-02-24 10:53:52

阅读数 44

评论数 0

数据结构中的各种树

转载一篇不错的博文,如题:点击这里

2019-02-22 19:39:46

阅读数 44

评论数 0

1138 Postorder Traversal

题目大意: 给出二叉树前序遍历和中序遍历,要求输出后序遍历第一个数。 解题思路: 用前序和中序构建二叉树时递归返回的第一个节点就是后序遍历的第一个数。 代码如下: #include<iostream> using namespace std; int...

2019-02-22 11:29:17

阅读数 59

评论数 0

1137 Final Grading

题目大意: 每个学生有四个成绩,线上成绩,期中,期末,总分。现在分别给出这四门成绩下对应的学生分数情况。要求按照总分从大到小(分数相同则按照ID字典序升序)输出总分及格(>=60分)的学生成绩情况。线上成绩必须不小于200分。 解题思路: 用MAP给每名学生分配唯一的编号方...

2019-02-22 10:11:24

阅读数 39

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭