————ACM训练————
文章平均质量分 70
童凌
当你停下来休息的时候,不要忘记别人还在奔跑!——一个普通的软件工程专业学生
展开
-
2014.5.1 训练日志(下午):动态规划(DP)
背包问题有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i原创 2014-05-01 17:22:07 · 464 阅读 · 0 评论 -
2014.5.1 训练日志(上午):动态规划(dp)
动态规划: 动态规划主要用于最优化(最大或最小)问题。目的是找出最优解值(可能有多个最优解)。它是一种思想,在程序设计中,已经抽象为一种程序设计技术,通常分为两个要素:最优子结构和重叠子问题。 最优子结构: 一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。原创 2014-05-01 13:40:52 · 761 阅读 · 0 评论 -
几个常用的数论算法
1、辗转相除法 也许这是最广为人知的数论算法了。原创 2014-05-07 16:27:24 · 2481 阅读 · 0 评论 -
集训日志(三) 动态规划
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能原创 2014-07-20 12:09:00 · 622 阅读 · 0 评论 -
[dp]关于动态规划的一些理解
原文地址动态规划的概念在上例的多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化问题的方法为动态规划方法。与穷举法相比,动态规划的方法有两个明显的优点:(1)大大减少了计算量(2)丰富了计算结果应用动态规划要注意阶段的划分是关键,必须转载 2014-07-21 11:48:53 · 790 阅读 · 0 评论 -
常用的高效「排序」算法
一、归并排序第一种高效排序算法是归并排序原创 2014-04-28 10:50:17 · 1397 阅读 · 2 评论 -
大数相加 大数相乘 模板
#include #include #include #include using namespace std; void multiply(const char *a,const char *b);int main(){ //cout string num1,num2; cin>>num1>>num2; const char原创 2014-05-18 20:27:40 · 1329 阅读 · 0 评论 -
关于 sprintf 和 sscanf 在ACM中的常用方法
今天着重总结一下sprintf和sscanf系列函数,这两个函数类似于scanf和printf ,不同点是从字符串*buffer用于输入输出。1、sprintf函数sprintf的原型是int sprintf(char *str, const char *format, ...);作用是格式化字符串,返回值为输出字符串的长度。具体用法如下:1、将数字变量转换为字符串。原创 2015-05-20 14:36:13 · 696 阅读 · 0 评论 -
常用的高效「查找」算法
一、二分查找 排序的重要意义之一,就是为检索带来方便。原创 2014-04-28 11:14:27 · 2747 阅读 · 0 评论 -
ACM算法列表,记下来随时查用
数据结构栈,队列,链表哈希表,哈希数组堆,优先队列双端队列可并堆左偏堆二叉查找树Treap伸展树并查集集合计数问题二分图的识别平衡二叉树二叉排序树线段树一维线段树二维线段树树状数组一维树状数组N维树状数组字典树后缀数组,后缀树块状链表哈夫曼树桶,跳跃表Trie树(静态建树、动态建树)转载 2015-05-29 14:06:32 · 915 阅读 · 0 评论 -
初学ACM 感悟与心得
正式接触ACM快原创 2014-04-24 14:18:17 · 2476 阅读 · 0 评论 -
2015湘潭邀请赛小记
事实上,在今年赛之前,我已经很长一段时间没有碰过ACM了。这从我blog的发帖时间上也能看得出来。很多内容去年学得并不是很熟练,再加上接近半年时间没有练习,所以一些基本的常用算法都忘了很多。在今年5月的时候,我开始重新捡起ACM,并且学了之前不熟悉的动态规划,也渐渐找回了当初做题的感觉。然而这并没有什么用 ╮(╯▽╰)╭ 做不出来的仍然做不出来。但是今年和两个学弟组队,他们的热情实在是极原创 2015-06-06 23:11:21 · 922 阅读 · 0 评论 -
[模板]筛选法求欧拉函数
欧拉函数 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。例如euler(8)=4,因为1,3,5,7均和8互质。 Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为0的整数。euler(1)=1(唯一和1互质的数就是1本身)。原创 2015-06-07 18:30:37 · 890 阅读 · 0 评论 -
[水]百度之星资格赛 1003 IP聚合
Problem Description当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下,有多少个网络地址。网络地址等于子网掩码与 IP 地址按位进行与运算后的结果,例如:子网掩码:A.B.C.DIP 地址:a.b.c.d网络地址:(A&a).(B&b).(C&c).(D&d)原创 2015-05-25 16:36:52 · 933 阅读 · 0 评论 -
1113: 奖学金(scholar)
Description某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。 任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后原创 2014-04-27 18:26:56 · 1214 阅读 · 0 评论 -
1188:导弹拦截系统
Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请原创 2014-04-27 18:06:00 · 828 阅读 · 0 评论 -
黑白图像问题[DFS]
输入一个n*n的黑白图像()原创 2014-04-24 14:53:07 · 1153 阅读 · 0 评论 -
[DP] POJ 1163 The Triangle
The TriangleTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 36948 Accepted: 22139Description73 88 1 02 7 4 44 5 2 6 5(原创 2014-07-20 13:57:39 · 448 阅读 · 0 评论 -
1142 成绩排序
1142: 成绩排序Description期末考试结束了,老师需要统计成绩,本学期有语文、数学和英语三门课,老师知道每个同学的三门课程的分数,因为老师实在太忙了,所以老师找到了你,并给出了排序方法:1.当总分不同时,按总分升序排序2.当总分相同时,按照语文成绩升序排序3.同理,当语文成绩相同时按照数学成绩升序排列4.最后将排序好的数据送给老师即可聪明原创 2014-05-25 11:52:23 · 903 阅读 · 0 评论 -
[贪心]poj1017 packets
题目链接:POJ1017-packets题意:一个工厂制造的产品形状都是长方体盒子,它们的高度都是 h,长和宽都相等,一共有六个型号,分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个 6*6*h 的长方体箱子包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的箱子数量BoxNum。 由于盒子和箱子原创 2015-07-20 15:54:25 · 433 阅读 · 0 评论 -
[二分、贪心]Codeforces Round #307 (Div. 2) C.GukiZ hates Boxes
H - GukiZ hates BoxesTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 551CDescriptionProfessor GukiZ is concerned ab原创 2015-07-16 12:10:37 · 639 阅读 · 0 评论 -
[水题]Codeforces Round #307 (Div. 2) A.GukiZ and Contest
A. GukiZ and Contesttime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputProfessor GukiZ likes programming cont原创 2015-07-16 09:12:13 · 713 阅读 · 0 评论 -
[水题] HDU 1049 Climbing Worm
C - Climbing Worm Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u SubmitStatus Description An inch worm is at the bottom of a well n inches deep. It has enough energy t原创 2015-07-24 13:15:58 · 401 阅读 · 0 评论 -
[RMQ+二分] 2015多校联合第一场 Assignment
AssignmentTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1626 Accepted Submission(s): 388Problem Description Tom owns a company and he原创 2015-07-22 15:24:53 · 428 阅读 · 0 评论 -
1022: 进制转换问题
Description 大家都知道,计算机中是以二进制存储的!但是在现实生活中,我们遇到过各种各样的进制情况,我们接触得最多的就是十进制,不过,生活中还存在各种进制计数的情况。例如:一个星期七天是7进制、一年十二个月,是12进制等等。小明最近在学c语言,熟悉了c语言中的各种进制转换问题,所以就尝试着各种进制转换的程序,现在他想写一个程序,把一个无符号数n,转化成在b进制下的表示。例如:n原创 2014-03-30 10:41:00 · 1114 阅读 · 1 评论 -
[DP] OpenJudge 2757 最长上升子序列
2757:最长上升子序列总时间限制: 2000ms 内存限制: 65536kB 描述 一个数的序列bi,当b1 b2 < ... <bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ...,aN),我们可以得到一些上升的子序列(ai1, ai2, ...,aiK),这里1 i1 i2 < ... <iK 你的任务,就是对于给定的序列,求出最长上原创 2014-07-20 15:00:02 · 768 阅读 · 0 评论 -
[水]Openjudge 大师兄,师傅被妖怪抓走啦
A:大师兄,师傅被妖怪抓走啦-总时间限制: 1000ms 内存限制: 65536kB 描述 孙悟空听到沙僧大喊一句:“大师兄,师傅被妖怪抓走啦!”于是孙悟空直追白骨精而去。孙悟空在一条长度为L的森林小路上飞奔,上面有L+1个整点,依次为0,1,2……L。白骨精会使用一种大范围的攻击法术,产生N个能量球,其中第i个能量球的能量值为f[i],落在小路的整点k[i]上原创 2014-07-18 15:46:45 · 1462 阅读 · 0 评论 -
[dp]poj3176 Cow Bowling
Cow BowlingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 15103 Accepted: 10047DescriptionThe cows don't use actual bowling balls when they go bowl原创 2015-05-26 09:09:56 · 406 阅读 · 0 评论 -
[dp]最长公共子序列问题
最长公共子序列问题给定两个字符串s1s2…sn和t1t2…tn。求出这两个字符串最长的公共子序列的长度.限制条件:1输入:n = 4m = 4s = "abcd"t = "becd"输出3 ("bcd")这个问题是被成为最长公共子序列(LCS)的著名问题。不妨用如下方式定义试试看:定义:dp[i][j] = s[1]…s[原创 2015-05-25 17:48:44 · 589 阅读 · 0 评论 -
[树状数组] poj3468 A Simple Problem with Integers
E - A Simple Problem with Integers Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%I64d & %I64u SubmitStatus Description You have N integers, A1, A2, … , AN. You need to deal with原创 2015-07-23 10:36:58 · 483 阅读 · 0 评论 -
[dfs] Delicious cakes 中等难度的搜索
Problem B Delicious cakes Time Limit: 1000ms, Memory Limit:64MB Description Laura is good at cooking cakes. The delicious and funny cake she cooked is square all the time. For example, the cake in原创 2015-06-19 07:04:03 · 572 阅读 · 0 评论 -
[dp]poj1088_滑雪 二维形式的最长下降子序列
二维的最长下降子序列滑雪Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 35399 Accepted: 12399DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜原创 2015-05-23 14:00:36 · 850 阅读 · 0 评论 -
1172: 最强大脑
DescriptionACM实验室里的春哥特备喜欢研究人的记忆力。自从看了江苏卫视的《最强大脑》后,春哥就开始对这些脑袋进行研究,作为一名大数理信息与计算科学的骄子,春哥重点研究了每个人对数据的采集与存储。春哥试图发明一种更加科学的方法来帮助人们去记住那些繁杂的数据。(春哥说科学研究表明,和人类相关的信息里,有x%的信息都是以数字的形式存在的。如果有一种办法能帮人们更容易地记住数字,那原创 2014-03-30 10:46:44 · 839 阅读 · 0 评论 -
1072:迷宫
Description在N*N的迷宫内,“#”为墙,“.”为路,“s”为起点,“e”为终点,一共4个方向可以走。从左上角((0,0)“s”)位置处走到右下角((n-1,n-1)“e”)位置处,可以走通则输出YES,不可以走则输出NO。Input输入的第一行为一个整数m,表示迷宫的数量。 其后每个迷宫数据的第一行为一个整数n(n≤16),表示迷宫的边长,接原创 2014-04-15 21:52:16 · 774 阅读 · 0 评论 -
1102: 机器翻译(translate)
Description小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻原创 2014-04-27 18:43:55 · 2732 阅读 · 0 评论 -
1077:N皇后
1077: N皇后Description检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。列号 1 2 3 4 5 6 -------------------------1 | | O | | | | | --------原创 2014-04-21 12:33:25 · 1173 阅读 · 0 评论 -
[智力题]1395: Planting Tree
DescriptionNovel-Supertv Digital TV Technology Co., Ltd is one of the leading digital TV technology solution providers in China. Novel-Supertv offers customized solutions for cable, satellite, t原创 2015-05-18 09:20:04 · 564 阅读 · 0 评论 -
[二分+贪心]2015百度之星初赛第一场 序列变换
序列变换Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 158 Accepted Submission(s): 83Problem Description给定序列A={A1,A2,...,A原创 2015-05-31 09:41:21 · 773 阅读 · 0 评论 -
[DFS]poj 2676 Sudoku 数独问题
SudokuTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 14917 Accepted: 7372 Special JudgeDescriptionSudoku is a very simple task. A square table wi原创 2015-05-28 21:10:45 · 648 阅读 · 0 评论 -
BestCoder Round #43 第二题 pog loves szh II
pog loves szh II Accepts: 219 Submissions: 834 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)问题描述pog在与szh玩游戏,首先pog找到了一个包含n个数的序列,然后他在这n个数中原创 2015-06-07 20:57:04 · 565 阅读 · 0 评论