自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 C. Trapmigiano Reggiano(CF)

【代码】C. Trapmigiano Reggiano(CF)

2025-09-29 23:04:01 136

原创 E. Hidden Knowledge of the Ancients

大概率是用了unordered_map被卡哈希冲突。直接用map,时间复杂度O(n*logn)是能过的。)查询时间复杂度O(1),最坏的情况下时间复杂度。离散化是单 log,map就是用一次一次log。unordered_map在理想情况下(但一些情况下也会卡map。

2025-09-27 11:15:19 380

原创 D_Scammy_Game_Ad(CF)

从后往前推,乘法交换律结果不变。

2025-09-26 16:40:15 135

原创 P2704 [NOI2001] 炮兵阵地

现在,将军们规划如何部署炮兵部队,在防止误伤的前提下(保证任何两支炮兵部队之间不能互相攻击,即任何一支炮兵部队都不在其他支炮兵部队的攻击范围内),在整个地图区域内最多能够摆放多少我军的炮兵部队。如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。司令部的将军们打算在 N×M 的网格地图上部署他们的炮兵部队。仅一行,包含一个整数 K,表示最多能摆放的炮兵部队的数量。从图上可见炮兵的攻击范围不受地形的影响。表示),也可能是平原(用。

2025-09-24 13:17:25 372

原创 洛谷.P1879 [USACO06NOV] Corn Fields G,acwing 327. 玉米田

农夫约翰的土地由 M×N 个小方格组成,现在他要在土地里种植玉米。非常遗憾,部分土地是不育的,无法种植。而且,相邻的土地不能同时种植玉米,也就是说种植玉米的所有方格之间都不会有公共边缘。现在给定土地的大小,请你求出共有多少种种植方法。土地上什么都不种也算一种方法。

2025-09-24 00:12:15 207

原创 洛谷 P1896 [SCOI2005] 互不侵犯,acwing 1064. 小国王

在 n×n 的棋盘上放 k 个国王,国王可攻击相邻的 8 个格子,求使它们无法互相攻击的方案总数。

2025-09-23 17:32:29 230

原创 P4017 最大食物链计数

Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。接下来 m 行,每行两个正整数,表示被吃的生物 A 和吃 A 的生物 B。由于这个结果可能过大,你只需要输出总数模上 80112002 的结果。第一行,两个正整数 n、m,表示生物种类 n 和吃与被吃的关系数 m。一行一个整数,为最大食物链数量模上 80112002 的结果。给你一个食物网,你要求出这个食物网中最大食物链的数量。Delia 非常急,所以你只有 1 秒的时间。(这里的“最大食物链”,指的是。

2025-09-19 00:32:26 194

原创 P5146 最大差值

对于一个序列 A1​,A2​,⋯,An​,找出两个数 i,j(1≤i<j≤n),使得 Aj​−Ai​ 最大。接下来 n 行,每行一个整数,第 (i+1) 行的整数为 Ai​。现在给出这个序列,请找出 Aj​−Ai​ 的最大值。取最大的 a[ i ] - mn 即可。一行,为 Aj​−Ai​ 的最大值。记录第 i 项前的最小值为 mn,第一行为一个正整数 n。

2025-09-18 23:27:49 162

原创 P1964 【mc生存】卖东西

他要买 n 种物品,第 i 件物品的名字为 sti​,有 ai​ 件,价值为 bi​,一格可以放 ci​ 个。下面 n 行,第 i+1 行三个整数 ai​,bi​,ci​ 与一个字符串 sti​。如果物品的数量如果 > 最大可放入的数量,就再开一格放置剩余的,以此类推。每个物品的数量如果 < 最大可放入的数量,那也要占用一格。lcy0x1 去服务器的系统商店买东西。一开始他的背包里有 m 件不同的物品(相同的物品可以放同一格(只要没放满)。问:他跑一次最多能卖多少钱。一个人的背包有 21 格。

2025-09-18 17:19:34 419

原创 JSCPC/GDCPC 2025 J.Puzzle Competition(解谜游戏)

【代码】JSCPC/GDCPC 2025 J.Puzzle Competition(解谜游戏)

2025-09-17 21:56:08 262

原创 2025 CCPC 江西省赛 C. 虫洞(线段树+滑动窗口)

【代码】2025 CCPC 江西省赛 C. 虫洞(线段树+滑动窗口)

2025-09-15 11:16:04 100

原创 P1311 [NOIP 2011 提高组] 选择客栈

两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过 p。接下来的 n 行,第 i+1 行两个整数,之间用一个空格隔开,分别表示 i 号客栈的装饰色调 ai​ 和 i 号客栈的咖啡店的最低消费 bi​。第一行三个整数 n,k,p,每两个整数之间用一个空格隔开,分别表示客栈的个数,色调的数目和能接受的最低消费的最高值;

2025-09-14 19:58:17 292

原创 P1281 [CERC1998] 书的复制(二分)

现在要把 m 本有顺序的书分给 k 个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。共 k 行,每行两个整数,第 i 行表示第 i 个人抄写的书的起始编号和终止编号。k 行的起始编号应该从小到大排列,如果有多解,则尽可能让前面的人少抄写。大多数人的错误原因:尽可能让前面的人少抄写,如果前几个人可以不写则不写,对应的人输出。第二行 m 个整数,第 i 个整数表示第 i 本书的页数。

2025-09-13 16:58:33 169

原创 P1215 [USACO1.4] 母亲的牛奶 Mother‘s Milk

最初,a,b 桶都是空的,而 c 桶是装满牛奶的。有时,农民把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了。写一个程序去帮助农民找出当 a 桶是空的时候,c 桶中牛奶所剩量的所有可能性。只有一行,升序地列出当 a 桶是空的时候,c 桶牛奶所剩量的所有可能性。当然每一次灌注都是完全的。由于节约,牛奶不会有丢失。农民约翰有三个容量分别是 a,b,c 升的桶。单独的一行包括三个整数 a,b,c。

2025-09-12 22:37:08 574

原创 P1168 中位数

共 ⌊2N+1​⌋ 行,第 i 行为 A1…2i−1​ 的中位数。给定一个长度为 N 的非负整数序列 A,对于前奇数项求中位数。:在树状数组上二分查找第k小的数,利用树状数组的前缀和特性。:使用树状数组来维护每个离散化后的数值出现的次数。第二行 N 个正整数 A1…:将原始数值映射到1~n的范围内。第一行一个正整数 N。

2025-09-12 16:57:29 459

原创 P1122 最大子树和

一株奇怪的花卉,上面共连有 n 朵花,共有 n−1 条枝干将花儿连在一起,并且未修剪时每朵花都不是孤立的。每朵花都有一个“美丽指数”,该数越大说明这朵花越漂亮,也有“美丽指数”为负数的,说明这朵花看着都让人恶心。所谓“修剪”,意为:去掉其中的一条枝条,这样一株花就成了两株,扔掉其中一株。老师的任务就是:通过一系列“修剪”(也可以什么“修剪”都不进行),使剩下的那株(那朵)花卉上所有花朵的“美丽指数”之和最大。一个数,表示一系列“修剪”之后所能得到的“美丽指数”之和的最大值。老师想了一会儿,给出了正解。

2025-09-12 00:06:37 621

原创 P4105 [HEOI2014] 南园满地堆轻絮

小 Z 想要知道对于一首给定的曲子,如何通过提高音调或者降低音调,将它的音调修改的不下降,而且使得修改幅度最大的那个音符的修改幅度尽量小。即如果把一个包含 n 个音符的曲子看做是一个正整数数列 A1​⋯An​,那么目标是求另一个正整数数列 B1​⋯Bn​,使得对于任意的 1≤i<n 有 Bi​≤Bi+1​,而且使得 Ans=max{∣Aj​−Bj​∣,1≤j≤n} 尽量小。每个数据包含 7 个数:n,Sa​,Sb​,Sc​,Sd​,A1​,Mod,即共有 n 个音符,第一个音符为 A1​。

2025-09-11 22:30:14 358

原创 P4053 [JSOI2007] 建筑抢修

小刚在玩 JSOI 提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T 部落消灭了所有 Z 部落的入侵者。现在的情况是:T 部落基地里只有一个修理工人,虽然他能瞬间到达任何一个建筑,但是修复每个建筑都需要一定的时间。同时,修理工人修理完一个建筑才能修理下一个建筑,不能同时修理多个建筑。你的任务是帮小刚合理的制订一个修理顺序,以抢修尽可能多的建筑。接下来 N 行,每行两个整数 T1​,T2​ 描述一个建筑:修理这个建筑需要 T1​ 秒,如果在 T2​ 秒之内还没有修理完成,这个建筑就报废了。

2025-09-11 16:29:04 141

原创 P1141 01迷宫

有一个仅由数字 0 与 1 组成的 n×n 格迷宫。若你位于一格 0 上,那么你可以移动到相邻 4 格中的某一格 1 上,同样若你位于一格 1 上,那么你可以移动到相邻 4 格中的某一格 0 上。接下来 m 行,每行两个用空格分隔的正整数 i,j,对应了迷宫中第 i 行第 j 列的一个格子,询问从这一格开始能移动到多少格。下面 n 行,每行 n 个字符,字符只可能是 0 或者 1,字符之间没有空格。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。第一行为两个正整数 n,m。

2025-09-10 23:21:18 326

原创 P1137 旅行计划

现在对于所有的 i,都需要你为小明制定一条路线,并求出以城市 i 为终点最多能够游览多少个城市。所以他就需要选择最先到达的城市,并制定一条路线以城市 i 为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。这个国家有 N 个城市,编号为 1 至 N,并且有 M 条道路连接着,小明准备从其中一个城市出发,并只往东走到城市 i 停止。接下来 M 行,每行两个正整数 x,y,表示了有一条连接城市 x 与城市 y 的道路,保证了城市 x 在城市 y 西面。

2025-09-10 16:50:15 300

原创 P1383 高级打字机

早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧。插入字母的位置(第 i 个字母) = 文章已有字母的长度 + 1。以下 n 行,每行一个命令。保证输入的命令合法。每行输出一个字母,表示 Query 操作的答案。第 1 行:一个整数 n,表示操作数量。文章一开始可以视为空串。

2025-09-03 00:03:59 328

原创 P2163 [SHOI2007] 园丁的烦恼

看来一般的难题是难不倒这位园丁的,国王最后打算用车轮战来消耗他的实力: “年轻人,在我的花园里有 n 棵树,每一棵树可以用一个整数坐标来表示,一会儿,我的 m 个骑士们会来轮番询问你某一个矩阵内有多少树,如果你不能立即答对,你就准备走人吧!接下来 m 行,每行四个整数 a,b,c,d,表示查询以 (a,b) 为左下角,(c,d) 为右上角的矩形内部(包括边界)有多少棵树。接下来 n 行,每行两个整数 x,y,表示存在一棵坐标为 (x,y) 的树。第一行有两个整数 n,m,分别表示树木个数和询问次数。

2025-09-02 16:33:59 305

原创 P3939 数颜色

比如,银色的兔子最喜欢吃金色的胡萝卜,金色的兔子更喜欢吃胡萝卜叶子,而绿色的兔子却喜欢吃酸一点的胡萝卜……所以,为了使得胡萝卜喂得更加准确,小 C 想知道在区间 [lj​,rj​] 里有多少只颜色为 cj​ 的兔子。小 C 的兔子不是雪白的,而是五彩缤纷的。只需把版本 j 在 a[j] 的位置上 -1,在 a[j+1] 的位置上 +1 再再交换a[j]与a[j+1]的值即可。“1 lj​ rj​ cj​” :询问在区间 [lj​,rj​] 里有多少只颜色为 cj​ 的兔子;注意的点是记录这个数是否出现过,

2025-09-01 22:39:08 502

原创 P3755 [CQOI2017] 老C的任务

由于一个基站的面积相对于整个城市面积来说非常的小,因此每个的基站都可以看作坐标系中的一个点,其位置可以用坐标 (x,y) 来表示。接下来一共有 n 行,每行由 xi​,yi​,pi​ 三个空格隔开的整数构成,表示一个基站的坐标 (xi​,yi​) 和功率 pi​。接下来一共有 m 行,每行由 x1​,y1​,x2​,y2​ 四个空格隔开的整数构成,表示一次查询的矩形区域。现在你需要实现的功能就是,对于一个给定的矩形区域,回答该区域中(包括区域边界上的)所有基站的功率总和。中所有功率之和,(左右边界)

2025-09-01 15:34:15 457

原创 P6492 [COCI 2010/2011 #6] STEP

当左儿子的右端点与右儿子的左端点的值不同,表示父节点中间部分可以合并成连续子串,对于每次修改操作,输出一行一个整数表示序列 a 中最长的满足要求的子串的长度。每次修改后,请输出当前序列 a 中最长的满足要求的连续子串的长度。第一行有两个整数,分别表示序列的长度 n 和修改操作的次数 q。给定一个长度为 n 的字符序列 a,初始时序列中全部都是字符。接下来 q 行,每行一个整数,表示本次修改的位置 x。有 q 次修改,每次给定一个 x,若 ax​ 为。的字符串 s,若其中不存在连续的。,则称 s 满足要求。

2025-08-29 11:42:26 320

原创 P3373 【模板】线段树 2

第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值 ai​。第一行包含三个整数 n,q,m,分别表示该数列数字的个数、操作的总个数和模数。含义:输出区间 [x,y] 内每个数的和对 m 取模所得的结果。含义:将区间 [x,y] 内每个数乘上 k。含义:将区间 [x,y] 内每个数加上 k。输出包含若干行整数,即为所有操作 3 的结果。

2025-08-28 13:14:23 257

原创 P3870 [TJOI2009] 开关

现有 n 盏灯排成一排,从左到右依次编号为:1,2,……然后依次执行 m 项操作。每当遇到第二种操作时,输出一行,包含一个整数,表示此时在查询的区间中打开的灯的数目。接下来有 m 行,每行有三个整数,依次为:c、a、b。其中 c 表示操作的种类。第一行有两个整数 n 和 m,分别表示灯的数目和操作的数目。对懒标记取异或,(偶数次操作即关灯,奇数次为开灯)。a 和 b 则分别表示了操作区间的左右边界。明显,关灯数 = 区间灯的总数 - 开灯数。记录每个区间中开灯的数量。剩下的就是线段数板子。

2025-08-26 22:25:57 149

原创 P5002 专心OI - 找祖先

这个游戏会给出你一棵树,这棵树有 N 个节点,根结点是 R,系统会选中 M 个点 P1​,P2​⋯PM​,要Imakf 回答有多少组点对 (ui​,vi​) 的最近公共祖先是 Pi​。Imakf 是一个小蒟蒻,他最近刚学了 LCA,他在手机 APPstore 里看到一个游戏也叫做 LCA 就下载了下来。输出共 M 行,每行一个数,第 i 行的数表示有多少组点对 (ui​,vi​) 的最近公共祖先是 Pi​。此后 N−1 行,每行两个数 a,b,表示 a,b 之间有一条边。第一行三个整数 N,R,M。

2025-08-24 09:53:25 212

原创 P1351 [NOIP 2014 提高组] 联合权值

点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi​,每条边的长度均为 1。对于图 G 上的点对 (u,v),若它们的距离为 2,则它们之间会产生 Wv​×Wu​ 的联合权值。最后 1 行,包含 n 个正整数,每两个正整数之间用一个空格隔开,其中第 i 个整数表示图 G 上编号为 i 的点的权值为 Wi​。接下来 n−1 行,每行包含 2 个用空格隔开的正整数 u,v,表示编号为 u 和编号为 v 的点之间有边相连。请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?

2025-08-23 20:58:09 402

原创 P9246 [蓝桥杯 2023 省 B] 砍树

给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对 (a1​,b1​),(a2​,b2​),…,(am​,bm​),其中 ai​ 互不相同,bi​ 互不相同,ai​=bj​(1≤i,j≤m)。小明想知道是否能够选择一条树上的边砍断,使得对于每个 (ai​,bi​) 满足 ai​ 和 bi​ 不连通,如果可以则输出应该断掉的边的编号 (编号按输入顺序从 1 开始),否则输出。后面 n−1 行,每行两个正整数 xi​,yi​ 表示第 i 条边的两个端点。后面 m 行,每行两个正整数 ai​,bi​。

2025-08-23 13:42:09 366

原创 P4427 [BJOI2018] 求和

他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的 k 次方和,而且每次的 k 可能是不同的。此处节点深度的定义是这个节点到根的路径上的边数。之后每行三个空格隔开的正整数 i,j,k,表示询问从点 i 到点 j 的路径上所有节点深度的 k 次方和。之后 n−1 行每行两个空格隔开的正整数 i,j,表示树上的一条连接点 i 和点 j 的边。树的节点从 1 开始标号,其中 1 号节点为树的根。第一行包含一个正整数 n,表示树的节点数。之后一行一个正整数 m,表示询问的数量。

2025-08-23 11:43:41 313

原创 P2783 有机化学之神偶尔会做作弊

树上距离=dep[u]+dep[v]-2*dep[lca(u,v)],对答案还要加上1。73pts (#1,#3,#8没过) 要去重边,

2025-08-19 23:12:58 315

原创 AcWing 1172. 祖孙询问

给定一棵包含 n 个节点的有根无向树,节点编号互不相同,但不一定是 1∼n。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。

2025-08-19 11:32:51 188

原创 P2169 正则表达式

在 Internet 网络中的每台电脑并不是直接一对一连通的,而是某些电脑之间存在单向的网络连接,也就是说存在 A 到 B 的连接不一定存在 B 到 A 的连接,并且有些连接传输速度很快,有些则很慢,所以不同连接传输所花的时间是有大有小的。另外,如果存在 A 到 B 的连接的同时也存在 B 到 A 的连接的话,那么 A 和 B 实际上处于同一局域网内,可以通过本地传输,这样花费的传输时间为 0。接下来 m 行,每行三个整数 u,v,w,表示从电脑 u 到电脑 v 传输信息的时间为 w。

2025-08-16 21:52:25 350

原创 P3387 【模板】缩点

给定一个 n 个点 m 条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。对于 100% 的数据,1≤n≤104,1≤m≤1e5,0≤ai​≤1e3。第三至 m+2 行,每行两个整数 u,v,表示一条 u→v 的有向边。允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。第二行 n 个整数,其中第 i 个数 ai​ 表示点 i 的点权。第一行两个正整数 n,m。共一行,最大的点权之和。

2025-08-16 16:03:21 206

原创 P3916 图的遍历

给出 N 个点,M 条边的有向图,对于每个点 v,令 A(v) 表示从点 v 出发,能到达的编号最大的点。现在请求出 A(1),A(2),…接下来 M 行,每行 2 个整数 Ui​,Vi​,表示边 (Ui​,Vi​)。2.也可以用比较麻烦的tarjan,把连通的点记为一个大块,再搜一遍连通的大块,把较小的点更新。一行 N 个整数 A(1),A(2),…第 1 行 2 个整数 N,M,表示点数和边数。1.反向建图+反向遍历,dfs一搜答案就出来了。

2025-08-16 15:45:51 288

原创 P12348 [蓝桥杯 2025 省 A 第二场] 交互

有一个未知的下标从 1 到 m 的数组 a,小蓝每次可以进行一次询问 (l,r,p,q),然后交互程序会返回 ans 满足 l≤x≤rmin​a[x]−p≤y≤qmax​a[y]≥ans。给定小蓝的几次询问和交互程序的返回值,请你帮他求出 1≤x≤mmax​a[x]−1≤y≤mmin​a[y] 的可能的最小值。输出一行包含一个整数表示答案,即 1≤x≤mmax​a[x]−1≤y≤mmin​a[y] 的可能的最小值,如果无解请输出。显然 [L , R] 中的每一位减去[P, Q]的每一位 都恒大于 X。

2025-08-14 23:12:09 544 1

原创 P1938 [USACO09NOV] Job Hunt S

这项服务有 F (1≤F≤350) 条单向航线,每条航线是从城市 Ji​ 飞到另一座城市 Ki​(1≤Ji​,Ki​≤C),费用是 Ti​ (1≤Ti​≤50000) 美元。城市间有 P (1≤P≤150) 条单向路径连接,共有 C (1≤C≤220) 座城市,编号从 1 到 C。路径 i 从城市 Ai​ 到城市 Bi​(1≤Ai​,Bi​≤C),在路径上行走不用任何花费。接下来 F 行,每行 3 个用空格分开的整数,表示一条从城市 Ji​ 到城市 Ki​ 的单向航线,费用是 Ti​。

2025-08-12 16:23:31 295

原创 AcWing 890. 能被整除的数 (容斥原理)

给定一个整数 n 和 m 个不同的质数 p1,p2,…,pm。请你求出 1∼n 中能被 p1,p2,…,pm 中的至少一个数整除的整数有多少个。

2025-08-04 18:49:57 261

原创 P1115 最大子段和

给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。第二行有 n 个整数,第 i 个整数表示序列的第 i 个数字 ai​。选取 [3,5] 子段 {3,−1,2},其和为 4。第一行是一个整数,表示序列的长度 n。不难想到,一段区间的和等于。输出一行一个整数表示答案。,设答案区间左右端点位。要让区间之和最大,显然要。可以通过前缀和的性质。

2025-08-01 15:14:29 267

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除