自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 noi-2026年6月02号作业

c[x][y]=c[x-1][y+1]+c[x-1][y],当前有x个操作数,y个数在栈里面,状态转移,要么从操作数里面拿一个到栈里面,要么从栈里面移除一个。dp[i][1]=dp[i-1][1]+dp[i-1][2],dp[i][2]=dp[i][1]+dp[i-1][2],使用高精度防止爆long long。dp[i][j]=dp[i-1][j]+dp[i-1][j-a[i]],一个物品有选或者不选两种选择。dp[i]=dp[i-1]+dp[i-2],但是由于会爆longlong,所以使用高精度。

2026-06-05 10:36:12 191

原创 noi-2026年5月26号作业

一共24个,去掉+和=的四个,还剩下20个,去掉B的2个,还剩下18个,A和C各自9个,一个1需要2个,但是11111需要10个,那么最理想的情况就是1111+1=1112,需要25个。因为是回文数,那么我们枚举前半部分s,然后判断s+reverse(s)是否符合条件,再判断在两者中间插入一个数是否满足条件。因为需要四个,那么一定有一条边需要两个,那么我们枚举那条边的两个火柴的长度。dfs枚举+减枝(已经选了k个数),long long会tle,改成int。P2392 kkksc03考前临时抱佛脚。

2026-05-27 14:27:24 381

原创 noi-2026年5月12号小测验

对于Y来说,取中位数就行。对于X来说, |x1-k|+|x2-(k+1)|+|x3-(k+2)|+...+|xn-(k+n-1)|=|(x1-0)-k|+|(x2-1)-k|+|(x3-2)-k|+...+|(xn-n-1)-k|,那么k也是取中位数就行。因为输油管道是向南或向北,所有x坐标没用,只考虑y坐标,y坐标取中位数就行。P1097 [NOIP 2007 提高组] 统计数字。P1889 [CEOI 1998] 士兵站队。使用map来记录每个数出现了几次。P1862 输油管道问题。

2026-05-22 19:30:51 53

原创 noi-2026年5月05号作业

因为操作一的次数最多为5000次,数组的长度最大为8000,那么对于每一次操作一,我们都重新排序一遍并记录好值。按照题目意思进行模拟,先只按照分数从大到小排序,获得面试分数线和进面人数之后,再按照分数、学号进行排序。按照题目的意思进行模拟,先按照总分排序,再安排语文的分数排序,再按照学号排序。sort函数的使用,自定义排序函数。sort函数的使用,自定义排序函数。sort函数的使用,自定义排序函数。sort函数的使用,自定义排序函数。sort函数的使用,自定义排序函数。按照题目的意思模拟就行。

2026-05-07 14:52:58 248

原创 noi-2026年4月28号小测验

我们定义两个数组pre和suf,pre[i]代表前面有多少个连续的字符串和第i个相等,同理,suf[i]代表后面有多少个连续的字符串和第i个相等。首先区间不能包含正义的英雄,否则结果一定不更优。那么对于一个连续的区间l,r(全都是邪恶的英雄),可以生成(r-l+1)/2个正义的英雄。我们先算出最多能选几张牌,然后枚举从牌堆顶部选取几张牌,那么剩下的牌都可以从尾部选取,我们记录一下后缀最大值。到达某一个地方所需要的时间是固定的。

2026-04-26 19:33:07 54

原创 noi-2026年4月21号作业

数据范围n很小,考虑冒泡排序。每循环一次就是把目前最小的那个放到后面,因此循环n-1次就行。P1059 [NOIP 2006 普及组] 明明的随机数。set<int>的元素是int类型,默认从小到大排序。P1923 【深基9.例4】求第 k 小的数。归并排序,sort,nth_element。归并排序,sort,nth_element。使用sort函数直接对数组从小到大排序。P1271 【深基9.例1】选举学生会。使用sort函数直接对数组从小到大排序。P1177 【模板】排序。P1116 车厢重组。

2026-04-22 08:56:13 64

原创 noi-2026年4月14号作业

