
C++
阿伟少爷
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ-1163-The Triangle
题目: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts原创 2017-04-07 14:44:47 · 266 阅读 · 0 评论 -
ZOJ 1093-Monkey and Banana
点击此链接打开题目 题目大意:给出n种方块,每种方块有无限个,且每个方块可以以任意边作为长、宽、高。要求将这些方块摆成一摞,且要满足上面的方块的长小于下面方块的长、上面的方块的宽小于下面方块的宽,求这些方块能摆放的最高高度。 题目解析: 1:因为每个方块可以以任意边作为长、宽、高(x、y、z),所以每种方块有6种不同的摆放形式。为了简化问题,我们将其看作6种不同类型原创 2017-05-07 16:10:45 · 323 阅读 · 0 评论 -
HDU 1574-RP问题
点击打开题目链接 解析:因为对于每个事件都有两个选择(要么发生、要么不发生),所以可以用动态规划来求解。因为对于每件事发生时的收益与当前的RP值有关,所以应该用RP值作为状态。用dp[i]表示RP为i时的最大收益,状态转移方程为:dp[i+a]=max(dp[i+a],dp[i]+c)(a为变化值、c为收益值)。不过RP可以为负,且分析题意可知RP∈[-10000,10000],所以原创 2017-05-07 14:08:51 · 308 阅读 · 0 评论 -
HDU 1007-Quoit Design
点击打开题目链接 题目大意:给出二维平面上的n个点,求出其中最近的两个点的距离的一半。 解析:这道题首先想的是暴力枚举,然而n的范围是【0,100000】,使用暴力的话一定会超时的。 然后想到分治法:将n个点按照x坐标排序,并将其分为左右两部分,分别求出其最小距离并合并。要注意,因为将所有点分成两部分了,所以没有考虑其中一点在左一点在右的情况。假设左右两部分原创 2017-05-06 15:35:32 · 463 阅读 · 0 评论 -
HDU 1172-猜数字
点击打开题目——HDU 1172 这是一道比较简单的题。如果直接从正面解题,因为约束条件非常繁琐,所以实现起来比较麻烦。由于4位数只有10000-1000个,并且测试的数据不超过100组,所以可以采取枚举的方法,对每个四位数进行N次判断,如果N个条件全部符合,则说明当前四位数可能是正确答案。 (!!!注意题目问的是能否确定这个四位数) #inclu原创 2017-05-04 19:40:55 · 458 阅读 · 0 评论 -
HDU-2191 完全背包
点击链接打开此题目 题目大意:有n个经费和m种大米,每种大米都只有有限袋,且每种大米有特定的重量和价格。求最多用n个钱可以购买的大米重量最大为多少? 题目解析:开始的时候以为是要用贪心算法来求解的,但是一直WA,百思不得其解,无奈看了网上的讲解,才知道了问题所在。 为什么不能用贪心算法呢?在求最优解的问题中,最优解问题大部分都可以拆分成一个个的子问题,我们常原创 2017-05-12 20:09:14 · 433 阅读 · 0 评论 -
POJ 1200-Crazy Search
点击此链接打开题目 题目大意:给出一个字符串,里面共包含NC种字符,求字符串中长度为N的字符串的个数(不包含重复子串)。 解析:因为题中字符串共有NC中字符,且字符是由ASCII码存储的,所以可以将每个长度为N的子串转化为NC进制的整数,并用hash[]记录每个NC进制的整数是否出现过,进而求出所求字符串个数。 下面是AC了的代码: #include #include #i原创 2017-05-10 22:38:08 · 333 阅读 · 0 评论 -
CSU-1729_齿轮转动
点击链接打开题目:CSU-1729-齿轮转动 解析:对于这道题来说,首先想到的是爆搜,然后优化。建立一个数组dp[1005][1005]用来动态存储在不同状态下形成回文符要删除的最小齿轮个数(其中dp[i][j]表示从第i到j个字符间要删除的最小字符个数)。 然后最重要的是状态压缩方程:当gear[i]=gear[j](用gear[10001]存储初始齿轮状态)原创 2017-04-19 00:24:19 · 319 阅读 · 0 评论 -
HDU-1234_开门人和关门人
题目链接:HDU-1234 一边读入一边记录,题目比较简单,直接放代码: #include #include #include using namespace std; int main() { string opener,downer;//用来记录当天关门人和开门人 int N; cin>>N; while(N-->0) { string now;//表示正在输入的人原创 2017-04-18 19:50:14 · 255 阅读 · 0 评论 -
POJ-1101_The Game
The Game POJ - 1101 题目大意:由w*h个小正方形组成的长方形板、每一个小正方形可能会包括一个游戏的块,如下图所示。 这个游戏的一个最重要的方面是判断两个块会不会由符合下列要求的路径连接。 1.路径是由直的部分组成,每个部分或水平或垂直。 2.路径不能跨过其它的游戏方块。 (路径可以包括长方形板的外延一圈) 要求找到一条原创 2017-04-18 19:11:04 · 639 阅读 · 0 评论 -
OpenJ_Bailian 2811——熄灯问题
题目:熄灯问题 OpenJ_Bailian - 2811 有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。原创 2017-04-05 17:48:58 · 486 阅读 · 0 评论 -
链表类的声明及定义
这个代码将链表类的声明、定义及测试写在一起了。可供初学者更好的学习链表。’ #include "stdafx.h" #include using namespace std; class LinkList { private: struct node { //链表节点定义 int data; //链表数据类型 node *next; }*p;原创 2017-04-05 17:55:26 · 14829 阅读 · 1 评论 -
CSU-1120——病毒
题目:CSU-1120——病毒你有一个日志文件,里面记录着各种系统事件的详细信息。自然的,事件的时间戳按照严格递增顺序排列(不会有两个事件在完全相同的时刻发生)。 遗憾的是,你的系统被病毒感染了,日志文件中混入了病毒生成的随机伪事件(但真实事件的相对顺序保持不变)。备份的日志文件也被感染了,但由于病毒采用的随机感染方法,主日志文件和备份日志文件在感染后可能会变得不一样。 给出被感染的主日志和备份原创 2017-04-05 00:28:45 · 437 阅读 · 0 评论 -
HDU-1864-最大报销额
题目: 最大报销额 HDU - 1864 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input测试输入包含若干测试用例。每个测试用例的原创 2017-04-09 19:21:02 · 265 阅读 · 0 评论 -
HDU-1176-免费馅饼
题目: 免费馅饼 HDU - 1176 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆原创 2017-04-07 15:06:45 · 239 阅读 · 0 评论 -
POJ-1661-Help Jimmy
题目: Help Jimmy POJ - 1661 "Help Jimmy" 是在下图所示的场景上完成的游戏。 场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。 Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动原创 2017-04-08 21:57:54 · 489 阅读 · 0 评论 -
HDU 4561-连续最大积
点击此链接打开题目 题目解析: 1:将所给的一组数据以“0”为间隔分为m段,定义一个数组F[10001][4](F[i][0]、F[i][1]、F[i][2]、F[i][3]分别表示第i段数据中±2的个数、负数的个数、第一个负数所在的位置、最后一个负数所在的位置); 2:用Max记录所求长度,初始化为0。 3:当F[i][1]是偶数时,Max=max(Max,F[i][0]);原创 2017-05-07 17:26:29 · 406 阅读 · 0 评论