- 博客(18)
- 收藏
- 关注
原创 专题训练_树状数组
题目Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue…The Lunar New Year was approaching, but unluckily the Little Cat still had schedules going here and there. Now, he had to travel b
2022-03-13 23:00:12
179
原创 专题训练_树状数组
题意题目描述如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上xx 求出某区间每一个数的和 输入格式第一行包含两个正整数 n,m,分别表示该数列数字的个数和操作的总个数。第二行包含 n 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。接下来 m 行每行包含 3 个整数,表示一个操作,具体如下: 1 x k含义:将第x个数加上k 2 x y含义:输出区间[x,y]内每个数的和 输出格式输出包含若干行整...
2022-02-11 19:58:58
189
原创 专题训练_数论-Fedya and Maths
题意Fedya studies in a gymnasium. Fedya's maths hometask is to calculate the following expression:(1^n + 2^n + 3^n + 4^n) mod 5for given value of n. Fedya managed to complete the task. Can you? Note that given number n can be extremely large (e.g. it..
2022-02-07 18:50:43
445
原创 专题训练_数论——k-rounding
题意For a given positive integer n denote its k-rounding as the minimum positive integer x, such that x ends with k or more zeros in base 10 and is divisible by n.For example, 4-rounding of 375 is 375·80 = 30000. 30000 is the minimum integer such that
2022-02-07 18:08:09
289
原创 专题训练3 Bproblem—Learning language
题意The "BerCorp" company has gotnemployees. These employees can usemapproved official languages for the formal correspondence. The languages are numbered with integers from1tom. For each employee we have the list of languages, which he knows. This ...
2022-02-04 22:33:33
709
原创 专题训练3—Aproblem 并查集
题意维护一个 n 点的无向图,支持:加入一条连接u 和v的无向边 查询u和v的连通性由于本题数据较大,因此输出的时候采用特殊的输出方式:用 00 或 11 代表每个询问的答案,将每个询问的答案依次从左到右排列,把得到的串视为一个二进制数,输出这个二进制数模998244353 的值。输入格式第一行包含两个整数 n,m,表示点的个数和操作的数目。接下来 mm 行每行包括三个整数 op,u,v。如果 op=0,则表示加入一条连接u和v的无向边; 如果 op=1,...
2022-02-03 21:01:44
1038
原创 牛客寒假训练营——买瓜
题意智乃来到水果摊前买瓜,水果摊上贩卖着N{N}N个不同的西瓜,第i{i}i个西瓜的重量为wiw_iwi。智乃对于每个瓜都可以选择买一个整瓜或者把瓜劈开买半个瓜,半个瓜的重量为wi2\frac{w_i}{2}2wi。也就是说对于每个西瓜,智乃都有三种不同的决策:购买一整个重量为wi的西瓜 把瓜劈开,购买半个重量为wi/2的西瓜 不进行购买操作为了简化题目,我们保证所有瓜的重量都是一个正偶数。现在智乃想要知道,如果他想要购买西瓜的重量和分别为k=1,2,3...M时,有多少种
2022-02-03 19:31:13
285
原创 2022牛客寒假算法基础集训营1 Jproblem
题意牛牛是一个幼儿园老师,他经常带小朋友们一起做游戏。现在,牛牛的班里有A个安静的小朋友和B个闹腾的小朋友,牛牛想要从中选出恰好nn个人来做游戏。这个游戏需要小朋友们手拉手围成一个圆圈,但不妙的是,如果两个闹腾的小朋友在圆圈中紧挨着,他们就会打闹,导致游戏无法进行。每个小朋友还有一个幸福度v,若这位小朋友被选中参加游戏,则会使得班级的幸福度增加v。请你求出,在满足上述所限制的情况下,恰当的安排围成圆圈的方法,能使得班级的幸福度最大为多少链接:登录—专业IT笔试面试备考平台_牛
2022-01-24 20:01:09
2573
原创 专题训练2 Dproblem—采药
题意辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式第一行有两个整数 T(1≤T≤1000)和 M(1≤M≤100),用一个空格
2022-01-24 18:05:55
142
原创 专题学习2 Bproblem-最长公共序列
题意给出 1∼n 的两个排列 P1 和 P2,求它们的最长公共子序列。输入格式第一行是一个数n(1≤n≤10^5)。接下来两行,每行为n个数,为自然数 1∼n的一个排列。输出格式一个数,即最长公共子序列的长度。Sample Input5 3 2 1 4 51 2 3 4 5Sample Output3思路这题如果用找最长公共子序列的dp状态方程去求会超内存还会超时间,所以要转换一下思维,把p1排列的数字每一个数字变成下标来进行离散,那么...
2022-01-24 01:15:10
595
2
原创 专题学习2 Aproblem-拦截导弹
题意某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。思路将题目转换成找到最长非增序列和最长递增序列即可,然后在寻找最长非增序
2022-01-23 00:05:18
289
原创 专题学习1 J problem-求最大连续和
题意给你一个长度为 n的整数序列 {A1,A2,⋯,An}{A1,A2,⋯,An},要求从中找出一段连续的长度不超过 m的非空子序列,使得这个序列的和最大。思路因为是求子段和,所以存在多种情况比较的情况,马上思考到的就是前缀和方法,这样在求某段和的时候能够有效减少时间复杂度,接下来就是对算法的优化了。这里用到单调队列(但是队内都要满足一个条件,队头一定是小于a数组第i个数值)在每一个数的循环的结尾保存该次循环在在前缀和里的差值。代码#include <iostream>
2022-01-22 15:44:48
538
原创 专题学习1 Hproblem-Error Curve
题目Josephina is a clever girl and addicted to Machine Learning recently. Shepays much attention to a method called Linear Discriminant Analysis, whichhas many interesting properties.In order to test the algorithm’s efficiency, she collects many dataset
2022-01-20 18:21:45
426
原创 专题训练1 Fproblem-地毯
题意在 n×n 的格子上有 m 个地毯。给出这些地毯的信息,问每个点被多少个地毯覆盖。就是矩形覆盖,求某个点共被覆盖多少次。思路暴力硬上不知道会不会超时,但是这题考的是差分的使用,而且是二维差分,非常的经典啊,直接上代码吧。代码#include <bits/stdc++.h>using namespace std;const int N = 1009;int a[N][N];int main() int n, m; cin>>n>&
2022-01-20 15:20:49
619
原创 专题学习1 Dproblem—一维前缀和
题意在一个一维数组中输入n个数,在接下来的q行分别输入f,t两个数字,要求输出数组中第f个数字到第t个数字的和。思路如果是正常用for(int i=f-1;i<t;i++) sum+=a[i];那么时间复杂度会达到O(n^2)在oj上会TLE所以需要用前缀和的办法来解决,也就是多建立一个数组 b[i]=b[i-1]+a[i],这个数组的每一个元素等价于a数组从0开始到i的求和。这样一来在接下来的求和调用就省去了一遍一遍再相加的麻烦,这样第f位数字到第t位数字的和就可以表示为:b[t-1]-
2022-01-20 12:09:04
414
原创 专题学习1 Cproblem—马走日
题意请编写一段程序,给定 n \times mn×m大小的棋盘,以及马的初始位置 (x, y)(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。Sample Input15 4 0 0Sample Output32思路建立一个vis的数组来标记走过的路径 dfs函数思路,检索该带点8个方向的点是否符合可以踏上的条件(在棋盘内,且没有被标记(也就是vis[x][y]!=1))如果该店符合标记就对这个点进行dfs的递归调用。代码
2022-01-20 00:26:06
4505
原创 专题学习1 Bproblem—全排列
题意输入一个1-6位的字符串,且已经按小到大排列好,输出该字符串的全排列。Sample InputabcSample Outputabcacbbacbcacabcba思路因为题目输入已经是排列过后的了所以可以用next_permutation直接输出,也可以用dfs算法通过字符交换来按顺序输出。附上dfs的解题代码#include <iostream>#include <algorithm>using namespa
2022-01-19 13:12:45
117
原创 专题学习1 Aproblem — Red and Black
题意The input consists of multiple data sets. A data set starts with a line containing two positive integers W and H; W and H are the numbers of tiles in the x- and y- directions, respectively. W and H are not more than 20.There are H more lines i...
2022-01-19 12:53:15
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人