- 博客(456)
- 收藏
- 关注
原创 P1376 [USACO05MAR] Yogurt factory 机器工厂
题目告诉我们每一周都需要卖出y个商品,要求最小代价。也就是求每一周最小的单价。显而易见,第i周的单价是可以使用第i-1周的。举例:第i-1周单价为5,第i周单价为10。如果还不明白,第i+1周单价为15。
2025-10-16 19:33:05
178
原创 P2242 公路维修问题
可以看成总共管制的道路是最大-最小。为了尽量小的路段,我们就需要找到两个坑直接较大的值,让这个路段不管制。注意我们计算路段的时候要-1,因为41 42,之间管制距离是0.
2025-09-18 23:46:54
145
原创 P3918 [国家集训队] 特技飞行
因为如果连续进行相同的动作,乘客会感到厌倦,所以定义某次动作的价值为(距上次该动作的时间) ×ci,若为第一次进行该动作,价值为 0。同一个动作,价值为ci*(最后一次出现的时间-首次出现的时间)。所以我们要使最大的ci匹配到最大的时间差。
2025-09-14 16:08:46
182
原创 P1106 删数问题
贪心思维,对于1234,和4321删一个数,我们删除结果为123,321.这是因为数字大且靠前的数字删除。也会发现,s[i] > s[i+1]可以删除当前字符i。
2025-09-05 19:05:50
252
原创 P3817 小A的糖果
任意两个相邻的盒子中糖的个数之和都不大于 x,至少得吃掉几颗糖。所以贪心,每次吃掉糖果都尽可能使得左右两对糖果减少糖果。所以每对糖果盒相加大于x时候,减去右边的糖果盒,因为这样会影响两对糖果盒。会出现出现糖果盒为负数的情况,是因为左边糖果盒数量过大,倒置减去的数值很大。满足前提的条件就是左边的糖果盒<x。所以我们要从第一个糖果盒开始判断,或者说可以在加入一个0个数的糖果盒在队首。
2025-09-02 11:39:29
312
原创 CF2117A False Alarm
Yousef 正在一个走廊的入口,这个走廊上排列有 n 个门,顺序编号为 1,2,…如果一扇门开着,那么 Yousef 可以花费 1 秒通过这扇门。不过,Yousef 可以在任意时刻使用一个特别的按钮,但最多只能使用一次。输入数据的第一行包含一个整数 t(1≤t≤1000),表示测试用例的个数。例如,yeS,yes,Yes,YES 都会被视为肯定回答。对于每个测试用例,如果 Yousef 可以抵达出口,输出 YES,否则输出 NO。你的任务是判断 Yousef 能否在只使用一次按钮的限制下通过所有门。
2025-08-18 16:59:34
385
原创 CF2121C Those Who Are With Us
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。,aim(1≤aij≤100),表示矩阵 a 的元素。每个测试用例的第一行包含两个整数 n 和 m(1≤n,m≤103),表示矩阵的行数和列数。对于每个测试用例,输出一次操作后矩阵 a 中的最小最大值。在前三个测试用例中,你可以选择 r=1 且 c=1。在第四个测试用例中,你可以选择 r=1 且 c=2。在第五个测试用例中,你可以选择 r=2 且 c=3。在第六个测试用例中,你可以选择 r=3 且 c=2。由 ChatGPT 4.1 翻译。
2025-08-17 20:24:20
405
原创 CF2121B Above the Clouds
例如,字符串 "code" 和 "forces" 的连接结果为 "codeforces"。它们分别为 a="a",b="a",c="a"。a 和 c 的连接结果为 a+c="aa",b 是该字符串的子串。在第七个测试用例中,可以选择 a="ab",b="a",c="ca"。a 和 c 的连接结果为 a+c="abca",b 是该字符串的子串。在第六个测试用例中,可以选择 a="a",b="ab",c="b"。a 和 c 的连接结果为 a+c="ab",b 是该字符串的子串。否则输出 "No"。
2025-08-17 17:31:40
429
原创 CF2121A Letter Home
起初,你在数轴上的位置 s,每一步你可以向左或向右移动一个单位长度。请你求出在整个移动过程中,将数组 A 中的每个位置至少访问一次的最小移动步数。每个测试用例的第一行包含两个整数 n 和 s(1≤n≤10,1≤s≤100),第二行包含 n 个整数 ai(1≤ai≤100)。题目给出的s,是数轴上的坐标。用例 5:可以采取以下路径:2→1→2→3,步数为 3。用例 2:可以采取以下路径:2→1,步数为 1。用例 3:可以采取以下路径:1→2,步数为 1。第一行包含一个整数 T(1≤T≤1000)。
2025-08-17 16:47:02
349
原创 MC0433石板上的序列
江东群臣拿出一块神秘石板,上面刻着一个长度为 n 的仅包含数字 0 或数字 1 的序列 a。群臣冷笑道:“若你能算出来,我们便信服诸葛亮先生之才!” 小码哥跟在旁边仔细一看,石板上定义了一个函数 f(l,r),表示将子区间 al∼ar 变成从小到大有序的最小操作次数(每次操作可以交换相邻两个元素)。群臣要求小码哥计算 ∑i=1n∑j=inf(i,j) 的值,并输出其对 998244353 取模的结果。第二行一个长度为 n 的仅包含字符 0 或者字符 1 的字符串,表示序列 a。
2025-08-16 16:23:57
264
原创 MC0439符号统计
字符串 s 长度为 n,小码哥需要对它进行 q 次询问,每次询问包括两个参数 l,r (l ≤ r),他必须迅速回答区间 s_l ~ s_r 中,有多少种字母出现次数为偶数,有多少种为奇数。在华容道放曹的紧张时刻,小码哥接到了一个看似微不足道却至关重要的任务:解读一条仅由小写英文字母组成的神秘字符串 s,这条字符串隐藏着敌军的行军路线和计划。输出格式:输出 q 行,每行两个整数 x,y,x 表示出现次数为偶数的字母数量,y 表示出现次数为奇数的字母数量。MC0439・符号统计。占用内存:256 M。
2025-08-15 20:44:23
295
原创 MC0423铺砖块
法场附近有一处隐蔽的藏身之所,是个长为 a、宽为 b 的房间,好汉们计划在此提前布置。小码妹需要为这个房间铺满特殊的砖块,以便更好地隐藏和准备武器等物资。已知砖块长度为正整数,可以用不同的砖块来铺满。如果可以,输出 YES,否则输出 NO。输入格式:第一行一个整数 T (1≤T≤10⁵),表示测试数据组数。输出格式:输出 T 行,对于每组测试数据,输出 YES 或者 NO。2. 每块砖块的周长不能是 4 的倍数,否则可能会引起官兵的怀疑。1. 房间必须刚好被砖块铺满,且砖块不能有重叠。
2025-08-15 19:18:27
237
原创 MC0406最小公倍数
果然,火光四射,一个身穿红衣的孩童踏火而来,正是红孩儿!” 话音未落,天空中浮现出 n 团炽热的火焰,每团火焰都有一个独立燃烧周期a1,a2,...,an,表示它们在经过该时间后会重燃起,形成不灭的循环!红孩儿冷笑道:“这些火焰不会自行熄灭,只有找到一个它们共同的熄灭时刻,才能让它们同时熄灭!” 红孩儿继续冷笑道:“即便你算得出结果,还需要对 998244353 取模,否则火焰依旧不灭!” 沙僧擦了擦额头的汗:“小码哥,咱们的生死可全指望你了,快算算共同熄灭的时刻吧!MC0406・最小公倍数。
2025-08-15 14:01:03
179
原创 MC0405计算灵力值
MC0405・计算灵力值难度:黄金时间限制: 3 秒占用内存: 256 M报错唐僧师徒行至一座荒山,忽然狂风大作,天空瞬间阴云密布。悟空警觉地握紧金箍棒,低声道:“师父,妖气冲天,怕是白骨精又来了!果然,不远处一片白雾翻腾,白骨精变幻身形,施展妖法,召唤出一列神秘的魂骨灵珠。灵珠共有 n 颗,并按顺序从 1 到 n 编号,每颗上都刻着一个整数 ,,,,其中蕴含着不同的灵力。老妖阴笑道:“此阵乃我精心布下,若想破阵,你们需从中夺取足够的灵力,否则便永远留在此地!
2025-08-14 20:40:12
396
原创 MC0402括号序列
MC0402・括号序列难度:黄金时间限制: 2 秒占用内存: 256 M报错唐僧师徒途经一座神秘的古庙,庙前刻着一行字:“欲往夫赛,需解此阵!” 小码哥自告奋勇上前查看,发现地上刻着一串由 "(" 和 ")" 括号组成的符号(长度为偶数),显然是某种法阵,但次序混乱,使得灵气无法流转。小码哥看了一眼,笑道:“这法阵应该是要变成一套匹配的符号,才能显现出通往西天的正确道路,但怎么判断是否匹配呢?悟空指着庙旁的一块石碑说道:“规则在这儿!
2025-08-14 10:37:50
325
原创 MC0474赤壁战场
码哥跟随周瑜来到赤壁战场辅助破曹。赤壁战事复杂,曹军布置了一种特殊的阵法。这种阵法由神秘的优雅字符串组成。小码哥需要计算出有多少种长度为 n 的优雅字符串,才能协助周瑜成功破解曹军阵法。由于阵法威力巨大,结果需要对 998244353 取模。
2025-08-13 15:57:56
423
原创 MC0373・魔法少女小码妹外传之与小码哥的决斗
决斗的方式是一种卡牌游戏,规则十分简单,双方手里各有若干张牌,每张牌都有生命值和攻击力两种属性,每回合双方牌堆堆顶的第一张牌互相攻击,每张牌的生命值都会减去对方的攻击力值,当一张牌的生命值降至 0 及以下时,这张牌被移除出牌堆。接下来 n 行,依次表示小码妹从牌堆顶到牌堆底的手牌,每行两个整数 xi,yi ,分别表示牌的血量和攻击力;接下来 m 行,依次表示小码哥从牌堆顶到牌堆底的手牌,每行两个整数 ui,vi ,分别表示牌的血量和攻击力。,如果小码妹输了,输出。
2025-08-11 12:46:59
316
原创 CF2123A Blackboard Game
在样例二中,如果 Alice 选择了 0,那么 Bob 可以选择 3。然后如果 Alice 选择了 2,那么 Bob 可以选择 1。最终 Alice 无数可选,所以 Bob 赢了。游戏在其中一人无法操作时结束,最终无法操作的人输了。在样例一中,如果 Alice 选择了 0,那么 Bob 无法选择任何数,Alice 获胜。每组测试数据仅包含一行一个整数 n(1≤n≤100)表示黑板上写的数字个数。第一行,一个整数 t(1≤t≤100)表示测试数据组数。对于每组测试数据,如果 Alice 必胜,输出。
2025-08-09 15:37:57
412
原创 CF2126C I Will Definitely Make It
贪心思路,我们可以发现只要进入赌场(符合条件)使得金币数量上升,那么就是最优的。所以我们可以将赌场的左边界排序,金币数降序。遍历数组,需要满足当前金币大于等于赌场左边界,当前金币小于等于赌场最后得到的金币。简单来说,就是在给定初始硬币数和多个赌场规则(进入条件、兑换后的硬币数)的情况下,规划访问赌场的顺序,让最后硬币最多,要高效处理多组这样的情况。需合理选择访问顺序,使最终获得的硬币数最大,要处理多组测试用例,输出每组的最大硬币数。枚硬币,访问赌场需满足当前硬币数在。(玩完后获得的硬币数)描述。
2025-08-09 01:30:13
321
原创 CF2126C I Will Definitely Make It
贪心思路,可以发现不被水淹没得情况下只要能往上走,那么就是最优的。所以我们可以将高度排序。但是起点高度不唯一,所以我们可以将大于起点高度的柱子压入数组排序。处理移动时间和水位上升的关系:由案例可以看出,球在柱子高度为h,水位要到达h+1才算淹没,所以我们可以计算球上升柱子的时间,再计算水上升水位,水位和原先柱子高度+1比较即可,小于等于的关系才算可以。在水位逐渐上升的环境中,判断能否从初始位置的塔开始,依次移动到所有更高的塔而不被淹没。输出:若能成功移动到所有更高的塔,输出 "Yes";
2025-08-09 01:26:08
143
原创 CF2126B No Casino in the Mountains
遍历数组,贪心思维,用变量cnt跟踪连续游玩天数,如果雨天重置,晴天计数。不存在先后顺序,可以用三个if。
2025-08-09 01:19:26
260
原创 P1690 贪婪的 Copy
Copy 从卢牛那里听说在一片叫 yz 的神的领域埋藏着不少宝藏,于是 Copy 来到了这个被划分为 n 个区域的神地。卢牛告诉了 Copy 这里共有 n 个宝藏,分别放在第 Pi 个(1≤Pi≤n)区域。Copy 很懒,只好来找你为他寻找一条合适的线路,使得他走过的距离最短。接下来一个 n×n 的矩阵,第 i+1 行第 j 列的数字表示区域 i, j 之间的距离。请注意的 i→j 距离并不一定等于 j→i 的距离。第 n+3 行共 P 个用空格隔开的整数,表示有宝藏的区域编号。
2025-08-07 17:36:51
354
原创 P1144 最短路计数
共 N 行,每行一个非负整数,第 i 行输出从顶点 1 到顶点 i 有多少条不同的最短路,由于答案有可能会很大,你只需要输出 ansmod100003 后的结果即可。1 到 5 的最短路有 4 条,分别为 2 条 1→2→4→5 和 2 条 1→3→4→5(由于 4→5 的边有 2 条)。接下来 M 行,每行 2 个正整数 x,y,表示有一条连接顶点 x 和顶点 y 的边,请注意可能有自环与重边。对于 100% 的数据,1≤N≤106,1≤M≤2×106。对于 20% 的数据,1≤N≤100;
2025-08-07 14:46:50
313
原创 P4568 [JLOI2011] 飞行路线
该航空公司一共在 n 个城市设有业务,设这些城市分别标记为 0 到 n−1,一共有 m 种航线,每种航线连接两个城市,并且航线有一定的价格。Alice 和 Bob 现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。接下来 m 行,每行三个整数 a,b,c,表示存在一种航线,能从城市 a 到达城市 b,或从城市 b 到达城市 a,价格为 c。接下来一行两个整数 s,t,分别表示他们出行的起点城市编号和终点城市编号。第一行三个整数 n,m,k,分别表示城市数,航线数和免费乘坐次数。
2025-08-07 14:43:46
233
原创 P1629 邮递员送信
他总共要送 n−1 样东西,其目的地分别是节点 2 到节点 n。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有 m 条道路。对于 100% 的数据,1≤n≤103,1≤m≤105,1≤u,v≤n,1≤w≤104,输入保证任意两点都能互相到达。第二行到第 (m+1) 行,每行三个整数,u,v,w,表示从 u 到 v 有一条通过时间为 w 的道路。注意2->1的距离,再反向建立图中,是1->2的距离,所以在反向建立图中,1是起点。第一行包括两个整数,n 和 m,表示城市的节点数量和道路数量。
2025-08-06 16:02:36
401
原创 P1395 会议
有一个村庄居住着 n 个村民,有 n - 1 条路径使得这 n 个村民的家联通,每条路径的长度都为 1。现在村长希望在某个村民家中召开一场会议,村长希望所有村民到会议地点的距离之和最小,那么村长应该要把会议地点设置在哪个村民的家中,并且这个距离总和最小是多少?若有多个节点都满足条件,则选择节点编号最小的那个点。接下来 n - 1 行,每行两个数字 a 和 b,表示村民 a 的家和村民 b 的家之间存在一条路径。对于 100% 数据 n ≤ 5 × 10⁴。第一行,一个数 n,表示有 n 个村民。
2025-08-06 14:28:21
215
原创 MC0364魔法链路
施放法术 4 需要法力运转 2,3,法力运转 2,3 均会获得法力运转 1 的 1 点魔力值,所以施放法术 4 的威力为(1+2)+(1+3)+4=11。小码妹学会了多重施法,也就是同时施放多个法术的能力,然而多重施法中每个最终施放的法术都需要一些前置的法力运转,这些中间的法力运转过程被称为魔法链路。施放法术 5 需要法力运转 3,法力运转 3 会获得法力运转 1 的 1 点魔力值,所以施放法术 3 的威力为1+3+5=9。:输出包含两行,第一行包含n个整数,为法力运转的最终顺序。
2025-08-02 22:49:06
237
原创 MC0351区间询问和
小码哥可以重新排列给出的 a 数组,使这 q 组询问所得结果之和最大,输出这个最大值。接下来 q 行,每组询问占一行,包含两个数li,ri。第二行输入 n 个数字,第 i 个数字为ai;有 n 个数字,为 a [1]…输入格式:第一行输入 n 和 q;输出格式:一个数,即上述答案。MC0351・区间询问和。
2025-08-02 17:02:06
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