自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P1271 【深基9.例1】选举学生会

题目描述学校正在选举学生会成员,有 n(n≤999) 名候选人,每名候选人编号分别从 1 到 n,现在收集到了 (m<=2000000) 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入 n和 m以及 m 个选票上的数字,求出排序后的选票编号。输入格式无输出格式无输入输出样例输入 #15 102 5 2 2 5 2 2 2 1 2输出 #11 2 2 2 2 2 2 2 5 5源代码#include<bits/stdc+.

2021-03-04 15:13:16 260 1

原创 二进制中1的个数

给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。输入格式第一行包含整数n。第二行包含n个整数,表示整个数列。输出格式共一行,包含n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中1的个数。数据范围1≤n≤100000,0≤数列中元素的值≤109输入样例:51 2 3 4 5输出样例:1 1 2 1 2源代码#include<bits/stdc++.h>using namespace std;const int N=1000.

2021-03-03 22:09:52 190 1

原创 判断子序列

给定一个长度为 n 的整数序列 a1,a2,…,an 以及一个长度为 m 的整数序列 b1,b2,…,bm。请你判断 a 序列是否为 b 序列的子序列。子序列指序列的一部分项按原有次序排列而得的序列,例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5} 的一个子序列。[输入格式]第一行包含两个整数 n,m。第二行包含 n 个整数,表示 a1,a2,…,an。第三行包含 m 个整数,表示 b1,b2,…,bm。[输出格式]如果 a 序列是 b 序列的子序列,输出一行 Ye.

2021-03-03 20:44:36 353 1

原创 数组元素的目标和

给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i] + B[j] = x的数对(i, j)。数据保证有唯一解。[输入格式]第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。第二行包含n个整数,表示数组A。第三行包含m个整数,表示数组B。[输出格式]共一行,包含两个整数 i 和 j。数据范围数组长度不超过100000。同一数组内元素各不相同。1≤数组元素≤109[输入样例]4 5 61 2 4 73 4 6 8 9.

2021-03-03 20:37:30 301 1

原创 最长连续不重复子序列

给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。[输入格式]第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。[输出格式]共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。[数据范围]1≤n≤100000[输入样例]51 2 2 3 5[输出样例]3源代码#include<iostream>using namespace std;const int N=100010;int n,r.

2021-03-03 20:18:09 167 1

原创 差分矩阵

输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c。请你将进行完所有操作后的矩阵输出。[输入格式]第一行包含整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含5个整数x1, y1, x2, y2, c,表示一个操作。[输出格式]共 n 行,每行 m 个整数,表示所有操作进行完毕后的最终矩.

2021-03-03 20:10:06 145 1

原创 差分

输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。请你输出进行完所有操作后的序列。[输入格式]第一行包含两个整数n和m。第二行包含n个整数,表示整数序列。接下来m行,每行包含三个整数l,r,c,表示一个操作。[输出格式]共一行,包含n个整数,表示最终序列。[数据范围]1≤n,m≤100000,1≤l≤r≤n,−1000≤c≤1000,−1000≤整数序列中元素的值≤1000[输入样例]6 31 2.

2021-03-03 19:58:03 107 1

原创 子矩阵的和

输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。[输入格式]第一行包含三个整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含四个整数x1, y1, x2, y2,表示一组询问。[输出格式]共q行,每行输出一个询问的结果。[数据范围]1≤n,m≤1000,1≤q≤200000,1≤x1≤x2≤n,1≤y1≤y2≤m,−1000≤矩阵.

2021-03-03 19:51:11 114 1

原创 前缀和

输入一个长度为 n 的整数序列。接下来再输 m 个询问,每个询问输入一对 l,r。对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。[输入格式]第一行包含两个整数 n 和 m。第二行包含 n 个整数,表示整数数列。接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。[输出格式]共m行,每行输出一个询问的结果。[数据范围]1≤l≤r≤n,1≤n,m≤100000,−1000≤数列中元素的值≤1000[输入样例]5 32 1 3 6 41 21 3.

2021-03-03 19:44:16 155 1

原创 高精度除法

题目描述给定两个非负整数A,B,请你计算 A / B的商和余数。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共两行,第一行输出所求的商,第二行输出所求余数。数据范围1≤A的长度≤100000,1≤B≤10000B 一定不为0输入样例:72输出样例:31源代码#include<bits/stdc++.h>using namespace std;string a;int b;vector<int> A;vector<.

2021-02-17 21:00:54 122

原创 高精度乘法

题目描述给定两个正整数A和B,请你计算A * B的值。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共一行,包含A * B的值数据范围1≤A的长度≤100000,0≤B≤10000输入样例:23输出样例:6【源代码】#include<bits/stdc++.h>using namespace std;string a;int b;vector<int> A;vector<int> mul(vector<in.

2021-02-17 20:47:28 111

原创 高精度减法

【题目描述】给定两个正整数,计算它们的差,计算结果可能为负数。【输入格式】共两行,每行包含一个整数。【输出格式】共一行,包含所求的差。【数据范围】1≤整数长度≤105【输入样例】3211【输出样例】21【源代码】#include<bits/stdc++.h>using namespace std;string a,b;vector<int> A,B;bool cmp(string a,string b){ if(a.size()!= .

2021-02-17 20:36:55 135

原创 高精度加法

