竞赛
考级
AC
比斯给我磕死
题目描述 题目要求找到最大的整数 ( 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记忆化搜索模板
陈弘毅
FLOYD算法 多源最短路算法:求得多个起点之间到达任意顶点的最短距离的算法 核心思想::通过枚举的方式来求得任意顶点之间的最短距离 核心做法:把所有顶点都作为其他顶点的中转站,求得所有顶点之间的最短距离
裘天瑞
题面翻译 给定 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
158****2376
小帅,你是真的饿了,什么都吃得下
CiNeMa
题目描述 小码君被邀请到一个节目上,可以在N个岛上寻找宝藏,会随机给小码君降落到其中的一个岛上,每一个岛有通向其他岛的路径(也有可能没有),都有的岛屿之间一共有M条路径,每一个岛都有一个编号,编号越大的岛屿宝藏价值越大,小码君现在想要知道所有位置可以能够去往的最大的编号的岛屿是多少。 提示 n<1000,m<2000 输入格式 第一行输入一个N,M表示有N个岛,M条路径 输出格式 每一个点可以去往的最大的岛屿的编号 样例组输入#1 5 3 1 2 3 4 2 4 样例组输出#1 4 4 4 4 5
今天发一道新题,点我主页看我题库制作编辑器没人会
我是体委
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; cout<<n*(n+1)/2; return 0; }
CXL c++
做本题请注意原神启动!的感叹号是中文状态下的
提瓦特那菈旅行者
网站:https://www.luogu.com.cn/problem/P4329 turn 0; }
小桂子GUINEVERE
共3973条