
挑战程序设计
代维7
这个作者很懒,什么都没留下…
展开
-
Subsequence
给定长度为n的数列整数a0,a1,...,an−1以及整数S。求出总和不小于S的连续子序列的长度的最小值。如果解不存在, 则输入0。输入本题包含多组测试数据,第一行为一个整数T, 表示测试数据组数 接下来每组测试数据第一行包含两个数n和S, 第二行有n和整数, 表示 a0,a1,...,an−1 10 < n < 10^5, , S < 10^8输出对于每组测试数据输出一行,输出题目要求的整数/* * @Descript...原创 2022-03-31 14:36:57 · 349 阅读 · 0 评论 -
疯狂矩阵 Crazy Rows(挑战程序设计竞赛)
给定一个由0和1组成的矩阵(方阵)。只允许交换相邻的两行, 要把矩阵转化为下三角矩阵(主对角线上方的元素全是0), 最少需要交换几次?输入的矩阵保证总能转化成下三角矩阵。输入第一行为整数 T(1≤T≤60),表示有多少组测试数据 每组测试数据: 第一行为一个整数n,接下来的n行,每行有n个整数表示这个方阵 1≤N≤40 输出输出T行,每行格式:Case #{第几组测试数据}: {答案},表示第几组测试数据,答案是多少样例1输入141...原创 2022-02-28 15:16:28 · 275 阅读 · 0 评论 -
最小标量积 Minimun Scalar Product(挑战程序设计竞赛)
有两个向量 v1=(x1,x2,...,xn) 和 v2=(y1,y2,...,yn), 允许任意交换v1 和v2 各自分量的顺序。请计算 v1 和 v2 的内积x1y1+x2y2+...+xnyn 的最小值。输入第一行输入整数 T(1≤T≤1000),表示有多少组测试数据 每组测试数据包括三行: 第一行包含一个整数n 第二行有n个整数, 表示x1,x2...xn 第三行有n个整数, 表示y1,y2...yn 10000...原创 2022-02-23 15:23:37 · 162 阅读 · 0 评论 -
卡迈克尔数 Carmichael Numbers(挑战程序设计竞赛)
我们把对任意的 1<x<n 都有 x^n≡x 成立的合数 n 称为 Carmichael Number。对于给定的整数n, 请判断它是不是 Carmichael Number。输入多组测试数据,每组测试数据占据一行,一个整数n,当输入的n=0 时表示结束(不用处理n=0) 除最后一行外,2<n<65000输出每组测试数据输出一行 当n是Carmichael Number时,输出The number {输入的整数n} is a Carmichael...原创 2022-02-23 11:24:26 · 2341 阅读 · 0 评论 -
素数的个数(挑战程序设计竞赛)
给定整数 n, 请问 n 以内有多少个素数?输入输入为一个整数n 1≤n≤106输出输出一个整数表示n以内有多少个素数样例 1输入1000000输出78498#include<bits/stdc++.h>using namespace std;int Prime[(int)1e6+5];void pre_prime(int x){ Prime[1]=1; for(int i=2;i<=sqrt(x);i++) ...原创 2022-02-20 21:51:59 · 298 阅读 · 0 评论 -
素数判定(挑战程序设计竞赛)
给定整数n, 判断是否是素数。输入输入为一个整数n 10^91≤n≤109输出输出Yes 或 No样例1输入12345输出No#include<bits/stdc++.h>using namespace std;int main(){ int n; while(cin>>n) { // int i; // for(i=2;i<n;i++) // ...原创 2022-02-20 21:33:46 · 481 阅读 · 0 评论 -
双六(挑战程序设计竞赛)
双六,可以理解为是 x 轴上无限延展的若干个格子,例如... -3 -2 -1 0 1 2 3 ...其中 00 号格子是起点, 11 号格子是终点。有一个神奇的骰子,上面只有 a,b,−a,−b 四个整数。每当掷出一个值,是正值则向右移动相应距离的格子,若是负值则向左移动相应的格子。问是否存在一种投掷的方案,能从 0 号格子走到 1 号格子。如果能,输出任意一种方案即可。若不能,则输出 −1。投掷方案由 4 个整数组成,表示 a,b,−a,−b原创 2022-02-20 21:19:58 · 532 阅读 · 0 评论 -
247. 线段上格点的个数(挑战程序设计竞赛)
给定平面的两个格点 P1=(x1,y1)和 P2=(x2,y2), 线段 P1P2上, 除 P1和 P2外一种有几个格点?输入输入包含4个整数,分别表示 x1,y1,x2,y2 −109≤x1,y1,x2,y2≤109输出输出一个整数,表示格点的个数样例 1输入1 11 5 3输出3#include<bits/stdc++.h>using namespace std;int gcd(int a,...原创 2022-02-19 21:57:12 · 301 阅读 · 0 评论 -
242. 二分图判定
给定一个具有 n个顶点的图。要给图上每个顶点染色,并且要使相邻的顶点颜色不同。问是否能用最多两种颜色进行染色?题目保证没有重边和自环。输入第一行一个整数 n(1≤n≤1000),表示顶点个数 接下来每行有两个整数x和y,表示顶点x和y之间有一条边,0≤x,y<n,x≠y 以EOF(end of file)作为边数据的结束输出Yes或No表示是否能用两个颜色进行染色样例 1输入30 11 22 0输出No#incl...原创 2022-02-12 17:19:36 · 513 阅读 · 0 评论 -
栅栏修理 Fence Repair(挑战程序设计竞赛)
我们的目标是将一块完整的木板切割成nn块,每块长度为 L1,L2,L3...Ln。切割后各个木块的长度总和与切割前的木板长度相等。每次在一块木板上切一刀,代价等于该木板的长度。例如:在长度为21的木板切一刀,变成两块木板,长度分别为5,16,所需代价为21 在长度为16的木板上再切一刀,变为两块木板,长度分别为 8,8,所需代价为16为了达到上述目标,求最小的切割代价是多少。输入第一行是整数n(1≤n≤20000),表示要将原始木板切割成多少块 接下来nn...原创 2022-02-11 23:25:06 · 440 阅读 · 0 评论 -
远征 Expedition(挑战程序设计竞赛)
你需要驾驶一辆汽车行驶 L 单位距离。最开始时, 卡车上有 P 单位的汽油。汽车每开 1 单位距离需要消耗 1 单位的汽油。如果在途中车上的汽油耗尽, 车就无法继续前行, 因而无法达到终点。在途中一共有 N 个加油站。第 i 个加油站在距离 终点 Ai 单位距离的地方, 最多可以给汽车加 Bi 单位汽油。假设卡车的燃油箱的容量是无限大的。问最少加多少次汽油可以达到终点 ?无法达到请输出−1。输入第一行是N,表示有多少个加油站 接下来NN行,每行两个整数Ai,B...原创 2022-02-11 21:36:01 · 358 阅读 · 0 评论 -
划分数(挑战程序设计竞赛)
有 nn 个无区别的物品, 将它们划分成不超过 mm 组,求划分方法数模 MM 的余数输入输入第一行有三个整数nn、mm、MM 1 \leq m \leq n \leq 10001≤m≤n≤1000 1 \leq M \leq 10^41≤M≤104输出输出一个整数表示划分方法数模MM的余数样例 1输入4 3 10000输出详细解析:https://www.papamelon.com/post/roCHZaxsG7uh8lCWwMsuY1M364pLVJ...原创 2022-02-08 23:47:38 · 455 阅读 · 0 评论 -
最长上升子序列问题(挑战程序设计竞赛)
有一个长为nn的序列a_0, a_1,...,a_{n - 1}a0,a1,...,an−1。求出这个序列的最长上升子序列的长度。上升子序列指的是对于任意的i < ji<j都满足a_i < a_jai<aj的子序列。输入第一行为一个整数nn 第二行有nn个整数表示序列aa 1 \leq n \leq 10001≤n≤1000 1 \leq a_i \leq 10^61≤ai≤106输出一个整数,表示最长上升子序列的长度样...原创 2022-02-08 16:26:39 · 467 阅读 · 0 评论 -
完全背包问题(挑战程序设计竞赛)
有nn个重量和价值分别为w_iwi,v_ivi的物品。从这些物品中挑选出总重量不超过WW的物品,求所有挑选方案中价值总和的最大值。在这里,每种物品可以挑选任意多件。输入输入数据第一行有两个整数nn和WW,接下来会有nn行,分别表示nn个物品的对应的w_iwi和v_ivi 1 \leq n \leq 1001≤n≤100 1 \leq w_i \leq 1001≤wi≤100 1 \leq v_i \leq 1001≤vi≤100 1 \leq...原创 2022-02-08 12:17:56 · 277 阅读 · 0 评论 -
最长公共子序列问题(挑战程序设计竞赛)
给定两个字符串s_1s_2...s_ns1s2...sn和t_1t_2...t_nt1t2...tn.求出这两个字符串的最长公共子序列的长度。输入输入第一行有两个整数mm和nn,分别表示字符串ss和tt的长度,输入第二行和第三行分别表示字符串s和t. 1 \leq n, m \leq 10001≤n,m≤1000.输出对于每行输入,输出一行,包含一个整数,表示这两个字符串的最长公共子序列的长度.样例 1输入4 4abcdbecd输出3#includ原创 2022-02-08 00:15:29 · 599 阅读 · 0 评论 -
萨鲁曼的军队 Saruman‘s Army(挑战程序设计竞赛)
直线上有NN个点,点ii的位置是x_ixi(多个点可以在同一个位置)。可以在NN个点中选择某些点打上标记。要求最终,每个点,距离其RR范围内必须有带有标记的点(自己本身带有标记的点,可以认为与其距离为00的地方有一个带有标记的点)。在满足上述条件下,至少要选中多少个点打上标记?输入多组测试数据,每组测试: 第一行两个整数R(0 \leq R \leq 1000)R(0≤R≤1000)和N(1 \leq N \leq 1000)N(1≤N≤1000) 第...原创 2022-02-05 22:30:21 · 387 阅读 · 0 评论 -
字典序最小问题 Best Cow Line(挑战程序设计竞赛)
给定一个字符SS,长度为NN。由SS构成出新的字符串TT,长度也为NN。起初TT是一个空串,然后执行NN次操作,每次操作有两种选择:从SS头部删除一个字符,加到TT的尾部 从SS尾部删除一个字符,加到TT的尾部我们要决定一种最优的操作方案,使得TT串的字典序最小。输入第一行整数N(1 \leq N \leq 2000)N(1≤N≤2000),表示SS串的长度 接下来NN行,每行一个大写英文字符,表示SS串的每个字符输出输出一行...原创 2022-02-04 15:04:28 · 380 阅读 · 0 评论 -
挑战程序设计—— 区间调度问题
有nn个工作,每个工作的开始和结束时间分别为s_isi,t_iti。当选中了一个工作就要从到尾完成,不能中断。选择多个工作的时候,工作之间不能有重叠,即使是开始和结束的瞬间也不能重叠。现在让我们求出最多能选择多少个工作?输出多组测试数据,以EOF结束 每组测试: 第一行是整数n(1 \leq n \leq 10^5)n(1≤n≤105) 接下来nn行,每行两个整数,表示一个工作的开始时间s_isi和 结束时间t_iti 1 \leq s_i \l...原创 2022-01-31 01:00:20 · 924 阅读 · 0 评论 -
挑战程序设计——硬币问题 II
有1,5,10,50,100,5001,5,10,50,100,500元的硬币,分别为C_1, C_5, C_{10}, C_{50}, C_{100}, C_{500}C1,C5,C10,C50,C100,C500个。现在使用这些硬币来支付AA元,最少需要多少个硬币?本题保证至少存在一种支付方案输入第一行整数T(1 \leq T \leq 10000)T(1≤T≤10000),表示有TT组测试数据 每组测试数据占两行: 第一行,66个整数,分别表示C_1, C...原创 2022-01-22 00:30:01 · 589 阅读 · 0 评论 -
挑战程序设计——迷宫的最短路径
给定一个大小为 N \times MN×M 的迷宫,由通道和墙壁组成。每一步可以向相邻的上下左右四个方向移动。请求出起点到终点的最小步数。本题保证从起点一定能走到终点。# 表示墙壁,不可走。 . 表示通道,可走。S 表示起点。G 表示终点。输入第一行两个整数N, M(1 \leq N,M \leq 100)N,M(1≤N,M≤100) 接下来NN行,每行MM个字符,表示迷宫输出输出一行,表示从起点到终点的最少步数样例 1输入10 10#S######.#...原创 2022-01-22 00:03:33 · 955 阅读 · 0 评论 -
挑战程序设计竞赛——水洼计数
有一个大小为N \times MN×M的园子,雨后发生积水。八连通的积水被认为是连接在一起的。请求出园子中有多少个水洼?何为八连通****W****对于 W 来说,* 就是八个与它连通的点输入第一行两个整数N,M(1 \leq N,M \leq 100)N,M(1≤N,M≤100), 表示NN行MM列 接下来有NN行,每行MM个字符,可能是.,W,.表示地,W表示水输出一个整数,表示多少个水洼样例1输入10 12W.......原创 2022-01-20 16:48:50 · 618 阅读 · 0 评论 -
挑战程序设计——部分和问题
给定nn个整数,判断是否能选出若干个数,使得它们的和恰好为kk。输入多组测试数据,以EOF结束 每组测试数据由以下部分组成: 第一行为整数n(1 \leq n \leq 20)n(1≤n≤20) 第二行为nn个整数a_i(-10^8 \leq a_i \leq 10^8)ai(−108≤ai≤108) 第三行为整数k(-10^8 \leq k \leq 10^8)k(−108≤k≤108) 数据保证多组测试数据的nn之和不超过2020输出每组测试...原创 2022-01-20 01:22:36 · 516 阅读 · 0 评论 -
《挑战程序设计竞赛》——抽签
一个袋子中有nn个数字纸片,每张上面都写了一个数字。我们有44次机会,每次从袋子中选一个纸片,记录下数字,然后放回去(因此一个纸片可能多次被选中)。当存在一个可能,使得44张纸片的数字总和等于mm,则输出Yes,否则输出No输入第一行输入整数n(1 \leq n \leq 1000)n(1≤n≤1000) 第二行输入整数m(1 \leq m \leq 10^8)m(1≤m≤108) 第三行输入nn个整数,表示每个纸片上的数字k_i(1 \leq k_i \le...原创 2022-01-19 23:45:26 · 595 阅读 · 0 评论