竞赛
考级
感谢大家的帮助,球球了,蟹蟹。
LLYY
AC
byd
094com普尼
比斯给我磕死
冒泡排序是一种简单的排序算法,它通过重复地比较相邻元素并交换它们的位置来对数列进行排序。下面是冒泡排序的C++实现示例: 在这个例子中,我们定义了一个名为bubbleSort的函数来实现冒泡排序算法。该函数接受一个整数数组和数组的长度作为参数。在函数内部,我们使用两个嵌套的循环来遍历数组并进行比较和交换操作。外层循环控制整个排序过程的次数,内层循环用于比较相邻的元素并进行交换。如果当前元素大于下一个元素,则交换它们的位置。 在main函数中,我们创建了一个整数数组arr,并计算了数组的长度n。然后,我们打印出原始数组的内容,调用bubbleSort函数对数组进行排序,最后再次打印排序后的数组内容。 运行上述代码,输出结果如下: 可以看到,经过冒泡排序后,数组中的元素按照升序排列。
李总(不加团队)
题目描述 题目要求找到最大的整数 ( x ),满足 ( x! + (x-1)! ) 是 ( k ) 的倍数,或者确定不存在这样的 ( x )。 具体要求如下: 给定整数 ( k ),找到满足条件的最大整数 ( x ),其中 ( x ) 满足 ( 1 \leq x < k ),使得 ( x! + (x-1)! ) 是 ( k ) 的倍数,否则输出 (-1)。 输入格式 * 第一行包含一个整数 ( t ) (( 1 \leq t \leq 10^4 )),表示测试用例的数量。 * 接下来的 ( t ) 行,每行包含一个整数 ( k ) (( 2 \leq k \leq 10^9 )),表示每个测试用例中的 ( k ) 值。 输出格式 对于每个测试用例,输出一个整数,表示满足条件的最大整数 ( x ),或者输出 (-1) 如果不存在这样的 ( x )。 示例 输入: 输出: 解释 * 在第一个测试用例中,( 2! + 1! = 2 + 1 = 3 ),是 ( 3 ) 的倍数。 * 在第三个测试用例中,( 7! + 6! = 5040 + 720 = 5760 ),是 ( 8 ) 的倍数。
> 逆元:使得x * inv(x) % mod = 1 的数 > 当mod为质数时可以通过费马小定理和快速幂求: > 如果a与p互质 > 则a^(p-1) % p = 1 > 它可以解决带除法的取模问题 DP 的优化 多重背包二进制分解:O(MLOG(SI)) 模板: 单调队列优化:O(MN) 模板: 区间DP的四边形不等式优化 > 对于状态转移方程为f[i][j] = min(f[i][k] + f[k+1][j]) + w[i][j]的区间dp > 且w[i][j]满足四边形不等式和区间单调性: > 对于a<=b<=c<=d, > w[a][c]+w[b][d] < w[a][d]+w[b][c] > w[a][d] >= w[b][c] > 则有:opt[i][j-1] <= opt[i][j] <= opt[i+1][j] 状态压缩DP的优化 子集枚举 SOSDP 2^N 模板 括号序列模板 数位DP记忆化搜索模板
陈弘毅
原题 这是我的代码 注:d是找树数根的函数。 个人对题目的理解是: 找到满足d(xy)=d(z)且xy!=z且1<=x,y,z<=n的(x,y,z)的组数,大于十的时候不满足条件的只有23对,所以我直接用总的,也就是(x,y,xy)的组数,减去23,如有错误欢迎指正。 最后一个测试点错了,还不能查看测试点。 如有常识性错误请大家谅解,本人萌新。
肖越腾
C++开平方怎么开?求解
龘
FLOYD算法 多源最短路算法:求得多个起点之间到达任意顶点的最短距离的算法 核心思想::通过枚举的方式来求得任意顶点之间的最短距离 核心做法:把所有顶点都作为其他顶点的中转站,求得所有顶点之间的最短距离
裘天瑞
质数判定+搜索下标 我勒个镭
CiNeMa
import math n=int(input('')) s=0 for i in range(n): m=int(input()) if m <=70: s+=0.1 else: if m%70==0: s+=m//700.1 else: a=m/70 a=math.ceil(a) s+=a0.1 s=round(s,1) print(s)
我要吃音叉
题面翻译 给定 nnn 个结点的,以 111 为根,编号在 1…n1 \dots n1…n 的树。并给定排列 ppp。 qqq 次询问每次给定 l, r, xl,\,r,\,xl,r,x,你需要回答是否存在编号在 pl, pl+1, …, prp_l,\,p_{l+1},\,\dots ,\, p_{r}pl ,pl+1 ,…,pr 中的结点,使得其是 xxx 的后代。
AK君
题面翻译 题目描述 树中两个顶点 uuu 和 vvv 之间的距离是指顶点 uuu 到顶点 vvv 必须经过的最小边数。 亚历克斯的生日快到了,蒂莫菲想送他一棵有 nnn 个顶点的树。然而,亚历克斯是个喜怒无常的孩子。在 qqq 天里,他每天都会选择一个整数,第 iii 天选择的整数用 did_idi 表示。如果在第 iii 天,树上没有两片距离正好为 did_idi 的叶子节点,亚历克斯就会很失望。 蒂莫菲决定送给亚历克斯一个设计器,这样他就可以随心所欲地改变他的树了。蒂莫菲知道亚历克斯也很懒惰,所以每天一开始,他可以进行多次以下类型的操作: * 选择顶点 uuu 、 v1v_1v1 和 v2v_2v2 ,需要满足 uuu 和 v1v_1v1 之间有一条边, uuu 和 v2v_2v2 之间没有边。然后删除 uuu 和 v1v_1v1 之间的边,并在 uuu 和 v2v_2v2 之间添加一条边。如果操作后图形不再是树,则不能执行此操作。 不知怎的,蒂莫菲设法找出了所有的 did_idi 。之后,他又想出了一个绝妙的主意——以防万一,为这组集合 did_idi 制作一本说明书,这样亚历克斯就不会失望了。 输入格式 第一行包含整数 ttt(1≤t≤1001\leq t\leq1001≤t≤100),表示数据组数。 每个测试用例的第一行包含两个整数 nnn(3≤n≤5003\leq n\leq5003≤n≤500)和 qqq(1≤q≤5001\leq q\leq5001≤q≤500),分别表示树中的节点数和操作天数。 下面第 qqq 行的第 iii 行包含整数 did_idi (2≤di≤n−12\leq d_i\leq n-12≤di ≤n−1)。 保证 ∑n,∑q≤500\sum n,\sum q\le500∑n,∑q≤500。 可以证明,满足所述条件的树和操作序列总是存在的。 输出格式 对于每组数据,首先输出描述树的 n−1n-1n−1 条边。如果节点 uuu 和 vvv 之间有一条边,则必须输出 u vu\ vu v 或 v uv\ uv u。 在接下来的 qqq 行中,每行输出三个整数 uuu、v1v_1v1 、v2v_2v2 。如果亚历克斯这天不需要执行操作,则直接输出 -1 -1 -1\texttt{-1 -1 -1}-1 -1 -1。
Vanya和Vova在玩游戏。玩家得到一个整数nnn。轮到玩家时,玩家可以加111或减111。 Vanya先开始。如果Vanya移动后,nnn 可以被 333 整除,那么他就赢了,输出First。如果已经过了 10 步,而Vanya没有赢,那么Vova就赢了,输出Second。
来源洛谷 题面翻译 给定数列 aaa,求有多少对 (i,j)(i,j)(i,j) 满足 (2ai)(2aj)=(2aj)(2ai)(2^{a_i})^{(2^{a_j})}=(2^{a_j})^{(2^{a_i})}(2ai )(2aj )=(2aj )(2ai )。
来源:洛谷(自行添加了一些) 题目描述 给定一个数组,求数组中连续子数组之和的最大值,但要求子数组必须满足:相邻两项奇偶性不同。 输出最大总和。 输入描述 输入一个整数,第一行一个整数 ttt 代表测试样例的组数, 接下来 2×t2 \times t2×t 行中,第一行输入一个整数 nnn,第二行输入 nnn 个整数表示数组。(多组数据) 输出描述 输出 ttt 行,每行一个整数表示答案。
来源我的翻译洛谷翻译+我的 亚历克斯正在参与拍摄布尔马斯特的另一个视频,布尔马斯特让亚历克斯准备25万吨TNT炸药,但亚历克斯没有听清楚,于是他准备了 𝑛个箱子,并把它们摆成一排等待卡车。左边的 𝑖个箱子重𝑎𝑖𝑎_𝑖ai 吨。 亚历克斯要使用的所有卡车都装有相同数量的箱子,用 𝑘表示。装载过程如下: * 第一个 kkk 个箱子装到第一辆卡车上、 * 第二个𝑘箱子装到第二辆卡车上、 * ⋯\cdots⋯ * 最后𝑘个箱子装到第 kn \frac{k}{n} nk 辆卡车上。 装载完成后,每辆卡车上必须有 𝑘个箱子。换句话说,如果在某一时刻无法将𝑘 个箱子准确地装入卡车,那么 𝑘个箱子的装载选项就无法实现。 亚历克斯讨厌公正,所以他希望两辆卡车总重量的最大绝对值差越大越好。如果只有一辆卡车,这个值就是0。 亚历克斯有很多关系,所以每 1≤𝑘≤𝑛,他都能找到一家公司,使其每辆卡车正好能装载 𝑘个箱子。打印任意两辆卡车总重量的最大绝对差值。
F12真是YYDS
WAMORE
CF1697C.awoo's Favorite Problem
互关🐱🚀
共5751条