关闭

【集训Day4 动态规划】轮船问题

轮船问题(ship) 【问题描述】 某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾。政府决定允许开通的航线就互不交叉(如果两条航线交叉,将有很大机会撞船)。兴建哪些航线以使在安全条件下有最多航线可以被开通。 【输入格式】(ship.in)...
阅读(58) 评论(0)

【Luogu P1164】小A点菜

题目原链接: Luogu 小A点菜 【解题思路】 常规的0-1背包,不过是求装满整个背包的方案数,只要把0-1背包的状态转移方程稍微改一下就行。因为要求方案数,那么把方程中的max换成sum就行。 【解题反思】 要注意变量的含义和题目所问的问题 【参考程序】#include #include using namespace std; int v,n,a[2...
阅读(56) 评论(0)

【集训Day3 单调队列】最大子序列和

最大子序列和(maxsum) 【问题描述】 输入一个长度为n的整数序列(A1,A2,……,An),从中找出一段连续的长度不超过M的子序列,使得这个序列的和最大。 例如: 序列 1, -3, 5, 1, -2, 3 当M=2或3时,S=5+1=6;当M=4时,S=5+1+(-2)+3=7。 【输入格式】 输入文件第一行一个整数n表示序列的长度,第二行n个整数,代表序列...
阅读(52) 评论(0)

【集训Day3 离散化】矩形覆盖

矩形覆盖(planting) 【问题描述】 给定在一个平面坐标系上的N(1 <= N <= 100)个矩形区域,这N个矩形可能有相互覆盖的部分。求平面上被所有矩形覆盖的总面积,重复部分只算一次。 【输入格式】planting.in 第一行一个整数N。 接下来N行,每行包含4个整数x1 y1 x2 y2,表示一个矩形区域。矩形的左上角为(x1,y1),右下角为(x2,y2)。坐标范围为–10...
阅读(41) 评论(0)

【集训Day2】字符串

字符串(string) 【问题描述】 给一个字符串T,问在字符串T 中可以包含最多多少个不重叠的字符串S。 字符串中的每个字符为小写或者大写字母。 【输入格式】 第一行输入一个字符串S。 第二行输入一个字符串T。 【输出格式】 输出一行,包括一个整数表示答案。 【输入样例】 Aba Abababa 【输出样例】 2 【数据范围】 50%的数据,1<=字符串T 长度<=2...
阅读(47) 评论(0)

【集训Day2 哈希表】【NHOI2015】【Luogu P2421】差

LuoguP2421 原题来自NHOI2015 【解题思路】 本题的解题方法有三种,一种为枚举减数,二分查找被减数。第二种为利用数据单调性用尺取法进行查找,第三种为运用哈希表以快速查找数据。 【解题反思】 一题可能有多种解法,尝试选择自己最擅长的。 【参考程序】#include #include using namespace std; int n...
阅读(75) 评论(0)

【集训Day1 测试】选择课题

选择课题(bestproject) 【问题描述】 Robin 要在下个月交给老师 n 篇论文,论文的内容可以从 m 个课题中选择。由于课题数有限,Robin 不得不重复选择一些课题。完成不同课题的论文所花的时间不同。具体地说,对于某个课题 i,若 Robin 计划一共写 x 篇论文,则完成该课题的论文总共需要花费 Ai*x^Bi 个单位时间(系数 Ai 和指数 Bi 均为正整数)。给定与每一个课...
阅读(57) 评论(0)

【集训Day1 测试】装饰

装饰(decorate) 【题目描述】 一个图有 N 个结点,编号 1 至 N,有 M 条无向边,第 i 条边连接的两个结点是 Ai 和Bi,其中 Ai 和 Bi 是不同的结点。可能有多条边连接的是同一个点对。现在要给每个结点做标致,每个结点的标志要么是‘F’,要么是‘J’。如果结点 A 和结点 B 之间有边,那么结点 A 和结点 B 的标志就必须不同。做一个‘F’的费用比做一个‘J’的费用要高...
阅读(48) 评论(0)