我们知道铺地毯是按照顺序铺的,也就是会有覆盖的情况,那么我们就是倒序枚举,找到第一个覆盖(x,y)的地毯。我们按照题目的意思进行模拟,记得特判头部、尾部、+1/-1、x^1。P2615 [NOIP 2015 提高组] 神奇的幻方。P1563 [NOIP 2016 提高组] 玩具谜题。P1003 [NOIP 2011 提高组] 铺地毯。P5016 [NOIP 2018 普及组] 龙虎斗。P1076 [NOIP 2012 普及组] 寻宝。P2058 [NOIP 2016 普及组] 海港。

2026-04-17 09:03:30 383

原创 noi-2026年4月07号作业

结束的两个条件:1.必须有个人的得分大于等于11/21分;2.两个人的分差大于等于2.P1009 [NOIP 1998 普及组] 阶乘之和。P2670 [NOIP 2015 普及组] 扫雷游戏。P1563 [NOIP 2016 提高组] 玩具谜题。P1042 [NOIP 2003 普及组] 乒乓球。我们按照题目的意思就行模拟,不要忘记进行取模操作。主要是定义好两个方向数组,dx和dy。

2026-04-08 08:58:18 53

原创 noi-2026年3月31号作业

P1480 A/B Problem(高精度除法Ⅰ)我们使用数组来模拟高精度/低精度除法。我们使用数组来模拟高精度加法。我们使用数组来模拟高精度减法。我们使用数组来模拟高精度乘法。P1601 高精度加法。P2142 高精度减法。

2026-04-03 14:59:42 44

原创 csu复试机试题典题

思路:bfs模板题。(什么sb题目,输入的行和列是反的)思路:贪心,这是一道模板题,优先选单价最低的饮料。题目:1010: 好坑的电子地图。思路:迪杰斯特拉算法堆优化。题目:1027: 逃离迷宫。题目:1211: 小镇购物。题目:1019: 堆石子。思路:多源最短路径模板题。题目:1028: 可乐。

2026-03-27 19:45:04 50

原创 noi-2026年3月24号作业

定义两个数组,suf[i]代表i同学左边的同学,pre[i]代表i同学右边的同学。因为数据很小,那么我们就直接while循环枚举。我们先找到队首那位同学,然后定义一个数组suf,suf[i]代表i同学后面的那位同学。定义两个数组,suf[i]代表i同学左边的同学,pre[i]代表i同学右边的同学。我们把连续的同一个数字的当作一个group,然后我们直接模拟。定义一个数组suf,suf[i]代表i后面的元素。P1996 约瑟夫问题。B3630 排队顺序。P1160 队列安排。模拟,用数组模拟链表。

2026-03-25 20:40:44 84

原创 noi-2026年3月17号作业

我们按照输入的顺序一直入栈,入栈的同时判断是否可以出栈,如果最后还有元素的话,这么说明一定是NO。我们对每一种格调,记录一下有多少个店它右边有店的最低消费是小于等于p的。我们使用一个一维的数组来模拟队列,L代表队首,R代表队尾。我们使用一个一维的数组来模拟栈,栈只有从顶部才能加入数据。P1311 [NOIP 2011 提高组] 选择客栈。P1886 【模板】单调队列 / 滑动窗口。P1739 表达式括号匹配。P5788 【模板】单调栈。B3614 【模板】栈。P1449 后缀表达式。P1165 日志分析。

2026-03-18 15:57:00 268 1

原创 20260131寒假小测试

拿a这个字母举例子,我们要求l-r的区间内a出现的次数,那么我们先求出0-r这个区间a出现的次数,然后再减去0-(l-1)这个区间a出现的次数,那么就是l-r这个区间内a出现的次数。我们读过题目之后可以知道,n个数中只有两个数加一次,剩下的n-2个数加了两次,那么我们从小到大对a数组进行排序,a[1]和a[2]只加一次,a[3]到a[n]加两次。对于从第60位到第0位,判断剩下的数是否有n个数这个位置为1,如果是的话,就加入答案,然后更新一下剩余的数。小红有无穷无尽的字符串。小苯的数组重排1.0。

2026-02-02 11:53:01 325

原创 长郡中学寒假作业

