随笔分类 -  ACM练习题

1 2 3 4 5 ··· 8 下一页
摘要:问题: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜 阅读全文
posted @ 2019-08-31 15:53 sykline 阅读(631) 评论(0) 推荐(0) 编辑
摘要:题目: n 个小伙伴(编号从 0 到 n-1 )围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从 0 到 n-1 。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推。游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴 阅读全文
posted @ 2019-08-27 19:25 sykline 阅读(421) 评论(0) 推荐(0) 编辑
摘要:方法一: 比较暴力的方法(通过将二进制右移获得): int _Count(int x) { int cnt = 0; while(x) { cnt += x&1; x >>= 1; } return cnt; } 方法二: 通过这个数与比他小1的数相与得到:(很神奇的一个方法,手动写几个例子就可以看 阅读全文
posted @ 2019-06-01 13:09 sykline 阅读(906) 评论(0) 推荐(0) 编辑
摘要:题目: 有很多货物,有n个操作(0<= n <= 1e6) 加数操作:将输入的编号为x的货物标记 查询操作:查询输入的编号为x的货物是否被标记 思路: 这个题目还是比较简单的,但是想尝试一下哈希算法,手写哈希最重要的还是要处理好冲突问题。 代码: #include <bits/stdc++.h> # 阅读全文
posted @ 2019-06-01 12:59 sykline 阅读(655) 评论(0) 推荐(0) 编辑
摘要:题目: 给出一张游戏地图和每个玩家的位置,每次能移动的步数。p个玩家轮流移动占领地图中的格子(当格子已经被占领时就不能在占领了)在每个玩家都不能移动时游戏结束。 问在游戏结束后,每个玩家占领的格子的数目。 思路: 当时做的时候,并没有思路,借鉴了大佬的……Orz 对每一个玩家分配一个队列,这个队列中 阅读全文
posted @ 2019-04-19 19:47 sykline 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题目: 思路: 就是一个并查集的裸题,不过在数据查找方面可能不好处理,暴力完全可以解决这个问题啊!! #include <bits/stdc++.h> #include <cstdio> #include <cstring> #include <iostream> #include <vector> 阅读全文
posted @ 2019-03-28 10:53 sykline 阅读(286) 评论(0) 推荐(0) 编辑
摘要:题目: 以二叉链表作为二叉树的存储结构,交换二叉树中每个结点的左孩子和右孩子。 思路: 首先根据给出的字符串先把二叉树建起来,这里稍稍卡了一下(所以决定写个博客存一下); 建起来后就好说了,递归交换左右子树; 然后递归中序遍历就ok了! 代码: #include <bits/stdc++.h> #i 阅读全文
posted @ 2019-03-22 17:05 sykline 阅读(8612) 评论(0) 推荐(0) 编辑
摘要:题目: 将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。 思路: 从当前的下标开始向前(堆顶)进行比较,如果上一层的值大于当前的值,就将上一层的值移动到当前的位置,知直到不能在移动为止。 代码: #include <bits/stdc++.h> 阅读全文
posted @ 2019-03-22 16:18 sykline 阅读(608) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一些字符串,有这两个字符串,如果第一个字符串的最后一个字母和第二个字符串的第一个字母是一样的,则这两个字符串是可以连接在一起的。 问给出的这些字符串能否串成一个环或者一整个链。 思路: 将头部看做是入度,将尾部看做是出度,如果是一个链的话那么 链的头部那个字母:indegree = ou 阅读全文
posted @ 2019-03-20 20:53 sykline 阅读(192) 评论(0) 推荐(0) 编辑
摘要:题目: 给出一个树,这棵树上每个结点每一秒都会结出一颗果实,果实每经过一秒就会落向下一个结点,如果一个结点在同一时刻上的果实两两抵消,问最后在根节点处一共有多少个果实。 思路: dfs直接搜索统计这棵树的每一层上有多少个果实就可以了。如果是奇数个ans++,偶数个不作处理。 代码: #include 阅读全文
posted @ 2019-03-15 20:06 sykline 阅读(256) 评论(0) 推荐(0) 编辑
摘要:题目: 给出一个无向图,将图中度数小于等于1的点删掉,并删掉与他相连的点,直到不能在删为止,然后判断图中的各个连通分量,如果这个连通分量里边的点的个数是奇数,就把这些点的权值求和。 思路: 先用拓扑排序删点并更新各个点的度数,然后用并查集判断各个连通分量里边的点个数的奇偶性就ok了。 代码: #in 阅读全文
posted @ 2019-03-15 17:29 sykline 阅读(235) 评论(0) 推荐(0) 编辑
摘要:题目: 有N-1个城市给首都(第N个城市)支援物资,有M条路,走每条路要耗费一定百分比(相对于这条路的起点的物资)的物资。问给定N-1个城市将要提供的物资,和每条路的消耗百分比。求能送到首都的最多的物资数量。 思路: 可以将这条路的对物资的消耗百分比转换为走过后留下的百分比,然后对这些路跑最长路。 阅读全文
posted @ 2019-03-14 10:58 sykline 阅读(248) 评论(0) 推荐(0) 编辑
摘要:题目: 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色。 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的。你需要判断能否用这个印章印出纸上的图案。印的过程中需要满足以下要求: (1)印章不可以旋转。 (2)不能把墨水印到纸外面。 (3)纸上的同一个格子不可以印多次。 思路: 阅读全文
posted @ 2019-03-12 17:18 sykline 阅读(199) 评论(0) 推荐(0) 编辑
摘要:题目: 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好。 现在已经勘探确定了n个位置可以用来建设,在它们之间也勘探确定了m条可以设计的路线以及他们的长度。请问是否能够建成环形的风 阅读全文
posted @ 2019-03-12 11:28 sykline 阅读(172) 评论(0) 推荐(0) 编辑
摘要:题目: Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅 阅读全文
posted @ 2019-03-08 23:40 sykline 阅读(298) 评论(0) 推荐(0) 编辑
摘要:题目: 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。 游戏规则很简单,用箭杀死免子即可。 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。 假设每种箭只能使用一次,每只免子也只 阅读全文
posted @ 2019-03-08 18:17 sykline 阅读(253) 评论(0) 推荐(0) 编辑
摘要:题目: 给出一个有括号的字符串,问这个字符串中能匹配的最长的子串的长度。 思路: 区间DP,首先枚举区间长度,然后在每一个长度中通过枚举这个区间的分割点来更新这个区间的最优解。还是做的少。 代码: //#include <bits/stdc++.h> #include <cstdio> #inclu 阅读全文
posted @ 2019-03-08 17:30 sykline 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题目: 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验。魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老。年迈的国王正是心急如焚,告招天下勇士来拯救公主。不过公主早已习以为常,她深信智勇的骑士LJ肯定能将她救出。 现据密探所报,公 阅读全文
posted @ 2019-03-08 16:42 sykline 阅读(305) 评论(0) 推荐(0) 编辑
摘要:题目: Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequences that the sum of the sub-sequence is M. 思路: 刚开始做写了一个尺取法,脑抽的 阅读全文
posted @ 2019-03-03 17:40 sykline 阅读(286) 评论(0) 推荐(0) 编辑
摘要:题目: 链接 思路: 用BFS分别以‘Y’和‘M’的位置为起点进行两次搜索,并把这两次的搜索结果在一个二维数组中保存下来,在对地图遍历遇到‘@’更行最小值。 PS: 如果用‘Y’和‘M’点分别去搜每个‘@’,这样妥妥的会超时。当时做这个题脑抽的一批……(烦!!!) 另外如果‘Y’和‘M’到不了‘@’ 阅读全文
posted @ 2019-03-03 11:33 sykline 阅读(152) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 8 下一页
点击右上角即可分享
微信分享提示