![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
丧乱
It's me
展开
-
动态规划入门杭电1231
题目链接:点我题目:给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和 为20。 在今年的数据结构考卷中,要求编写程序得到最大和,现在增加一个要求,即还需要输出该 子原创 2016-03-15 18:49:28 · 325 阅读 · 0 评论 -
Krito的讨伐(bfs加上优先队列)
DescriptionKrito终于干掉了99层的boss,来到了第100层。第100层可以表示成一颗树,这棵树有n个节点(编号从0到n-1),树上每一个节点可能有很多只怪物。 Krito现在在0号节点,现在它想要区清除这一层所有的怪物。他现在有atk大小的攻击力。只有当你的攻击力大于这只怪物的防御力时,你才可以打败他,同时每打败只怪物,你会获得一定的攻击力加成。一个节点可能存在着不止一只怪兽原创 2016-04-14 22:05:30 · 1031 阅读 · 0 评论 -
字典序最小问题--贪心入门
// greedy 贪心算法// 贪心算法是求当前最优解// 题目:输入一个整数,然后在输入N长度的字符串,每次从字符串开头或者末尾取一个字母,// 组成新的字符串,组成字符串的字典序最小// 例:输入:6// ACDBCB// 输出: ABCBCD#include using namespace std;int main(){原创 2016-03-14 23:18:03 · 1174 阅读 · 0 评论 -
ACM基础 BFS入门
注释写的很详细哦// 深度搜索利用队列走迷宫,求最短步数// 题目大意: 有一个N*M的迷宫,地图上S代表起点,G代表终点,#代表墙无法通过,.代表路// 求从起点到终点的最短距离,如果无法找到出口则输出not find。// 例如:// input:// 3 2// S#G// ...// output// 4// dfs隐式的利用了栈的特点,多次递归与栈一样后入原创 2016-03-14 18:40:46 · 2240 阅读 · 0 评论 -
杭电1045 fire net dfs入门
题意是有n*n大小的地图,地图上点(.)代表空地,X代表防火墙,在地图上放置碉堡,碉堡可以横向或者竖向扫射,所以同一行或列上只能有一个碉堡,但是防火墙可以阻拦攻击,求最大能放置多少碉堡// HDOJ1042 fire net// 思维是主要靠深搜#include <iostream>using namespace std;int visit[5][5]; // visit数组是用来存放状原创 2016-03-13 20:16:37 · 413 阅读 · 0 评论 -
HDOJ1241
题目链接:点我题目的大意是问有多少个连通块如果@的上下左右和对角线相邻的也是@,这两块就是相邻的,也就是说它们是连通块#include #include using namespace std;const int MAX_N = 105;char pic[MAX_N][MAX_N]; // 模拟地图int visit[MAX_N][MAX_N];原创 2016-03-13 21:29:46 · 377 阅读 · 0 评论 -
素数环问题 HDU1016 DFS深搜
#include #include using namespace std;int num[22];bool vis[22];int n;// 素数判断bool prime(int n){ for(int i = 2; i *i <= n; i++) if(n % i == 0) return false; return true;}void原创 2016-03-22 23:06:47 · 370 阅读 · 0 评论 -
删数问题--贪心算法+string类的一些应用
先上题目:Description你有一个长度为n的数字串, 现在要求你删除其中k个数字, 使得剩下的数字在不改变原有顺序的情况下,组成的数字最大.Input每组数据包含一个数字串(1 Output对于每组数据, 输出你的答案.Sample Input1452 233 0Sample Output5233思路是这原创 2016-03-20 22:46:54 · 459 阅读 · 0 评论 -
优先队列和堆 实战:HDU1242
什么叫优先队列呢,能完成以下任务的就叫做优先队列:·插入一个数值·取出最小的数值(获取数值,并且删除)实现优先队列,应该使用二叉树完成,是一种叫二叉堆的数据结构(binary heap)二叉堆分为两种,最小堆和最大堆。最小堆是父节点的键值总是小于等于子节点的键值。最大堆是父节点的键值总是大于等于子节点的键值。可以将二叉堆看成数组的形式。代码:// 模拟最小堆//原创 2016-03-20 14:20:32 · 593 阅读 · 0 评论 -
01背包问题 -- 经典动态规划题
01背包问题问题描述:有n个重量和价值分别为Wi,Vi的物品,从这些物品中挑选出总重量不超过W的物品,求怎么挑选才能使价值最大;首先可以使用搜索来看看,吧每件物品放入背包试试,找出最优解。// 01背包问题// 问题描述:// 有一个背包可以存放W重量的物品,有n样物品,价值分别为v1,v2,v3,……vn,// 重量分别为w1,w2,w3,……wn,求怎么放才能让价值最原创 2016-03-16 14:51:46 · 902 阅读 · 0 评论 -
最长公共子序列LCS 动态规划 HDU1159
题目链接:点我首先了解一下什么叫子序列:一个字符串的子序列,是指从该字符串中去掉任意多个字符后剩下的字符在不改变顺序的情况下组成的新字符串子序列和子串还是不一样的,子串是要连续不断的,而子序列不一定是要连续的。 图示是这样的:附上代码吧#include #include #include #include using namespace st原创 2016-03-15 21:22:39 · 399 阅读 · 0 评论 -
田忌赛马--贪心算法 HDU1052
题目链接:点我田忌赛马的故事大家都应该听过吧。田忌和齐王赛马,有优良差三种马,每一种马齐王都比田忌要好,所以齐王总是赢,田忌输一次就要给齐王200银币,田忌输的很惨于是去找孙膑帮忙。孙膑就让他用最差的马去和齐王最好的马比,然后用优秀的马去赢齐王差的马。题目不过是把三头马变成了1000头马,齐王还是按马的优劣来安排,但是田忌可以自己安排马的出场顺序,求田忌最慢安排才能赢得最多。思原创 2016-03-16 13:38:02 · 1938 阅读 · 0 评论 -
Hdu 1728 逃离迷宫
Problem Description 给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,gloria不能走到迷宫外面去。令人头痛的是,gloria是个没什么方向感的人,因此,她在行走过程原创 2016-11-12 20:14:54 · 410 阅读 · 0 评论