假设第i-1和第i个某些横着的线能够共享,也就是a[i]*k1/b[i]=a[i-1]*k2/b[i-1],转换一下就变成a[i]*k1*b[i-1]=b[i-1]*k2*a[i],因为a数组和b数组是确定的,那么我们找它们的lcm,那么a[i]*k1*b[i-1]的值就可以是lcm、2*lcm、3*lcm,我们可以求出k1的个数cnt1,同理我们可以求出k2的个数cnt2,那么画第i个柱子就需要b[i]-min(cnt1,cnt2)条横线。P14914 「QFOI R3」航线交汇。

2026-01-19 17:18:07 648

原创 noi-2026年1月07号作业

我们定义一个deque来存储每只船的id,同时定义t数组、k数组、e数组来分别存放每只船到达的时间、乘客数、乘客的国籍。因为两个数组的和相等,所以一定可以使得两个数组相等,最差的情况就是两个数组都全不合并。我们定义一个deque来存储优惠劵,然后再按照题目的意思进行模拟,因为每个乘车的时间点都不一样,所以我们只需要在暴力枚举的时候最多找45个。我们定义一个queue来模拟入内存、出内存的操作,同时使用vis来标记数是否在内存里面(也就是是否在队列里面)P2058 [NOIP 2016 普及组] 海港。

2026-01-07 21:14:41 403

原创 noi-2025年12月30号作业

对于每一次操作,我们首先判断该格子已经存放的日记格数是否为k,如果为k的话,那么就一定要删除最小的一个,因为k最大为50,所以我们直接暴力寻找最小的id,然后再暴力删除。双重for循环,第一层枚举起始位置,第二层一直往右边走,只有当stack为空的时候,才是美观的括号序列。如果根据栈的匹配规则进行匹配的话,那么一定不相交,如果不能根据栈的匹配规则进行匹配的话,那么一定有剩余。B4024 [语言月赛 202408] 保持连接的方式。P1449 后缀表达式。栈的运用,暴力,思维题。P10472 括号画家。

2026-01-02 17:39:00 220

原创 noi-2025年12月23号作业

