07 2020 档案
CodeForces 1384B2. Koa and the Beach (Hard Version)(贪心)
摘要:题意:沙滩从左往右由海岸线,n米的海和一个在n+1的点的岛组成。一个人测量了从海岸线$1,2,\dots,n$米到岛屿的海的深度,并保存在$d$数组中,这个海有潮汐,潮汐的强度取决于参数$k$,参数$k$影响了海的深度,对于从时间$t = 0$开始,先k秒,每一秒,潮汐导致所有的深度+1,然后再k秒
阅读全文
CodeForces 1384B1. Koa and the Beach (Easy Version)(搜索)
摘要:题意:沙滩从左往右由海岸线,n米的海和一个在n+1的点的岛组成。一个人测量了从海岸线$1,2,\dots,n$米到岛屿的海的深度,并保存在$d$数组中,这个海有潮汐,潮汐的强度取决于参数$k$,参数$k$影响了海的深度,对于从时间$t = 0$开始,先k秒,每一秒,潮汐导致所有的深度+1,然后再k秒
阅读全文
CodeForces 1384C. String Transformation 1(贪心)(并查集)
摘要:题意:一个人有两个字符串A和B,两个字符串具有相同的长度n$(|A| = |B| = n)$,包含前20个小写字符('a'到't')。每一次操作,这个人可以选择A字符串中字符相同的字母,然后从中选择一些位置,并把这些位置的字母变大。求字符串A变到字符串B的最少操作次数。 分析:我们可以贪心地进行操作
阅读全文
CodeForces 1384A. Common Prefixes
摘要:题意:字符串s和t的最长公共前缀(lcp)被定义为最大的整数k(0 ⇐ k ⇐ min(n, m)),使得s1s2...sk等于t1t2...tk。一个人一开始有n + 1个字符串s1s2...sn+1,对于i(1 ⇐ i ⇐ n),这个人计算了ai si和si+1的最长公共前缀。现在给定a1a2.
阅读全文
POJ-2516 Minimum Cost(最小费用最大流)
摘要:题意:有n个商店,卖k种物品,有m个供应商,不同的供货商存货不同,不同商店对不同需求量也不同,运输的费用也不同,求满足所有店主要求的最小运输费用。 分析:样例中的数据解释:。 供应是否满足需求的条件? 1.每种物品的总供应量>=每种物品的总需求量 如何求k种物品的总的最小费用?我们可以跑k次费用流,
阅读全文
POJ3261-Milk Patterns(后缀数组)
摘要:题意:给定一个整数序列,求这个整数序列中至少重复出现K次的子串的最大长度。 分析:我们求出lcp[]数组:相邻后缀的最长公共前缀,我们二分长度,然后判断是否存在一段连续的一组的长度>=二分的长度,并且至少存在k次。 #include <iostream> #include <cstdio> #inc
阅读全文
HDU-1300 Pearls(斜率DP)
摘要:分析:假设dp[i]为购买前i种珍珠花费的最小价格,我们可以得到dp转移方程,\(dp[i] = min\{(cnt[i] - cnt[k] + 10) * p[i] + dp[k]\}(1 <= k < i)\),我们可以对方程式进行变形,\(dp[k] = p[i] * cnt[k] + dp[
阅读全文
HDU-4528 小明系列故事-捉迷藏(BFS)
摘要:分析:我们可以预处理出从**'D','E'**往四个方向,能被其它格子看到的坐标。然后用一个状态数组标记走过的格子,即$st[pos.y][pos.x][d][e]$,前两维表示走过的格子,第三维表示是否看到大明,第四维表示是否能看到二明。 #include <iostream> #include
阅读全文
HDU-2829 Lawrence(斜率DP)
摘要:题意:有一排仓库,每个仓库都有个价值,可以炸掉两个仓库之间的铁路,如果仓库按顺序是4 5 1 2,那么整个路段的总价值为4 * 5 + 4 * 1 + 4 * 2 + 5 * 1 + 5 * 2 == 49,我们可以炸掉5 1之间的路段,那么总价值将变为4 * 5 + 1 * 2 == 22,求炸掉
阅读全文
HDU - 3507 Print Article(斜率DP)
摘要:题意:给出N个单词,每个单词有个非负权值Ci,现在要将它们分成连续的若干段,每段的代价为此段单词的权值和的平方,还要加一个常数M。现在想求出一个最优方案,使得总费用之和最小。 分析:斜率DP优化,DP转移方程式为$f[i] = min(f[j] + (sum[i] - sum[j]){2} + m)
阅读全文
POJ-1743 Musial Theme(后缀数组 + 二分)(男人八题)
摘要:题意:有N(1 ⇐ N ⇐ 20000)个音符的序列来表示一首乐曲,每个音符都是1...88范围内的整数,现在要找一个重复的子串,它需要满足如下条件:1.长度至少为5个音符。2.在乐曲中重复出现(就是出现过至少两次)。(可能经过转调,"转调"的意思是主题序列中每个音符都被加上或者减去了同一个整数值)
阅读全文
CodeForces 1385E. Directing Edges(拓扑排序)
摘要:题意:你被给予了n个点m条边。不保证这个图是否联通。一些边已经被定向了,并且你无法改变它们的方向。一些边还没有定向,你需要为这些边选择一些方向。你需要给这些没有定向的边定一个方向,使得这个图是有向无环图。 分析:将所有边存在一个数组里,然后对有向图的边进行拓扑排序,得到所有顶点依次出现的顺序,我们用
阅读全文
POJ-2019 Cornfields(二维RMQ)
摘要:分析:$f[i][j][k]$表示$i到2k$行和$j到2k$列的矩阵中的最大值,可以从四个部分状态转移过来,\(f[i][j][k - 1], f[i + (1 << (k - 1))][j][k - 1]), f[i][j + (1 << (k - 1))][k - 1], f[i + (1 <
阅读全文
POJ-1050 To the Max(最大子矩阵和)
摘要:题意:一个矩阵的大小为$N * N$。求这个矩阵中的最大子矩阵和,(N ⇐ 100)。 分析:先考虑一维的状况,即$dp[i] = dp[i - 1] < 0 ? val[i] : dp[i - 1] + val[i]$,我们可以把从第i行到第j行的每列数加起来,然后变成一维数组,存储在f[]数组中
阅读全文
POJ-3368 Frequent values(RMQ)
摘要:题意:你被给予了一个非单调递减的n个数字的序列a1, a2, ..., an。除此之外,你被给予了q个询问,每个询问由i, j(1 ⇐ i ⇐ j ⇐ n)。求这个区间内出现最多的数的次数。 分析:这是一个非单调递减的序列,比如样例中的-1 -1 1 1 1 1 3 10 10 10,我们可以得到每
阅读全文
POJ-2217 最长公共子串
摘要:题意:给定两个字符串S和T。请计算两个字符串最长的公共字符串子串的长度。 分析:考虑问题的简化版,计算一个字符串中至少出现两次的最长子串。答案一定会在后缀数组中相邻两个后缀的公共前缀之中,所以只要考虑它们就好了。我们可以合并两个字符串,利用一个字符隔开,然后通过求高度数组,然后把问题求解出来。 #i
阅读全文
2020牛客暑期多校训练营(第三场)
摘要:A.Clam and Fish (题目链接:https://ac.nowcoder.com/acm/contest/5668/A) 题意:1.游戏有n阶段,从1到n编号 2.4种类型的阶段(0~3) 0:0鱼 0蛤 1:0鱼 1蛤 2:1鱼 0蛤 3:1鱼 1蛤 每个阶段,都可以执行如下4个动作中的
阅读全文
POJ-3581 Sequence(后缀数组)
摘要:题意:给定N个数字组成的序列$A_1, A_2, ..., A_n$。其中$A_1$比其它数字都大。现在要把这个序列分成三段,并将每段分别反转,求得到的字典序最小的序列是什么?要求分得的每段都不为空。 分析:首先确定第一段的分割位置。这很好说,由于$A_1$比其它数字都大,确定第一段的分割位置只需要
阅读全文
POJ-2195 Going Home(费用流)
摘要:题意:有一张地图,m表示人,h表示房子,每个房子只能进一个人,房子数等于人数。为每个人分配一个房子,求每个人到每个房子的最短距离之和。 分析:最小费用流。从源点向每个人连一条容量为1的边,从每个人向每个房子连一条容量为1的边,费用为汉密尔顿距离,再从每个房子向汇点连一条容量为1,费用为0的边。 #i
阅读全文
牛客编程巅峰赛S1第3场 - 青铜&白银
摘要:B.不可思议 题目链接:https://ac.nowcoder.com/acm/contest/6220/B 分析:可以发现对于u = i + 1, v = (s4 % i) + 1,也就是每次u都会连一个编号小于它的节点,那么我们可以直接开一个数组fa[],暴力往上爬,爬到根节点。 using L
阅读全文
POJ1087-A Plug for UNIX(最大流)
摘要:题意:买了n个插座,m个电器,k个转换器。\(n(1 <= n <= 100)(1 <= m <= 100)(1 <= k <= 100)\),转换器会把$s1 s2$中的s2插座转换成s1插座。 //插座个数 4 A B C D //插头个数 5 laptop B phone C pager B
阅读全文
CodeForces 486D.Valid Sets(树形DP)
摘要:题意:给出一个n个节点的连通图,问有多少个子集,使得子集中节点的最大值减最小值的差值不大于d。子集不得为空,子集需要是一个连通图。 分析:第一行d,n。\((0 <= d <= 2000, 1 <= n <= 2000)\)。第二行n个数字ai表示每个节点的权值$(1 ⇐ ai ⇐ 2000)。$我
阅读全文
CodeForces 446B. DZY Loves Modification(优先队列)(状态生成)
摘要:题意:据我们所知,DZY喜欢玩游戏,一天DZY决定去玩一个$n * m$的矩阵。为了更加精准,他决定去修改这个矩阵k次。每次修改是如下的两个操作: 1.选择矩阵中的一行,获得这一行中的数,将这一行上的每一个数减去p。 2.选择矩阵中的一列,获得这一列中的数,将这一列上的每一个数减去p。 分析:经典题
阅读全文
CodeForces 524E. Rooks and Rectangles(线段树)(排序解决偏序)
摘要:题意:给出一张地图,一个n * m的方格图。 给出K个监督者的位置,每个监督者可以监视他所处的行和列上的每一格位置。 一个区域被认为是安全的,当且仅当区域中的每一个方格都被监督者监视着。(区域外的监督者无法监视这个区域中的方格) 现在你需要回答q次询问。 每次询问包含四个数字x1 y1 x2 y2表
阅读全文
CodeForces 448C. Painting Fence(搜索)
摘要:题意:游戏共有两种操作 操作1,将其中一列的格子全部消除 操作2,选择一个连续的区间,在这个区间里,\(不存在某一列为空(已经被消除)\),然后让这个区间的每一列都消除一格。 两种操作花费都为1。 现在给出游戏初始的样子,请你计算通过这个游戏的最小花费。 分析:搜索做,对于一个区间来说,如果横着减去
阅读全文
CodeForces 446A. DZY Loves Sequences(最长上升子序列)
摘要:题意:给定一个长度为n的序列,可以修改任何一个字符,求修改后最长的单调严格上升子序列(必须是连续的)。 分析:\((1 <= n < 10^5)\),数据范围很大,不能使用$o(n^2)$的算法。所以我们可以从线性角度考虑,一种常见的套路是枚举修改点,然后求最大值。我们只需要分别求出两端的情况即可,
阅读全文
CodeForces - 456 B. Fedya and Maths(找规律)
摘要:题意:请你输出$(1n + 2n + 3n + 4n) % 5$的结果。\(n(0 <= n <= 10^{100000})\)。 分析:一个数能否被4整除,只需要看最后两位,因为任何一个数都能化成$a * 100 + b$的形式,因为$100$能被4整除,所以只需要看b能否被4整除即可。这道题可以
阅读全文
2020牛客暑期多校训练营(第一场)
摘要:F.Infinite String Comparision 题目链接:https://ac.nowcoder.com/acm/contest/5666/F 分析:如果求两个字符串的长度的lcm的话,会爆内存。因此,尝试比较长度的两倍即可,根据周期性定理,如果长度等于$a + b - gcd(a, b
阅读全文
POJ3281-Dining(最大流)(拆点)
摘要:题意:牧场主为N只牛(1 ⇐ N ⇐ 100)准备了a(1 ⇐ a ⇐ 100)种可以吃的和b(1 ⇐ b ⇐ 100)种可以喝的。每只牛的克隆体都有各自喜欢的食物和饮料,而每种食物或饮料只能分配给一只牛,最多有多少只牛可以同时得到喜欢的食物和饮料? 分析:一只牛只要获得它的喜欢清单中的一种食物和一
阅读全文
POJ3436-ACM Computer Factory(最大流)
摘要:题意:每台ACM电脑都由P个零件组成。当一台电脑的每个零件都有的时候,那么这台电脑就可以拿来参赛了。电脑工厂准备用N台机器来生成这些电脑,每台电脑会接受一些零件不足的半成品,并生产出一台电脑,这台电脑可能是完成品或者是半成品。每台机器的效率由它的**每单位时间生成的电脑数量,输入规格和输出规格所决定
阅读全文
A.牛牛扔牌(双端队列)/B.疯狂过山车(最长上升子序列)/C.牛牛的棋盘(容斥原理)
摘要:A.牛牛扔牌(双端队列) 题目链接:https://ac.nowcoder.com/acm/contest/6219/A 分析:支持从牌顶拿出和牌底拿出,可以想到一个数据结构(双端队列),于是我们可以用STL的deque,或者自己写一个。 class Solution { public: /** *
阅读全文
CodeForces 665E. Beautiful Subarrays(字典树)(贪心)(异或前缀和)
摘要:题意:给定一个长度为n(1 ⇐ n ⇐ 1e6)的数组a[i](0 ⇐ a[i] ⇐ 1e9)和k(1 ⇐ k ⇐ 1e9)。求有多少个区间[l, r]是合法的。我们认为一个区间是合法的,当且仅当$a[l]\oplus a[l + 1]\oplus a[l + 2] \oplus ... a[r]
阅读全文
CodeForces 455C.Civilization(并查集)(树的直径)
摘要:题意:给出一个由n个点,m条边组成的森林,两种类型共k次操作。 类型一:给出点x,输出点x所在的树的直径的大小。 类型二:给出点x,y(如果x,y在同一棵树中忽略此操作),在x所在树中选一个结点,在y所在的树中选择一个结点,连接这两个结点,要求使生成的树的直径最小。 分析:首先给出公式,假设x所在的
阅读全文
CodeForces 1021B. Chemical table(并查集)
摘要:题意:给定一个n * m的矩形,每个格子有两种颜色,一开始有t个格子上是黑色。对于任意的两行两列,如果交汇的四个格子中有三个是黑色,那么第4个会被自动变成黑色。问你至少需要手动涂黑几个格子,可以使得整个矩形内的格子都变成黑色。 分析:对于三个已经涂黑的格子$(r1, c1)(r1, c2)(r2,
阅读全文
CodeForces 961E. Tufurama(主席树)
摘要:题意:给定一个长度为n(1 ⇐ n ⇐ 3e5)的数组a[i](1 ⇐ a[i] ⇐ 1e9)。求有多少对下标(l, r)(1 ⇐ l < r ⇐ n)是合法的。我们认为一对下标是合法的,当且仅当l < r, a[l] >= r, a[r] >= l三者同时成立。n, a[i]都是整数。 分析:典型
阅读全文
CodeForces 1024C. Array Product(模拟)(分类讨论)
摘要:题意:给定一个长度为n(2 ⇐ n ⇐ 3e5)的数组$a[i](-1e9 ⇐ a[i] ⇐ 1e9)$,n和a[i]都是整数。你的任务是留下一个可以尽可能最大的数字。你可以进行n - 1次下面的操作直到留下一个最大的数字。 操作1:选择一对下标(i, j)满足(1 ⇐ i, j ⇐ n, i !=
阅读全文
CodeForces 558C.Amr and Chemistry(多源BFS)
摘要:题意:给定一个序列ai,你需要通过下面两个操作让序列中的所有数相等。 1.选中某个数ai, ai = ai * 2 2.选中某个数ai, ai = ai / 2(如3 / 2 = 1) 求使全部数都相等的最小操作数。 分析:这是道BFS,需要对每个数都BFS一下,搜索出这个数所能到达的每个数,累加到
阅读全文
CodeForces 572C. Lengthening Sticks(不定方程的根的方案个数)
摘要:题意:给你三条边$x,y,z$,你可以给三条边各自增加任意数值,但是增加的总和最多为$w$。求可以组成三角形的方案数。 分析:设$x y z$的增量为p1,p2,p3,假定$p1 + p2 + p3 = t,t\in{[0, w]}$,题目中要求的增量可以为0,如果按平常来说,对于形如$p1 + p
阅读全文
HDU-2899 Strange fuction
摘要:题意:有个方程组为$F(x) = 6x^6 + 8x6 + 7*x3 + 5x^2 - yx$,\(定义域为[0, 100]\),求它的最小值,每次给定一个实数y。 分析:可以发现这个函数的导函数为增函数,我们可以二分求出零点,然后在零点下面的值为负,在零点上面的值为正,代表原先的函数图像为凹函数。
阅读全文
CodeForces 349C. Mafia(二分)
摘要:题意:有n个人玩狼人杀,每个人都有最少的局数作为玩家,给定n个玩家至少玩的局数,求至少需要多少局狼人杀可以使所有人玩得尽心。 分析:二分玩的局数x,对于每个人,都至少玩a[i]局,因此,二分的下界为$max(a[1], a[2], ..., a[n])\(,对于一个分界点,如果\)(n - 1) *
阅读全文
POJ-3304 Segments(判断直线和线段的相交)
摘要:题意:给定n条在二维平面上的线段,写一个程序,判断是否存在一个直线,使得所有的线段投影到这根直线上,至少存在一个公共点。 分析:从侧面考虑,如果存在一根直线,使得所有线段到这根直线上的投影至少有一个公共点,那么对所有投影的交集区域做一根垂线,可以穿过所有的线段。从而转换为找到一根直线,使得这根直线可
阅读全文
POJ-2318 TOYS(二分)(叉乘)(判断点在直线的哪侧)
摘要:题意:给出一个箱子的左上角和右下角的坐标,可以插入一些板子,每块板子的上顶点和下顶点。然后给定一堆玩具,扔到箱子里,求每个分隔区域里面的玩具数量。 分析:因为板子的坐标是按顺序从小到大给出的,我们的一个点,如果在一个板子的左边,那么就在这块板子后面的板子的坐标,但是在左侧板子的右边,具有单调性,可以
阅读全文
B.魔法数字(BFS搜索)/C.牛妹的春游(二维费用的背包问题)
摘要:B.魔法数字 题目链接:https://ac.nowcoder.com/acm/contest/6218/B 分析:像这种生成数字的题目,可以用BFS,每次操作当成一次花费+1。需要剪枝。 class Solution { public: /** * 返回最后要输出的答案 * @param n in
阅读全文
UVA-11437 Triangle Fun(梅涅劳斯定理)(三等分点)
摘要:题意:如下是一个三角形ABC.$点D,E和F是三角形ABC的三等分点,$求$三角形PQR$的面积。 分析:三等分点的坐标可以推导出来,比如求D的坐标,D的坐标为$(\frac{2 * B.x + C.x}{3}, \frac{2 * B.y + C.y}{3})$,然后求出$三个交点P, R, Q$
阅读全文
UVA-10674 Tangents(求圆和圆的切线)(计算几何)
摘要:题意:求圆和圆的切线,并将每根直线按在第一个圆的切点排序。 分析:排序可以使用冒泡,记住比较大小的时候要处理精度问题。 #include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <cmath
阅读全文
HDU-5955 Guessing the Dice Roll(AC自动机 + 概率DP + 高斯消元)
摘要:题意:这里有N个玩家在玩一个猜测游戏,每个玩家猜测一个由{1, 2, 3, 4, 5, 6}组成的长度为L的序列,那么一个骰子会被不断地投掷直到猜中一个序列,那么这个人就会赢得游戏。 分析:设$dp[i][j]\(:表示投掷了i个字符,走到AC自动机的第j个位置的概率,可以知道dp[i][j]可以由
阅读全文
LightOJ-1151 Snakes and Ladders(高斯消元)(概率DP)
摘要:题意:"蛇还有梯子"是一个在孟加拉国非常寻常的游戏。这个游戏简单到随便找到一个人都可以玩这个游戏。这个游戏的规则如下: 1.这里有一个100 * 100的棋盘,每个棋盘的数字从1到100. 2.你初始的位置在1. 3.每时你会投出一个骰子,这个骰子包含1~6的数字. 4.棋盘上有一些蛇和一些梯子。梯
阅读全文
UVA-11796 Dog Distance
摘要:题意:两只狗,Ranga和Banga,分别在两条不同的路径上奔跑。他们每个人都花费了T秒在不同的速度下,Ranga用一个均匀速度Rm/s奔跑,Banga用一个均匀速度Sm/s奔跑。两只狗在在起点和终点的时间是相同的。让我们定义D(t)为两只狗在t时相距的距离。狗的距离定义为他们在他们的旅程的最大距离
阅读全文
LightOJ - 1104 Birthday Paradox
摘要:题意:一些时候一些数学理论难以去信服。一个比较寻常的问题是$生日悖论$。假设你在一个23个人的房间里,包括你自己。那么至少2个人的生日相同的概率为$50%$,你被给予了一年的的天数,假设你在不同的星球,比如,火星,一年是669天。你需要去寻找你至少要邀请的人数,使得有2个人的生日相同的概率至少为0.
阅读全文
LightOJ1079. Just another Robbery(01背包)(概率)
摘要:题意:哈利波特想去挣快钱。他决定去抢银行,但是他的朋友-赫敏和罗恩觉得他会有p概率被抓住,他们认为他安全,如果他被抓的概率低于p。 分析:设f[i][j]为前i个银行抢劫j元被抓的概率,如果对于当前不抢劫银行的决策,那么f[i][j] = f[i - 1][j],否则f[i][j] = f[i -
阅读全文
CodeForces 1375D. Replace by MEX
摘要:题意:你被给予了一个数组,包含n个[0, n]的整数。每一次操作,你可以选择数组中的一个元素替换成这个数组的MEX。例如,如果数组是[0, 2, 2, 1, 4],你可以选择第二个元素替换成整个数组元素的MEX,数组会变成[0, 3, 2, 1, 4]。\(MEX的定义为不包含这个于这个数组的最小的
阅读全文
CodeForces 674B.Bear and Two Paths(构造)(思维)
摘要:题意:Bearland有n个城市,从1到n编号。城市通过双向道路连接,每条道路连接了两个不同的城市。Bear Limak想从城市a去到城市b,这里没有直达的路从a直接到b,必须经过一些城市,具体来说,他要从a到b,每个城市必须都经过一次,确切地来说,这里存在一个序列,\(v1,v2,...,vn\)
阅读全文
POJ3259.Wormholes
摘要:题意:教学楼里有很多教室,这些教室由双向走廊连接。另外,还存在一些单向的秘密通道,通过它们可以回到过去。现在有N(1 ⇐ N ⇐ 500)个教室,编号1...N,M(1 ⇐ M ⇐ 2500)条走廊,和W(1 ⇐ W ⇐ 200)条秘密通道。 DY在养猫之余,还是一个时间旅行爱好者。她希望从一间教室
阅读全文
CodeForces 1374A.Required Remainder
摘要:题意:你被给予了三个整数x,y和n。你的任务是找到一个最大的k,满足$0 ⇐ k ⇐ n$,使得$k\quad mod\quad x = y$。 分析:令k = p * x + y,满足k ⇐ n,即$p * x + y ⇐ n$,那么$p = \lfloor \frac{n - y} \rfloo
阅读全文
HDU-1541 Stars(二维偏序问题)
摘要:题意:天文学家经常检测星星地图,星星以点的坐标显示在平面上,并且每个星星都有它的笛卡尔坐标。一个星星的等级由小于等于它的x坐标和小于等于它的y坐标的星星数量决定。天文学家想知道每个等级的星星数量。 分析:我们可以先排序一维,把所有星星按照x坐标排序,再用树状数组维护另一维,从左到右插入每个星星的y坐
阅读全文
CodeForces 1244D. Paint the Tree
摘要:题意:树是一个无向联通的无环图,现在给你一棵树,你有三种不同的颜色1,2,3可以选择,你要把树上的每个点涂一种颜色,使得任何一条由三个不同的点构成的路(这一段路上只能有三个点,就是0-0-0),他们之间的颜色是不同的。现在给你三种颜色,每种颜色染每个点需要的花费。请你给出一种染色的方案,满足以上条件
阅读全文
CodeForces 106C. Buns
摘要:题意:wzc有n份面粉,有m种糕点可以制作。每种糕点的制作除了面粉之外还需要对应的馅料(每种糕点与其馅料是一一对应的)。对于第i种糕点,目前剩余的对应馅料还有ai份,制作一份糕点需要bi份馅料和ci份面粉,可以销售处di元钱。当然他也可以选择不加馅料直接卖,利用c0的面粉制作出一份糕点,可以售出d0
阅读全文
CodeForces 1373D. Maximum Sum on Even Positions(最大连续子段和)
摘要:题目:你被给予了一个n个整数的数组a。数组的下标从0开始。你可以逆置一个数组的子数组(连续的)最多一次,你的任务是使得这个数组的偶数位置的数字的和最大。 分析:奇数长度的子数组翻转并不会改变偶数位置的数字,因此,我们只需要考虑长度为偶数的子区间。偶数长度的子数组我们有两种情况,一种是偶数位置开始,奇
阅读全文
CodeForces 438D. The Child and Sequence(线段树区间更新)
摘要:题意:给定一个数组a[1],a[2],...,a[n],他可以进行如下的m个操作,一个操作可以是如下三个的其中一个:1.打印[l, r]的和,即求$\sum_^a[i]$。2.对[l, r]之间的每个数取模x,\(a[i] = a[i]\quad mod\quad x\)。$3.让a[k] = x$
阅读全文
CodeForces 1373C. Pluses and Minuses
摘要:题意:你有一个字符串只包含+和-,你可以进行一些程序在这个字符串上,这个程序的操作如下。 分析:可以发现,当外层循环结束时,依赖的是内层循环的每一次cur都>=0,意味着当cur初值为这个字符串内部前缀和的最小值的绝对值时(当内部有负数的前缀和时),那么整个程序就会结束。即$cur >= abs(m
阅读全文
CodeForces 2A. Winner(模拟题)
摘要:题意:给定n轮游戏,每轮游戏都有1个人的名字和增加或者减少的分数。比赛结束后,如果一个人的负数为负数,那么他就被淘汰了。我们求出最大分数的人的名字,如果这个最大分数有多个,我们就求出这些最大分数中最先达到>=这个最大分数的人的名字。 分析:用$STL map$模拟,我们不用管最后分数为负的人,第一轮
阅读全文
CodeChef - ECJN209 H - Happy Birthday Horsbug98
摘要:题意:给定6个品牌的智能手机,从1~6编号。这里有N个智能手机,有价格pi和品牌编号bi。每个顾客喜欢给定品牌子集的智能手机,并且他准备买价格为第k大的手机。你会有Q个询问,每个询问给出顾客喜欢的品牌子集和k,输出这个手机价格。 分析:品牌个数很小,我们可以考虑$状态压缩$,我们把所有子集的组合用二
阅读全文
|