【集训Day1 测试】【USACO】照相

照相(fairphoto) 【题目描述】 有N 头奶牛站在一条数轴上,第 i 头奶牛的位置是 Pi,奶牛不会重叠站在同一个位置, 第i 头奶牛的颜色是 Ci,其中 Ci 要么是字符‘G’要么是字符‘H’。现在农夫 FJ 想给一段连续的奶牛照一张相,前提是满足一下三个条件之一: 1、这连续一段奶牛的颜色全部是‘G’。 2、这连续一段奶牛的颜色全部是‘H’。3、这连续一段奶牛,颜色是‘H’的奶...
阅读(65) 评论(3)

【集训Day1 测试】奇怪数

奇怪数(odometer) 【题目描述】 一个正整数Z是奇怪数,当且仅当满足的条件是:Z的所有数字中,只有一个数字不同于其他数字。例如:33323、110 都是奇怪数,而 9779、5555 都不是奇怪数。给出两个正整数 X 和 Y,满足 100 <= X <= Y <= 10^16,请问区间[X,Y]内有多少个奇怪数? 【输入格式】odometer.in 一行,两个整数,X 和 Y。 【...
阅读(60) 评论(0)

【Luogu P1048 Luogu P1016】采药/疯狂的采药

采药/疯狂的采药 两道模板题,分别是0-1背包和完全背包。0-1背包二维:dp[i][j]=max(dp[i-1][j-time[i]]+v[i],dp[i-1][j]); 由于i的状态由i-1的状态转移而来,那么可以省去物品的维度。 但是重量/容积维度的循环j必须倒序进行,否则可能使物品被重复选。 大家可以自己思考一下为什么。 一维:dp[j]=max(dp[j-time[i]]+v[i...
阅读(69) 评论(0)

【集训Day 4 动态规划】质数和分解

质数和分解(prime) 【问题描述】 任何大于 1 的自然数 N,都可以写成若干个大于等于2且小于等于 N 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式:9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7 。 这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各个数的...
阅读(89) 评论(2)

【集训Day4 动态规划】蛙人

蛙人 (ple) 蛙人使用特殊设备潜水。设备中有一个气瓶,分两格:一格装氧气,另一格装氮气。留在水中有时间的限制,在深水中需要大量的氧气与氮气。为完成任务,蛙人必须安排好气瓶。每个气瓶可以用它的重量和含有气体的体积来描述。蛙人要完成任务,就需要特定数量的氧气与氮气。要完成任务,他所需带的气瓶的总重量最少是多少呢? 例如:蛙人有下述五个气瓶。每个气瓶表述为:氧气的体积,氮气的体积(以“升”为单位)...
阅读(71) 评论(0)

【Luogu P1090】合并果子

Luogu P1090 【解题思路】 刚看到这题的时候,第一反应就是每次取两个最小,然后重新排序,再取最小。但是这样会TLE。 既然找最小的,那就可以利用单调队列了。显然输入的数据是不具有单调性的,但是可以排一次序,使之具有单调性。 这题需要两个队列,一个队列用于存储最先给出的堆,另一个队列用于存储合并后的堆。 值得一提的是,后面合并出来的堆,一定比前面合并出来的要大。 也就是说队列的单...
阅读(97) 评论(0)

【POJ 2823】【Luogu P1886】Sliding Window 滑动窗口

POJ 2823 Luogu P1886 【解题思路】 这是一个单调队列算法的经典题目,几乎学习单调队列的人都接触过这题。 利用单调队列算法求出每一个固定区间内的最(大/小)值。 以下以最大值为例: 将要进队的值如果比队尾大,那么意味着进队值比队尾的值更优,那么 从尾部继续向前寻找,如果还是比前面的更优,那么就一直寻找。直到符合条件或者队列为空为止...
阅读(64) 评论(0)
    个人资料
    • 访问:946次
    • 积分:160
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    文章存档
    最新评论