- 博客(50)
- 收藏
- 关注
原创 Atcoder ABC352 A-D 题解
如果巨人 Pi 的肩膀距离地面的高度是 t ,那么巨人 P{i + 1} 的肩膀距离地面的高度就是 t + A{P{i + 1}} ,他们的头距离地面的高度就是 t + B{P{i + 1}}。在这条线路上,有趟进站列车从 1 站出发,依次停靠 2, 3, ..., N 站,有趟出站列车从 N 站出发,依次停靠 N - 1, N-2, ..., 1 站。形式上,存在一个整数 a ,使得 { 𝑃𝑖1,𝑃𝑖2, , ..., 𝑃𝑖𝑘 } = { a,a+1,...,a+k-1 }
2024-07-23 11:40:17
548
转载 c++输入输出优化
是否兼容 stdio”的开关,C++ 为了兼容 C,保证程序在使用了 printf 和 std::cout 的时候不发生混乱,将输出流绑到了一起。在默认的情况下cin绑定的是cout,每次执行
2024-07-18 08:12:21
68
原创 ATCODER ABC【B-345-C】一次性交换
S 的长度为 3 ,因此 1≤i<j≤3满足三对整数(i,j):(1,2)、(1,3)和(2,3)因此,对 abc进行操作的结果是三个字符串中的一个:bac、cba和acb,所以打印 3。给你一个字符串 S。请计算以下操作恰好执行一次所能得到的字符串数。可以证明,在这个问题的约束条件下,你总是可以完成这个操作的。普及 atcoder 排列组合。执行操作所产生的字符串数。
2024-05-30 20:39:30
270
原创 3439 ST表模版
对于 100% 的数据,满足 1≤N≤105,1≤M≤2×106,ai∈[0,109],1≤li≤ri≤N。给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间内数字的最大值。接下来 M 行,每行包含两个整数 li,ri,表示查询的区间为 [li,ri]。第一行包含两个整数 N,M,分别表示数列的长度和询问的个数。输出包含 M 行,每行一个整数,依次表示每一次询问的结果。对于 70% 的数据,满足 1≤N,M≤105。对于 30% 的数据,满足 1≤N,M≤10。
2024-05-30 20:35:20
301
原创 Tallest Cow S
经过第二条信息5 3后,swap(5,3),区间(3,5)身高都必须减1,因此每头牛的身高为5 4 5 4 5 5 5 5 5。经过第三条信息4 3后,swap(4,3),区间(3,4)身高都必须减1,因此每头牛的身高为5 4 5 4 5 5 5 5 5。经过第三条信息9 8后,swap(9,8),区间(8,9)身高都必须减1,因此每头牛的身高为5 4 5 3 4 4 5 5 5。经过第一条信息1 3后,区间(1,3)身高都必须减1(贪心策略),因此每头牛的身高为5 4 5 5 5 5 5 5 5。
2024-04-21 14:55:53
567
原创 动态规划——采矿的小奇【集训笔记】
假期小奇去采矿场体验生活,工头为每个员工发放了一个最多能装 M 公斤的背包,经过一天的辛苦小奇开采出了 n 块矿石,它们的重量分别是W1,W2,...,Wn,经过预估它们的价值分别为C1,C2,...,Cn,那么请你帮助小奇计算他能获得最大总价值是多少。第一行:两个整数,M(背包容量,M≤200)和N(矿石数量,N≤30);第三行:a数组存储(用a数组推出了原b数组,原a数组无用)(新)第四行:b数组存储(用b数组推出了新a数组,原b数组无用)(新)0-1背包---->滚动数组--->亚完全背包。
2024-01-23 14:28:11
454
原创 动态规划——炮兵回城【集训笔记】
对于1行1列的方格矩阵,炮兵原地移动,移动路线数为1;对于1行2列(或2行1列)的方格矩阵,炮兵只需一次向右(或向上)移动,移动路线数也为1……游戏盘面是一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。路线1:(1,1) → (1,2) → (1,3) → (2,3)路线2:(1,1) → (1,2) → (2,2) → (2,3)路线3:(1,1) → (2,1) → (2,2) → (2,3)
2024-01-21 15:11:02
419
原创 动态规划—— 求最长不下降序列LIS【集训笔记】
设有由n(1≤n≤200)个整数组成的数列,记为:b(1)、b(2)、……、b(n),若存在i1
2024-01-21 11:42:34
458
原创 动态规划——数字金字塔【集训笔记】
观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。向右走:f[i+1][j+1]>f[i][j]+a[i+1][j+1]?f[i+1][j+1]:f[i][j]+a[i+1][j+1]向左走:f[i+1][j]>f[i][j]+a[i+1][j]?f[i+1][j]:f[i][j]+a[i+1][j]在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。第一个行包含R(1≤ R≤1000),表示行的数目。单独的一行,包含那个可能得到的最大的和。
2024-01-21 11:03:51
517
原创 AtCoder Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)B题解
【代码】Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)B题解。
2023-12-17 15:24:30
482
原创 AtCoder Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)A题解
【代码】AtCoder Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)A题解。
2023-12-17 15:16:29
663
原创 一笔画问题
如果一个无向图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。第一行n,m,0 < n <=20,表示有n个点,m条边,以下m行描述每条边连接的两点。如果有欧拉路或欧拉回路,输出一条路径即可,顶点之间由空格隔开。普及+/提高 其他 深度优先搜索,DFS 欧拉路,欧拉回路。注意:点的编号从1到n。
2023-12-10 16:17:31
434
1
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。在生日那天,我送我了一个csdn账号。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。我有空就会发一发博客哟··
2023-12-10 16:04:22
383
原创 猴子偷桃
第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个桃子到地面的高度,两个相邻的整数之间用一个空格隔开。由于猴子们团体作案,面对如此高的桃树,偷了Farmer Lei 30厘米高的板凳,当猴子不能直接用手摘到桃子的时候,就会踩到板凳上再试试。现在已知10个桃子到地面的高度,以及猴子把手伸直的时候能够达到的最大高度,请帮Farmer Lei计算一下猴子能够偷到的桃子的数目。包括一行,这一行只包含一个整数,表示猴子能够偷到的桃子的数目。入门 其他 一维数组。
2023-12-06 20:04:23
444
原创 连接格点1
有一个M行N列的点阵,相邻两点可以相连。一条纵向的连线花费一个单位,一条横向的连线花费两个单位。某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通。
2023-12-04 19:12:19
404
原创 Superbull S
FJ注意到一个不寻常的事情:在任何游戏中,两个团队的总分是两个团队ID的按位异或(XOR)。例如,如果第12队和第20队将参加比赛,则该游戏的得分为24分,因为01100 XOR 10100 = 11000。让3队与9队进行比赛,并让9队晋级。最后,第6队和第10队比赛,10队获胜。总得分为:3 XOR 9+6 XOR 9+6 XOR 10=10+15+12=37。Superbull是一场淘汰赛 - 在每场比赛之后,FJ选择淘汰其中一支球队,而被淘汰的球队再也无法参加任何比赛了。
2023-12-04 19:11:23
872
原创 二叉树遍历1
树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。
2023-12-03 16:56:36
341
原创 逻辑表达式
2、如果E是E1 op E2形式的表达式,其中op是任何二元操作符,且优先级不高于E1、E2 中括号外的操作符,则E的后缀式为E1′E2′op,其中E1′、E2′分别为E1、E2 的后缀式。对于 100% 的数据,1 ≤ |s| ≤ 1 × 106 ,1 ≤q≤ 1 × 105,2 ≤n≤ 1 × 105。小 C 想知道,给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,原表达式的值为多少。1、与运算:a&b。3、如果E是E(E1)形式的表达式,则E1的后缀式就是E的后缀式。
2023-09-23 15:56:06
568
原创 2124 儒略日(julian)
1、公元 1582 年 10 月 15 日(含)以后:适用格里高利历,每年一月 31 天、二月 28 天或 29 天、三月 31 天、四月 30 天、五月 31 天、六月 30 天、七月 31 天、八月 31 天、九月 30 天、十月 31 天、十一月 30 天、十二月 31天。其中,闰年的二月为 29 天,平年为 28 天。2、公元 1582 年 10 月 5 日(含)至 10 月 14 日(含):不存在,这些日期被删除,该年 10 月 4 日之后为 10 月 15 日。所谓儒略日,其定义为。
2023-09-23 15:55:27
414
原创 P9638 「yyOI R1」youyou 的军训
对于 100\%100% 的数据,1 \le n,m,q,x_i,y_i \le 4 \times 10^51≤n,m,q,xi,yi≤4×105,1 \le k_i,c_i,e_i \le 1 \times 10^91≤ki,ci,ei≤1×109,m\le \min\{\frac{n(n-1)}{2},4 \times 10^5\}m≤min{2n(n−1),4×105}。后面 mm 行,给定 mm 对朋友关系,对于第 ii 行给定三个正整数 x_i,y_i,k_ixi,yi,ki。
2023-09-13 19:21:32
106
原创 红黑树 红黑树
为了保持这些特点,当插入或删除节点时,红黑树可能需要进行旋转和颜色调整等操作,以保持树的平衡性,从而保证了其操作的最坏时间复杂度为O(log n)。红黑树是一种自平衡二叉搜索树,它保证了在最坏情况下,基本的动态操作,包括插入、删除和查找操作的时间复杂度均为O(log n)。5. 对于每个节点,从该节点到其所有后代叶子节点的简单路径上,均包含相同数量的黑色节点。4. 如果一个节点是红色的,则它的两个子节点都是黑色的。3. 每个叶子节点(NIL节点,即空节点)是黑色的。2. 根节点是黑色的。
2023-09-03 19:46:13
53
原创 笛卡尔树(Cartesian Tree)
笛卡尔树(Cartesian Tree)是一种特殊的二叉树,它是由一个序列构成的,序列中每个元素都有一个对应的权值,它的根节点对应序列中的最小值,根节点的左子树是序列左边比这个最小值小的子序列构成的笛卡尔树,根节点的右子树是序列右边比这个最小值小的子序列构成的笛卡尔树。笛卡尔树可以用于解决许多与序列有关的问题,如区间最小值、区间最大值等。由于笛卡尔树的构建过程可以用单调栈实现,因此它在许多算法竞赛中得到了广泛的应用。4. 树的每个节点的权值都大于其左子树中节点的权值,小于其右子树中节点的权值。
2023-09-03 19:45:25
418
原创 3508 Hardwood Species【普及+/提高 其他 二叉搜索树,BST STL】
另一方面,软木或针叶树,来自拉丁语,意思是“圆锥形”,有针叶。广泛可用的美国软木包括雪松、冷杉、铁杉、松树、红木、云杉和柏树。在家里,软木主要用作结构木材,如2x4和2x6,一些有限的装饰应用。美国的温带气候形成了数百种硬木的森林,这些树木具有某些共同的生物学特征。例如,尽管橡树、枫树和樱桃都是硬木,但它们是不同的物种。所有的硬木物种加起来占美国树木的40%。你要计算每个物种所代表的树木种群的总比例。硬木是一种植物,叶子宽大,能结果实或坚果,通常在冬天休眠。这道题需要用到map工具。下为map头文件语句。
2023-05-28 11:42:30
112
原创 Hardwood Species
美国的温带气候形成了数百种硬木的森林,这些树木具有某些共同的生物学特征。例如,尽管橡树、枫树和樱桃都是硬木,但它们是不同的物种。广泛可用的美国软木包括雪松、冷杉、铁杉、松树、红木、云杉和柏树。在家里,软木主要用作结构木材,如。利用卫星成像技术,自然资源部编制了一份特定日期每棵树的清单。你要计算每个物种所代表的树木种群的总比例。硬木是一种植物,叶子宽大,能结果实或坚果,通常在冬天休眠。另一方面,软木或针叶树,来自拉丁语,意思是。这道题需要用到map工具。,一些有限的装饰应用。下为map头文件语句。
2023-05-23 19:44:08
63
原创 提速
当然,这主要是针对cpp的,因为对于一个头文件,其中的某个include是否冗余很难界定,得看是否在最终的编译单元中用到了,而这样又可能出现在一个编译单元用到了,而在另外一个编译单元中没用到的情况。同时,该类提供给外界的头文件也会精简许多。一台机子的性能始终是有限的,利用网络中空闲的cpu资源,以及专门用来编译的build server来帮助你编译才能从根本上解决我们编译速度的问题,想想原来要build 1个多小时工程的在2分钟内就能搞定,你就知道你一定不能没有它 - Incredibuild。
2023-04-26 19:22:34
64
原创 向量点积计算
在线性代数、计算几何中,向量点积是一种十分重要的运算。相邻整数之间用单个空格隔开。每个整数的绝对值都不超过。一个整数,即两个向量的点积结果。数组是一种存储变量的容器。
2023-04-24 19:34:05
161
原创 1106 奖金发放
先按总分从高到低排序,如果两名员工的总分相同,再按考勤分数从高到低排序,如果两名员工的总分和考勤成绩都相同,那么规定工号小的员工排在前面,这样,每名员工的排序是唯一确定的。任务:先根据输入的3类考核和成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名员工的工号和总分。第j行的3个数字依次表示工号为 j-1 的员工的考勤、绩效、总结的分数(整数)。这两名员工的总分都是 279 (总分等于输入的考勤、绩效、总结三类成绩之和) ,但工号为7的员工考勤分数更高一些。则按输出错误处理,不能得分。
2023-04-23 20:52:33
91
原创 后缀表达式的值c++
如果是0~9的个位数的话,遇到数字进栈,遇到符号弹出栈顶和次栈顶,运算后入栈。从左到右遍历,a[0]是数字1,入栈,a[1]a[2],是数字,入栈。-是符号,弹出栈顶和次栈顶(减法除法时,次栈顶运算栈顶)a[3]+是符号弹出栈顶和次栈顶,相加。栈内:1,1,2,9。
2023-04-20 19:49:40
165
原创 国际大学生程序设计竞赛
国际大学生程序设计竞赛ACM/ICPC国际大学生程序设计竞赛在2020 ICPC小米邀请赛中,高三邓明扬、高二陈于思、高一许庭强三位同学组成的“有一说一确实”队伍,在全场101支主要由清华北大等大学生组成的队伍的同场竞技中,经过三位同学现场努力拼搏,最终荣获全场第一名。国际大学生程序设计竞赛(英文全称:International Collegiate Programming Contest(简称 ICPC))是一项旨在展示中国大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞
2023-04-16 19:41:23
398
原创 后缀表达式的值
从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要判断给你的表达式是否合法。提示:输入字符串长度小于250,参与运算的整数及结果之绝对值均在2^64范围内,如有除法保证能整除。一个后缀表达式的值。
2023-04-16 19:32:11
100
原创 CCF非专业级软件能力认证
CSP-J/S分两个级别进行,分别为CSP-J(入门级,Junior)和CSP-S(提高级,Senior),两个级别难度不同,均涉及算法和编程。第一轮认证成绩优异者进入第二轮认证,第二轮认证结束后,CCF将根据CSP-J/S各组的认证成绩和给定的分数线,颁发认证证书。复赛一共4道题,时长是3.5小时。CSP-S2和CSP-J2认证点设置须得到CCF的批准,未经批准的认证点,其认证成绩不予承认。CSP-J和CSP-S均分别举办两轮:第一轮是CSP-J1,CSP-S1,第二轮是CSP-J2、CSP-S2。
2023-04-16 09:42:38
2443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人