为你推荐

POJ-3984 迷宫问题(BFS找最短路径并保存)

定义一个二维数组: intmaze[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表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。一个5×5的二维数...

转圈游戏(简单的快速幂)

题目:n个小伙伴(编号从0到n-1)围坐一圈玩游戏。按照顺时针方向给n个位置编号,从0到n-1。最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置,……,依此类推。游戏规则如下:每一轮第0号位置上的小伙伴顺时针走到第m号位置,第1号位置小伙伴走到第m+1号位置,…&hel...
代码星球·2020-07-18

手写哈希(实现简单的加数、查询)

题目:有很多货物,有n个操作(0<=n<=1e6)加数操作:将输入的编号为x的货物标记查询操作:查询输入的编号为x的货物是否被标记思路:这个题目还是比较简单的,但是想尝试一下哈希算法,手写哈希最重要的还是要处理好冲突问题。代码:#include<bits/stdc++.h>#defineinf0...

统计一个整数的二进制中1的个数(暴力)

方法一:比较暴力的方法(通过将二进制右移获得):int_Count(intx){intcnt=0;while(x){cnt+=x&1;x>>=1;}returncnt;}方法二:通过这个数与比他小1的数相与得到:(很神奇的一个方法,手动写几个例子就可以看出来了,不过要自己想的话,还是比较费力的)in...

L2-2 社交集群 (25 分)(一个写挫的并查集)

题目:思路:就是一个并查集的裸题,不过在数据查找方面可能不好处理,暴力完全可以解决这个问题啊!!#include<bits/stdc++.h>#include<cstdio>#include<cstring>#include<iostream>#include<ve...

7-4 交换二叉树中每个结点的左孩子和右孩子 (20 分)

题目:以二叉链表作为二叉树的存储结构,交换二叉树中每个结点的左孩子和右孩子。思路:首先根据给出的字符串先把二叉树建起来,这里稍稍卡了一下(所以决定写个博客存一下);建起来后就好说了,递归交换左右子树;然后递归中序遍历就ok了!代码:#include<bits/stdc++.h>#include<cst...

7-3 堆中的路径 (25 分)

题目:  将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。思路:从当前的下标开始向前(堆顶)进行比较,如果上一层的值大于当前的值,就将上一层的值移动到当前的位置,知直到不能在移动为止。代码:#include<bits/stdc++.h>#include&...
代码星球·2020-07-18

HDU1116(欧拉路径+并查集)

题意:给出一些字符串,有这两个字符串,如果第一个字符串的最后一个字母和第二个字符串的第一个字母是一样的,则这两个字符串是可以连接在一起的。问给出的这些字符串能否串成一个环或者一整个链。思路:将头部看做是入度,将尾部看做是出度,如果是一个链的话那么链的头部那个字母:indegree=outdegree+1;链的尾部那个字...
代码星球·2020-07-18

ZOJ

题目:有N-1个城市给首都(第N个城市)支援物资,有M条路,走每条路要耗费一定百分比(相对于这条路的起点的物资)的物资。问给定N-1个城市将要提供的物资,和每条路的消耗百分比。求能送到首都的最多的物资数量。思路:可以将这条路的对物资的消耗百分比转换为走过后留下的百分比,然后对这些路跑最长路。#include<bi...
代码星球·2020-07-18

HYSBZ

题目:Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对他们这次旅行也推出优惠,他们可以...
代码星球·2020-07-18

CodeForces

题目:党派竞争投票有n个人,m个党派,这n个人每个人有一个想要投的党派的编号Pi,如果想要这个人改变他的想法,那么就需要花费Ci元钱。现在你是编号为1的党派,如果你想要赢(你的票数严格大于其他党派的票数),需要花费的最少的钱是多少。思路:将每个人按花费从小到大排序,从0到n枚举获胜需要的票数,遍历所有要投票的人,如果他...
代码星球·2020-07-18

C++语言十进制转十六进制的代码

#include#defineinf0x3f3f3f3f#defineMAX1000000000#definemod1000000007#defineFRE()freopen("in.txt","r",stdin)#defineFRO()freopen("out.txt...

UVA12118 Inspector's Dilemma(欧拉路径)

题目:某个国家有V(V≤1000)个城市,每两个城市之间都有一条双向道路直接相连,长度为T(每条边的长度都是T)。你的任务是找一条最短的道路(起点和终点任意),使得该道路经过E条指定的边。输出这条道路的长度。思路:看完题目给出的两组数据,知道是一个欧拉路径的题目,然后考虑用并查集来统计连通分量的个数,然后答案就是...

UVA-1599 Ideal Path(双向BFS)

题目:给一个n个点m条边(2≤m≤100000,1≤m≤200000)的无向图,每条边上都涂有一种颜色(用1到1000000000表示)。求从结点1到结点n的一条路径,使得经过的边数尽量少,在此前提下,经过边的颜色序列的字典序最小。一对结点间可能有多条边,一条边可能连接两个相同结点。输入保证结点...

UVA-127 "Accordian" Patience(模拟)

题目:把52张牌从左到右排好,每张牌自成一个牌堆。当某张牌与它左边那张牌或者左边第三张牌匹配时(花色或者点数相同)时,就把这张牌移到那张牌上面。移动之后还要查看是否可以进行其他移动。只有位于牌堆顶部的牌才能移动或者参与匹配。当牌堆之间出现空隙时要立刻把右边的所有牌堆左移一格来填补空隙。如果有多张牌可以移动,先移动最左边...