[题目背景]给定两个正整数,计算它们的和。[ 输入格式]共两行,每行包含一个整数。[输出格式]共一行,包含所求的和。[数据范围]1≤整数长度≤100000[输入样例]1223[输出样例]35[源代码]#include<bits/stdc++.h>using namespace std;string a,b;vector<int> A,B;vector<int> add(vector<int> A,vector<in.

2021-02-17 20:11:59 127

原创 数的三次方根

[题目描述]给定一个浮点数n,求它的三次方根。[输入格式]共一行,包含一个浮点数n。[输出格式]共一行,包含一个浮点数,表示问题的解。注意,结果保留6位小数。[数据范围]−10000≤n≤10000[输入样例]1000.00[输出样例]10.000000[源代码]#include<bits/stdc++.h>using namespace std;double l,r,mid,cnt;int main(){ cin>>cnt; .

2021-02-17 19:18:29 192

原创 数的范围

[题目描述]给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。[输入格式]第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。[输出格式]共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回“-1 -1”。[数据范围].

2021-02-17 19:10:05 255

原创 逆序对的数量

[题目描述]给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。[输入格式]第一行包含整数n,表示数列的长度。第二行包含 n 个整数,表示整个数列。[输出格式]输出一个整数,表示逆序对的个数。[数据范围]1≤n≤100000[输入样例]62 3 4 5 6 1[输出样例]5#include<bits/stdc++.h&.

2021-02-17 19:02:34 285

原创 归并排序

[题目背景]给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。[输入格式]输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。[输出格式]输出共一行,包含 n 个整数,表示排好序的数列。[数据范围]1≤n≤100000[输入样例]53 1 2 4 5[输出样例]1 2 3 4 5[原代码]#include<bits/stdc++.h>using nam.

2021-02-17 18:53:14 111

原创 第k个数

[题目背景]给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。[输入格式]第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。[输出格式]输出一个整数,表示数列的第k小数。[数据范围]1≤n≤100000,1≤k≤n[输入样例]5 32 4 1 5 3[输出样例]3[源代码]#include<bits/stdc++.h>using namespace std;co.

2021-02-17 13:27:17 141

原创 快速排序

[题目描述]给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。[输入格式]输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~1e9范围内),表示整个数列。[输出格式]输出共一行,包含 n 个整数,表示排好序的数列。[数据范围]1≤n≤100000[输入样例]53 1 2 4 5[输出样例]1 2 3 4 5[源代码]#include<bits/stdc++.h>using nam.

2021-02-17 13:14:23 167

原创 P2440 木材加工

[题目背景]要保护环境[题目描述]木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有剩余),需要得到的小段的数目是给定的。当然,我们希望得到的小段木头越长越好,你的任务是计算能够得到的小段木头的最大长度。木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。例如有两根原木长度分别为11和21,要求切割成到等长的6段,很明显能切割出来的小段木头长度最长为5.[输入格式]第一行是两个正整数N和K(1 ≤ N ≤ 100000,1 ≤ K .

2021-02-16 20:36:02 158

原创 P1678 烦恼的高考志愿

[题目背景]计算机竞赛小组的神牛V神终于结束了万恶的高考,然而作为班长的他还不能闲下来,班主任老t给了他一个艰巨的任务:帮同学找出最合理的大学填报方案。可是v神太忙了,身后还有一群小姑娘等着和他约会,于是他想到了同为计算机竞赛小组的你,请你帮他完成这个艰巨的任务。[题目描述]现有 m(m≤100000) 所学校,每所学校预计分数线是 ai(ai≤10e6)有n(n≤100000) 位学生,估分分别为bi(bi≤10e6)。根据n位学生的估分情况,分别给每位学生推荐一所学校,要求学校的预计分数线和学.

2021-02-16 20:12:15 444

原创 P1873 砍树

题目描述伐木工人米尔科需要砍倒M米长的木材。这是一个对米尔科来说很容易的工作,因为他有一个漂亮的新伐木机,可以像野火一样砍倒森林。不过,米尔科只被允许砍倒单行树木。米尔科的伐木机工作过程如下:米尔科设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有的树比H高的部分(当然,树木不高于H米的部分保持不变)。米尔科就行到树木被锯下的部分。例如,如果一行树的高度分别为20,15,10和17,米尔科把锯片升到15米的高度,切割后树木剩下的高度将是15,15,10和15,而米尔科将从第1棵树.

2021-02-16 15:00:16 179

原创 P1102 A-B 数对

[题目描述]出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!好吧,题目是这样的:给出一串数以及一个数字 C,要求计算出所有 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。[输入格式]输入共两行。第一行,两个整数 N,C。第二行,N 个整数,作为要求处理的那串数。[输出格式]一行,表示该串数中包含的满足 A−B=C 的数对的个数。[输入样例]输入 #14 11 1 2 3[输出样例].

2021-02-16 14:20:11 530

原创 P2249 【深基13.例1】查找

[题目描述]输入 n(n≤10e6) 个 不超过10e9的单调不减的(就是后面的数字不小于前面的数字)非负整数a1,a2,…,an然后进行m(m≤10e5) \次询问。对于每次询问,给出一个整数q(q≤10e9),要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 -1 。[输入格式]第一行 2 个整数 n 和 m,表示数字个数和询问次数。第二行 n 个整数,表示这些待查询的数字。第三行 m 个整数,表示询问这些数字的编号,从 1 开始编号。[输出格式]m 个整数表示答案。输入.

2021-02-16 11:49:30 402

空空如也

空空如也

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

TA关注的人

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