暑假训练
文章平均质量分 71
jn_8316
这个作者很懒,什么都没留下…
展开
-
Just a Hook
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698Just a HookTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 28080 Accepted Submissi原创 2016-08-11 19:50:49 · 315 阅读 · 0 评论 -
硬币找零(完全背包)
硬币找零(coin.pas)【问题描述】在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计算最少的找零硬币数,以便他们能从银行拿回最少的硬币数,并保证能用这些硬币发工资。我们应该注意到,人民币的硬币系统是100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01元,采用这些硬币我们可以对任何一个工资数用贪心算法求出其最少硬币数。原创 2016-07-22 20:53:31 · 1145 阅读 · 0 评论 -
机器分配(变了形的完全背包)
问题 C: 机器分配时间限制: 1 Sec 内存限制:128 MB提交: 42 解决: 11[提交][状态][讨论版]题目描述某总公司拥有高效生产设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为总公司提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。分配原则:每个公司有权获得任意数目的设备,但总台数不得超过总设备数M。其中原创 2016-07-23 16:06:17 · 974 阅读 · 1 评论 -
奶牛锻炼
1782: 奶牛的锻炼时间限制: 1 Sec 内存限制:128 MB提交: 43 解决: 11[提交][状态][讨论版]题目描述奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息。若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加1(初始为0)。若她在第i分钟休息,则疲倦程度减少1。无论何时,疲倦程度都不能超过M。另外,一旦她开始休息,只有当疲惫程度减为0时原创 2016-07-23 16:49:32 · 534 阅读 · 0 评论 -
GF(01)
GF(gf.pas)【背景】找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦...虽然他听着这首叫做"找啊找啊找GF"的歌,他还是很痛苦.为了避免这种痛苦,sqybi决定要给自己找点事情干.他去找到了七夕模拟赛的负责人zmc MM,让她给自己一个出题的原创 2016-07-24 20:02:45 · 418 阅读 · 0 评论 -
精卫填海(01)
精卫填海 (jingwei.pas)【问题描述】发鸠之山,其上多柘木。有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。是炎帝之少女,名曰女娃。女娃游于东海,溺而不返,故为精卫。常衔西山之木石,以堙于东海。——《山海经》精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,西山上的木石也已经不多了。精卫能把东海填平吗?事实上,东海未填平的区域还需要体积为v的木原创 2016-07-25 09:29:47 · 400 阅读 · 0 评论 -
HDU4826 - Labyrinth(棋盘DP)
LabyrinthTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 828 Accepted Submission(s): 377Problem Description度度熊是一只喜欢探险的熊,一次偶然落进了转载 2016-07-25 10:03:39 · 256 阅读 · 0 评论 -
石子合并(区间型动规)
在一个圆形操场的四周摆放n堆石子(n≤500),现要将石子有次序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。编一程序,由文件读入堆数n及每堆的石子数;⑴ 选择一种合并石子的方案,使得做n-1次合并,得分的总和最小;⑵ 选择一种合并石子的方案,使得做n-1次合并,得分的总和最大。输入文件:第1行为n,代表n堆石子;第2行为n原创 2016-07-25 15:27:03 · 667 阅读 · 0 评论 -
沙子合并
问题 A: 沙子合并时间限制: 1 Sec 内存限制:128 MB提交: 15 解决: 10[提交][状态][讨论版]题目描述设有N堆沙子排成一排,其编号为1,2,3,…,N(N<=300)。每堆沙子有一定的数量,可以用一个整数来描述,现在要将这N堆沙子合并成为一堆,每次只能合并相邻的两堆,合并的代价为这两堆沙子的数量之和,合并后与这两堆沙子相邻的沙子将和新堆相邻,合并原创 2016-07-25 20:38:14 · 1170 阅读 · 0 评论 -
能量项链
问题 B: 能量项链时间限制: 1 Sec 内存限制:128 MB提交: 21 解决: 9[提交][状态][讨论版]题目描述在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Ma原创 2016-07-25 20:47:45 · 380 阅读 · 0 评论 -
求最长上升子序列
由n个不相同的整数组成的数列,记为:a(1),a(2),…,a(n)且a(i)≠a(j)(i≠j),例如,3,18,7,14,10,12,23,41,16,24.若存在i1i23e且有a(i1)2)e),则称其为长度为e的不下降子序列。如上例中3,18,23,24就是一个长度为4的不下降子序列,同时也有3,7,10,12,16,24长度为6的不下降子序列。程序要求,当原数列给出之后,求出最长的原创 2016-07-22 17:48:19 · 636 阅读 · 0 评论 -
合唱队形
例3 合唱队形(NOIP2004)N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为,,…,,则他们的身高满足 (1≤i≤K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入文件:输入文件的第一行是一个整原创 2016-07-22 17:33:12 · 295 阅读 · 0 评论 -
矩阵取数(动态规划理解)
首先这道题是一道动态规划的问题,而且这道题每行的取数得数之和都是互相独立的,那么我们思考这个问题时就可以从整个矩阵最大得数和简化为每行的最大得数和,那么我们就需要动态规划每一行的得数,而动态规划就是从子问题出发进而解决大问题,那么我们就可以得到每一行的规律,也就是取数的次数和剩余数的个数之间的关系,而且这个也是不变的,那我们就可以列举区间长度,从最短区间去考虑,得到短区间的得数,进而慢慢到最大的。原创 2016-07-22 10:55:52 · 575 阅读 · 0 评论 -
RMQ-ST算法
题目链接:http://hihocoder.com/problemset/problem/1068?sid=845325一道模板题,但是要注意数组的大小,容易时间超限。注意两点:1.处理找到f[i][j]最小中,i的限制是i;写成i+(1会超限2.输出要用printf否则时间超限#include#include#includeusing namespace std;int原创 2016-08-11 14:03:49 · 417 阅读 · 0 评论 -
tyvjP1014乘法游戏(区间dp)
题目链接:http://www.tyvj.cn/p/1014时间: 1000ms / 空间: 131072KiB / Java类名: Main背景太原成成中学第2次模拟赛 第四道描述乘法游戏是在一行牌上进行的。每一张牌包括了一个正整数。在每一个移动中,玩家拿出一张牌,得分是用它的数字乘以它左边和右边的数,所以不允许拿第1张和最后1张牌。最后一次移动后原创 2016-08-09 18:19:17 · 503 阅读 · 0 评论 -
高精度乘法
乘高精#include#includeint a[1000],b[1000],c[1000];void mul(){ int i,j,len; for (i=1;i<=a[0];i++) for (j=1;j<=b[0];j++) { c[i+j-1]+=a[i]*b[j]; c[i+j]+=c[i+j-1]原创 2016-07-28 15:53:12 · 297 阅读 · 0 评论 -
滑雪(记忆化搜索)
滑雪Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 90701 Accepted: 34173DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等原创 2016-07-21 10:23:11 · 237 阅读 · 0 评论 -
ural1057. Amount of Degrees
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=10571057. Amount of DegreesTime limit: 1.0 secondMemory limit: 64 MBCreate a code to determine the amount of integers, lying in th原创 2016-08-09 11:09:34 · 420 阅读 · 0 评论 -
HDU1671
Phone ListTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17853 Accepted Submission(s): 5957Problem DescriptionGiven a list of原创 2016-08-01 15:40:29 · 473 阅读 · 1 评论 -
乘积最大vijosp1037ti
题目链接:https://vijos.org/p/1347题目:描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度N的数字串,要求选手使用K个乘号将它分成K原创 2016-08-06 11:24:02 · 635 阅读 · 0 评论 -
01背包第一讲的理解
首先01背包的基本思路是通过二维数组来进行实现的,就是当前背包放入或者不放入所得到的最大价值,也是通过层层递归进行实现的,因此就会出现状态转移方程:f[i][v]=max{ f[i-1][v] , f[i-1][v-c[i]]+w[i] },这里面的 f 数组使用来储存价值,i 代表着物品的个数,v 代表背包的容量, c数组代表每个物品的体积大小,w数组代表着每个物品的价值。但是01背包一讲只是原创 2016-07-21 11:47:03 · 315 阅读 · 0 评论 -
采药
描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你原创 2016-07-21 14:56:29 · 381 阅读 · 0 评论 -
删数
1791: 删数时间限制: 1 Sec 内存限制:128 MB提交: 16 解决: 11[提交][状态][讨论版]题目描述有N个不同的正整数数x1, x2, ... xN 排成一排,我们可以从左边或右边去掉连续的i个数(只能从两边删除数),1<=i<=n,剩下N-i个数,再把剩下的数按以上操作处理,直到所有的数都被删除为止。每次操作都有一个操作价值,比如现在要删除从i位原创 2016-07-26 14:29:36 · 309 阅读 · 0 评论 -
加分二叉树(区间动规或记忆化搜索)
问题 D: 加分二叉树时间限制: 1 Sec 内存限制: 128 MB提交: 4 解决: 0[提交][状态][讨论版]题目描述设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的原创 2016-07-26 19:45:20 · 446 阅读 · 0 评论 -
HDU2955
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955RobberiesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 20298 Accepted Submission原创 2016-07-29 11:15:45 · 339 阅读 · 0 评论 -
HDU2639(第k优解)
Bone Collector IITime Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3987 Accepted Submission(s): 2068Problem DescriptionThe title原创 2016-07-29 10:24:23 · 343 阅读 · 0 评论 -
HDU2602
题目的链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602Problem DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bone原创 2016-07-29 08:48:22 · 282 阅读 · 0 评论 -
Mondriaan's Dream
题目链接:http://poj.org/problem?id=2411题目:Mondriaan's DreamTime Limit: 3000MSMemory Limit: 65536KTotal Submissions: 15360Accepted: 8861DescriptionSquares an原创 2016-08-08 11:42:13 · 414 阅读 · 0 评论 -
C++类和对象概念
C++是一门面向对象的编程语言,理解C++,首先要理解类与对象这两个概念。C++中的类可以看做C语言中结构体(Struct)的升级版。结构体是一种构造数据类型,可以包含若干成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。这是C语言中想要调用同一个人信息的方法,例如:#include int main(){ // 定义结原创 2016-08-06 20:13:06 · 3949 阅读 · 1 评论 -
vijosp1037搭建双塔-较为清晰简单的思路-动态规划01背包-差值dp
题目地址:https://vijos.org/p/1037描述2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念“9?11”事件,Mr. F决定自己用水晶来搭建一座双塔。Mr. F有N块水晶,每块水晶有一个高度,他想用这N块水晶搭建两座有同样高度的塔,使他们成为一座双塔,Mr. F可以从这N块水晶中任取M(1≤M≤N转载 2016-08-06 09:22:01 · 829 阅读 · 0 评论 -
King
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=492King时间限制:3000 ms | 内存限制:65535 KB难度:5描述在n*n的棋盘上放k个国王(可攻击相邻的8个格子),求使它们无法互相攻击的方案数。输入多组测试数据。输入包含n和k(0输出输出方案数,每组原创 2016-08-05 15:56:58 · 395 阅读 · 0 评论 -
POJ3254Corn Fields
题目链接:http://poj.org/problem?id=3254Corn FieldsTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 13117Accepted: 6869DescriptionFarmer John has p原创 2016-08-04 18:15:42 · 415 阅读 · 0 评论 -
状态压缩DP
给出一个n*m 的棋盘(n、m≤80,n*m≤80),要在棋盘上放k(k≤20)个棋子,使得任意两个棋子不相邻,求可以得到多少种方案。思路:这个题目的状态压缩模型是比较隐蔽的。观察题目给出的规模,n、m≤80,这个规模要想用SC 是困难的,若同样用上例的状态表示方法(放则为1,不放0),280 无论在时间还是在空间上都无法承受。然而我们还看到n*m≤80,这种给出数据规模的方法是不多见的,有什原创 2016-08-03 18:11:10 · 344 阅读 · 0 评论 -
HDU3466
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466Proud MerchantsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 5025 Accepted Subm原创 2016-07-29 11:58:02 · 794 阅读 · 0 评论 -
HDU1864最大报销额
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864最大报销额Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 22139 Accepted Submission原创 2016-07-29 17:24:10 · 322 阅读 · 0 评论 -
统计难题HDU1251
统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 33209 Accepted Submission(s): 12620Problem DescriptionIgnatius最近遇到一个难题,老师交原创 2016-07-29 20:28:31 · 408 阅读 · 0 评论 -
公路乘车(完全背包)
公路乘车(gonglu.pas)【问题描述】一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如样例的第一行就是一个费用的单子。没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1【数据输入】第一行十个整数分别表示行走1到10公里的费用(第二行一个整数n表示,旅客的总路程数。【数据输出】仅一个整数表示最少费用。【样例输入】原创 2016-07-26 20:42:29 · 922 阅读 · 1 评论 -
邮票问题
邮票问题(stamp.pas)【题目描述】给定一个信封,最多只允许粘贴N(N≤100)张邮票,我们现在有M(M≤100)种邮票,面值分别为:X1,X2……Xm(Xi≤255为正整数),并假设各种邮票都有足够多张。要求计算所能获得的邮资最大范围。即求最大值MAX,使1-MAX之间的每一个邮资都能得到。例如:N=4,有2种邮票,面值分别为1分,4分,于是可以得到1-10分和12分,原创 2016-07-27 15:39:18 · 1201 阅读 · 0 评论 -
经典递归汉诺塔
算法:当只有一个盘子的时候,只需要从将A塔上的一个盘子移到C塔上。 当A塔上有两个盘子是,先将A塔上的1号盘子(编号从上到下)移动到B塔上,再将A塔上的2号盘子移动的C塔上,最后将B塔上的小盘子移动到C塔上。 当A塔上有3个盘子时,先将A塔上编号1至2的盘子(共2个)移动到B塔上(需借助C塔),然后将A塔上的3号最大的盘子移动到C塔,最后转载 2016-07-27 19:50:08 · 343 阅读 · 0 评论 -
HDU1171
Big Event in HDUTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 35308 Accepted Submission(s): 12249Problem DescriptionNowadays原创 2016-07-28 11:31:56 · 262 阅读 · 0 评论