如果遇到),这个时候就需要拿出来一个(进行匹配,如果没有的话,就一定是NO,否则就cnt--,代表(的个数少了一个。我们使用一个stack来存储到目前为止的最大值,如果当前这个操作要入库,那么当前的最大值就是max(以前的最大值,当前的输入x)。我们定义一个stack,如果是READ操作,就输出最上面的字符串并pop,否则就把输入push到stack的最上面。我们首先使用vis数组来对可以匹配的位置进行标记,那么标记完之后,剩下没标记的地方就需要我们进行添加。P1739 表达式括号匹配。

2026-01-02 15:12:19 325

原创 noi-2025年12月16号作业

我们分别使用mx、mn数组记录每一道题的最大值分数和最小分数,同时使用一个e数组来保存每一道题的分数。首先特判,如果人数小于等于2的话,一定要上台,然后我们记录一下要改变的次数并贪心地修改分数,如果需要改变的次数大于c的话,那么就一定要上台。最后,我们判断一下改的是否合格。=0的话,那么答案一定为0。接着我们分别对x和y进行质数分解,如果对于对一个质数,x和y的次数不相等的话,那么就有两种可能。把p从非常大的值一路减小,会发现其实就是对a数组进行压缩。set的使用,思维题。

2025-12-17 20:10:44 352

原创 noi-2025年12月09号作业

我们定义一个结构体node来保存每名学生的输入顺序、名字、三门分数、三门分数之和。我们定义一个结构体node来保存每名学生的输入顺序、名字、三门分数、三门分数之和。然后我们定义一个函数cmp,如果两个学生的总和不一样,那么总和大的排在前面,否则顺序小的排在前面。我们定义一个结构体node,保存每名学生的学号、年龄、成绩。我们定义一个结构体node,保存每名学生的学号、两个成绩,并且在node里面再定义一个函数get_sum来返回两个成绩之和。我们定义一个结构体node来保存每个试卷的输入顺序、必要性。

2025-12-10 12:54:48 168

原创 课后作业-2025年12月07号作业

我们定义一个dfs函数,step代表要选取第step个数,last代表上一个选取的数。我们定义一个dfs函数,step代表第step个数选取哪一个。对于每一个人,我们都有两种选择方法,选或者不选。B3622 枚举子集(递归实现指数型枚举)B3623 枚举排列(递归实现排列型枚举)P10448 组合型枚举。

2025-12-07 19:40:52 180

原创 课后作业-2025年12月2号作业

按照题目意思进行模拟,别忘记使用unsigned long long。B3860 [语言月赛 202309] pip install。P2562 [AHOI2002] Kitty猫基因编码。B4269 [朝阳区小学组 2019] square。B2144 阿克曼(Ackermann)函数。按照题目意思就模拟一下。B2143 进制转换。使用f函数来递归求解。按照题目意思进行模拟。

2025-12-03 13:07:17 262 1

原创 noi-11月30日当堂练习

P1294 高手去散步。P1706 全排列问题。

2025-11-29 21:43:13 267

原创 noi-2025年11月25号作业

P1259 黑白棋子的移动。P1322 logo语言。

2025-11-29 20:23:43 203

原创 课后作业-2025年11月23号作业

dp[x][y]代表从(sx,sy)开始走到达(x,y)的最小步数。从1到n开始枚举,判断反向建边之后从i这个点开始是否能够到达n个点。从(0,0)这个点开始访问,这么被1包围的0是访问不到的。P1746 离开中山路。P1162 填涂颜色。

2025-11-23 17:16:15 364 1

原创 noi-2025年11月18号作业

对于n个盘子,我们先把source的n-1个盘子使用一种方法挪到中转的那个盘子,然后把第n个盘子从source盘子挪到target盘子,最后把前n-1个盘子从中转的盘子挪回到target盘子。假设第x天的桃子为x个,那么第x+1天的桃子数为x/2-1个。我们倒序递归的话,第x天的桃子数等于第x+1天的桃子树*2+2。如果当前的奶牛数x小于k或者(x-k)%2!P1010 [NOIP 1998 普及组] 幂次方。P5739 【深基7.例7】计算阶乘。B2064 斐波那契数列。B4025 最大公约数。

2025-11-19 11:02:12 446

原创 课后作业-2025年11月16号作业

从(0,0)上下左右搜索染色,遇到障碍或者越界就回溯,最后会发现未被染色的非障碍的点就是被障碍保护的地区,最后遍历全地图寻找此类点数目即可。为#的地方就是船,然后dfs搜连通块,把搜到的都标记一下,保证不重复。题目说船一定是方形的,所有我们还要判断一下是否合法。按照题目意思进行搜索,每种要么选,要么不选。表示已经选择的数的个数。对于每一种组合,计算它们的和,并判断这个和是否是素数。不为0的地方就是细胞,然后dfs搜连通块,把搜到的都标记一下,保证不重复。P1506 拯救oibh总部。

2025-11-16 14:58:06 401 1

原创 noi-2025年11月11号作业

因为两个数的和是确定的,所以我们枚举一个数x,判断一下x和(s-x)都是不是质数,如果是的话,用x*(s-x)更新一下答案。如果一个年份对400取模等于0,或者对100取模不等于0并且对4取模等于0,那么这个年份就是闰年。如果一个数除了1和它本身之外没有约数,那么这个数就是质数。P1980 [NOIP 2013 普及组] 计数问题。非常简单,就是按照题目意思进行模拟就行。P5735 【深基7.例1】距离函数。简单,按照题目意思计算一下周长就行。P5736 【深基7.例2】质数筛。按照题目意思就行模拟。

2025-11-12 10:24:48 215

原创 课后作业-2025-11-09

我们定义一个L数组,L[i]代表从i这个下标开始不上升地从左边走,最远能走到哪个下标。同理,我们定义了一个R数组,R[i]代表从i这个下标开始不上升地从右边走,最远能走到哪个下标。我们按照题目的意思进行模拟,对于非老年人我们直接把它们的年龄都固定为1就行,然后再写一个自定义的排序算法cmp,先按照年龄排序,再按照输入的顺序排序。遍历的时候,如果当前遍历到的数等于ans,那么cnt+1;这是一个栈的模板题,我们按照题目的意思进行模拟就行。那么到了最后,计数器ans记录的那个数必定是众数。cnt的初始值为0;

2025-11-09 16:02:46 353

原创 小测试-2025-11-09

所以就可以把为题直接简化为开始时士兵的方向,士兵方向有两个,一个向左,一个向右。两人相遇后会掉头,就等同于没掉头,因为走过的路程是一样的,当他们互换了灵魂。我们对y坐标进行排序,输油管道的y坐标就是中间那个的y坐标。P8722 [蓝桥杯 2020 省 AB3] 日期识别。substr函数的运用,字符串转换成整数。P9203 时效「月岩笠的诅咒」判断两个字符串是否相等。P1862 输油管道问题。

2025-11-05 11:28:00 260

原创 课后作业-2025-11-02

我们先统计一下不在合理范围内的组 缺少和多余的总人数,接着把组的人数变成合理的范围呢。最后我们枚举一下判断就行。我们先统计一下每个数出现的次数,然后再枚举a,b=a-c,我们直接把b出现的次数加到答案里面就行了。我们先输入每一个地毯的数据,然后倒叙枚举,我们依次判断一下每一个地毯形成的矩形是否符合就行。写过相关知识点的话,就按照题目意思就行排序然后输出就行。对于每一个平台,我们按照题目的意思一个一个去找就行。结构体,sort函数,自定义比较函数。map的使用,桶计数法。P1109 学生分组。

2025-11-03 21:17:57 381

原创 noi-2025年10月28号作业

我们先输入两个字符串,然后计算一下每个字符串代表的数,最后对47。这题因为数据范围很小,所以我们直接暴力枚举,每次删除第一个高峰。我们按照题目的意思就模拟就行,用一个数组a来记录变量的当前值。P1200 [USACO1.1] 你的飞碟在这儿 Your。我们在读取四行输入的同时统计每个字母出现的次数,最后再打印。按照题目进行模拟,不难,就是需要判断的情况有点多。简单模拟,getline函数的使用。P1553 数字反转(升级版)P1597 语句解析。P1106 删数问题。

2025-10-29 13:10:09 240

原创 课后作业-2025-10-26

对于这m个技能,我们先判断一下a是否等于0,因为0不能等于除数。如果a等于0且b也等于0,那么一定不能杀死boss。否则我们先算出来技能能够释放的次数cnt,再使用次数乘以伤害,就能得到mx,如果mx大于等于n,就可以杀死boss,否则不能。我们从m到n枚举,对于这其中的每一个数我们都统计一下0-9这10个数出现的次数。我们先输入两个字符串,然后计算一下每个字符串代表的数,最后对47取模。今天的不高兴程度=昨天不高兴程度+今天上课总时间减去 8。对于n次操作,我们每次都用一个for循环去模拟一下。

2025-10-26 15:31:11 275

原创 noi-10月21号作业

我们想一下,对于一个字符串,如果有第一个字符的话,那么一定会有一个,如果有第二个字符的话并且前面那个位置的字符不是应该有的,那么说明这个字符是还要再加一个,以此类推。我们先写一个for循环枚举在哪个位置发生变化,再枚举把当前位置变成哪个字母,由于字符串的最大长度比较小,因此时间复杂度是ok的。getline函数的使用,把大写字母转换成小写字母,模拟。我们按照题目进行模拟就行,注意substr函数的使用。我们也是按照题目的意思去写就行,没啥特别的地方。比较简单的一道题,按照题目意思去模拟就行。

2025-10-22 13:57:25 320

原创 noi-10月14号作业

遍历字符串,如果是小写字母(>='a'&&<='z')的话就转换成大写字母(>='A'&&<='Z')。我们先统计一下字母出现的最大次数mx和最小次数mn,然后判断一下(mx-mn)是否是质数。我们按照题目进行模拟就行,可以使用to_string函数来将整数转换成字符串。质数:除了1和它本身之外没有任何约数,0和1不是质数。我们先把输入整行读取到字符串,然后遍历一遍并判断。遍历字符串,直接加上偏移的位置并对26取模就行。P1914 小书童——凯撒密码。getline函数的使用。P1957 口算练习题。

2025-10-17 09:06:06 292

原创 课后作业-2025-10-12

每名小朋友至少拿到一块饼干,老师想让每名小朋友拿到的饼干数量都不一样多,我们就可以求出最少需要多少饼干才能满足要求,也就是第一名同学1个饼干、第二名同学2个饼干、第三名同学3个饼干.....第k个同学k个饼干,也就是一共最少需要need=(1+2+3+...+k)=(1+k)*k/2个饼干。那么v2就等于(b[1]+b[2]+b[3]+.....+b[n])*2。v3就等于(a[1]-b[1]+a[2]-b[2]+a[3]-b[3]+.....+a[n]-b[n])。P1838 三子棋I。

2025-10-13 19:14:02 225

原创 2025年10月12号小测试

所以我们在枚举的时候,用double类型的变量来存储数值之和,然后在进行除法的时候要把int类型的变量i强制转换成double类型,把1写成double类型的1.00。根据题目意思,连号指在序列中,从小到大的连续自然数,例如4,5,6,7,8。从题目中我们知道,k个烟蒂可以换一根烟,那么我们写一个while循环,判断当前剩下的烟可以换成多少新烟,一直到当前剩下的烟不能换新的烟为止。我们定义一个数组f,f[i]代表以第i个元素结尾的最大子段和,那么第i个元素要么接上第i-P1420 最长连号。

2025-10-11 13:16:29 332

原创 课后作业-2025-10-07

首先对于第一种情况,就是最小值要比次小值小,最大值要等于次大值,例如1,3,5,5这样。对于第二种情况,就是最大值要比次大值大,最小值要等于次小值,例如2,2,5,7这样。我们先把输入的数组转成字符串,然后进行字符串翻转。对于每一个查询,我们写一个for循环来枚举输入的字符串是否以查询为开头,如果是的话,就保存一下最小数值作为答案。我们把输入的字符串进行翻转,然后每三位加一个逗号,最后输出的时候再翻转回来。字符串翻转,暴力枚举,函数定义。[NOIP2017]图书管理员。字符串翻转,字符串遍历。

2025-10-11 13:03:04 182

原创 noi-9月23日作业

我们定义一个a数组来记录每个页面能够到达的页面,vis数组来记录点击两次能够到达的页面。vis[i][j]代表点击i次j是否能够到达。我们先定义四个数组,分别记录每个地毯的左下角的x坐标,左下角的y坐标,在x坐标的长度,在y坐标的长度。我们用一个数组p来记录每只青蛙在的位置,p[i]代表编号为i的青蛙在a数组的位置。我们按照题目的意思模拟,每次找到最大的id并输出,然后进行更新操作。因为数据范围很小,所以我们按照题目的意思简单模拟一下。一维数组,二维数组,小模拟。while循环,小模拟。

2025-09-24 16:48:43 375

原创 课后作业-2025-09-21

我们枚举矩形的左上角的顶点(i,j)和右下角的顶点的位置(k,p),然后我们统计一下这个矩形里面萝卜的个数,同时呢这个矩形的面积为(k-i+1)*(p-j+1)按照题目的意思,如果cnt[i]不等于1,那么i这位同学就是调皮的同学。我们从1到n枚举,先通过to_string函数获得整数i的字符串s,接着获得s的反转字符串t,然后判断s是否和t相等。我们先把输入保存到二维数组a,然后我们得到总和最大的列,接着找到该列最大的值和最大值的个数。字符串,length()函数来获得字符串的长度,遍历字符串。

2025-09-21 18:28:38 430

原创 洛谷典题-P1205 [USACO1.2] 方块转换 Transformations

P1205 [USACO1.2] 方块转换 Transformations。我们按照题目的意思进行一个个模拟就行。二维数组,for循环,简单模拟。

2025-09-20 14:06:13 265

空空如也

空空如也

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

TA关注的人

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