刷题
文章平均质量分 54
日常刷题
{∞}
自然选择,前进四!
展开
-
【c++提高1】树状数组
1.树状数组简述2.树状数组的思想3.基础问题的扩展:树状数组求任意区间4.树状数组代码实现。原创 2023-02-07 19:30:24 · 602 阅读 · 1 评论 -
atcoder11-16日刷题总结
4.abc270-D 设f_i表示剩下i颗石头时Takahashi可以获得的最大石子数,那么如果我们这次拿走了a_j颗石子,然后对方最多获得f_i-aj颗石子,剩下的i-f_(i-a_j)颗石子就是Takahashi的了。第一次是二分目标点x的位置,对于中点mid,如果矩阵[(1,1),(mid,n)]的棋子数量等于mid,那么就是l移动,否则就是移动r。二分一个x,表示对于每一个篮子i,都拿出min(ai,x)个苹果的情况,显然我们需要的答案时最大的x。注意:存的时候不能把>n的存了,否则会re。原创 2023-01-17 21:18:47 · 647 阅读 · 0 评论 -
2021瑶海区题解
每轮游戏消耗n份零食,k轮游戏消耗n*k份零食,最后剩下的零食就是m-n*k份零食。原创 2022-11-11 21:36:22 · 424 阅读 · 0 评论 -
2021庐阳区题解
简单的判断题,不多说了。=;--)原创 2022-11-10 22:07:08 · 1167 阅读 · 0 评论 -
【c++刷题Day3】专题4T4
农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0≤N≤100000),牛位于点K(0≤K≤100000)。把每一个情况当成一个图的节点,但是这个有无限的情况,不能用dfs,所以就用bfs图的遍历。假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?1、从X移动到X-1或X+1,每次移动花费一分钟。一个整数,农夫抓到牛所要花费的最小分钟数。2、从X移动到2*X,每次移动花费一分钟。这是C++刷题的Day3。...原创 2022-08-16 19:27:45 · 154 阅读 · 0 评论 -
【c++刷题Day3】专题5数组标记&哈希T1
他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?对于 100%的数据,3 ≤ n ≤ 2000,测验题给出的正整数大小不超过 1,000,000。由 1+2=3,1+3=4,故满足测试要求的答案为 2。枚举a[i],a[j],a[k],判断a[i]+a[j]是否=a[k],时间O(N^3)输入共两行,第一行包含一个整数 n,表示测试题中给出的正整数个数。枚举a[i],a[j],接下来判断a[i]+a[j]是否在数组中。...原创 2022-08-16 19:38:56 · 95 阅读 · 0 评论 -
【c++刷题Day4】前缀和&差分
同时FJ给出了R(0≤R≤100000)条记录信息,记录的格式是“奶牛17能看到奶牛34”,这条记录的意思是,奶牛34的高度至少与奶牛17的高度一样,而且从奶牛17到奶牛34之间的奶牛的高度严格小于奶牛17的高度。FJ的N(1 ≤ N ≤ 100000) 头奶牛排成一排编号为1到N。每头奶牛都有一个身高,用一个正整数表示。你已经知道了最高的奶牛的高度是H(1≤H≤10^6)以及该奶牛的编号i.对于每一个操作(i, j),可以选择让i,j太高,或者将[i+1,j-1]-1,显然选择2,差分处理即可。...原创 2022-08-18 10:18:54 · 162 阅读 · 0 评论 -
【c++刷题Day3】专题3T2
小科森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,“.”和"#“,”.“前者表示可以通行,”#"表示不能通行。同时当小科处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,小科想要从点A走到点B,问在不走出迷宫的情况下能不能办到。再接下来一行是4个整数ha, la, hb, lb,描述A处在第ha行, 第la列,B处在第hb行, 第lb列。第1行是一个正整数n (1 ≤ n ≤ 100),表示迷宫的规模是n * n的。...原创 2022-08-16 19:19:59 · 739 阅读 · 1 评论 -
【c++刷题Day3】专题4T3
某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击。在古老的传说中,有两个军团,一个叫天灾,一个叫近卫。其中近卫军团在1号隘口,天灾军团在n号隘口。由于n的值比较大(n...原创 2022-08-16 19:23:44 · 107 阅读 · 0 评论 -
【c++刷题Day3】专题4T5
他们在一块很大的矩形的土地上进行勘探,然后把这块土地划分成多个正方形的方格,从而构成了一个网格。如果两个oil pocket是相连的(相连的定义是两个方格朝横、竖或对角线方向相连),那么它们同属于一个oil deposit。接下来m行,每行n个字符,一个字符表示一个方格,如果字符是“*”表示这个方格没有石油,字符是“@”表示是一个oil pocket。第一行是空格隔开的两个整数m和n,表示网格是m行 n列(1≤m≤100,1≤n≤100)输入包含多组测试数据。每组测试数据描述的是一个m*n的网格。...原创 2022-08-16 19:30:58 · 211 阅读 · 0 评论 -
【c++刷题Day2】专题4搜索T1
由1~n组成的所有不重复的数字序列,每行一个序列。按照字典序从小到大输出每种排列,每个数字保留5个常宽(printf(“%5d”, x), 可以将x按照保留5个长宽输出)。输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。定义数组a存储答案,当当前填数位置>n时,输出a数组即可。dfs每一个位置,定义数组book标记一个数有没有用过。这是C++刷题的Day2。...原创 2022-08-15 17:40:09 · 44 阅读 · 0 评论 -
【c++刷题Day3】专题6前缀和&差分T1
定义数组s[i]表示[1,i]的和,s[i]可以通过转移状态s[i-1]加上a[i]即可,获取[l,r]就是s[r]-s[l-1]−1000≤数列中元素的值≤1000。对于每个询问,输出原序列中从第 l。个询问,每个询问输入一对 l,r。行,每行包含两个整数 l 和 r。行,每行输出一个询问的结果。,表示一个询问的区间范围。这是C++刷题的Day3。第一行包含两个整数 n。个整数,表示整数数列。...原创 2022-08-16 20:01:17 · 111 阅读 · 0 评论 -
【c++刷题Day4】前缀和&差分
某校大门外长度为 lll 的马路上有一排树,每两棵相邻的树之间的间隔都是 111 米。我们可以把马路看成一个数轴,马路的一端在数轴 000 的位置,另一端在 lll 的位置;数轴上的每个整数点,即 0,1,2,…,l0,1,2,\dots,l0,1,2,…,l,都种有一棵树。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。接下来 mmm 行,每行两个整数 u,vu, vu,v,表示一个区域的起始点和终止点的坐标。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。...原创 2022-08-18 10:11:01 · 68 阅读 · 0 评论 -
【c++刷题Day3】专题5数组标记&哈希T2
某校大门外长度为 lll 的马路上有一排树,每两棵相邻的树之间的间隔都是 111 米。我们可以把马路看成一个数轴,马路的一端在数轴 000 的位置,另一端在 lll 的位置;数轴上的每个整数点,即 0,1,2,…,l0,1,2,\dots,l0,1,2,…,l,都种有一棵树。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。接下来 mmm 行,每行两个整数 u,vu, vu,v,表示一个区域的起始点和终止点的坐标。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。...原创 2022-08-16 19:47:31 · 88 阅读 · 0 评论 -
【c++刷题Day3】专题6前缀和&差分T2
输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2。行,每行包含四个整数 x1,y1,x2,y2。,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。−1000≤矩阵内元素的值≤1000。第一行包含三个整数 n,m,q。行,每行输出一个询问的结果。这是C++刷题的Day3。个整数,表示整数矩阵。...原创 2022-08-16 20:05:11 · 190 阅读 · 2 评论 -
【c++刷题Day2】专题2T4
题目是这样的:给定n对小括号,问给出的一个括号序列是否为一种合理的括号序列,以及n对小括号能够组成的合理括号序列有多少种?对于给定的序列是否是合理的,小丁一眼就看出来了,但是对于n对小括号,有多少种合理的括号序列,小丁就有点被难到了,你能帮助小丁处理这个问题么?如果输入的括号序列是合理的,输出”YES”,否则输出”NO”。2对括号只有2种合理的括号序列,分别为:()()与(())。比如,给定两对小括号,那么:()()与(())都是合理的。很明显()是合理的,1对括号只有1种合理的括号序列为:()...原创 2022-08-15 16:59:20 · 105 阅读 · 0 评论 -
【c++刷题Day3】专题5数组标记&哈希T3
给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1] 和 [l2,r2]对于每个询问输出一个结果,如果两个字符串子串完全相同则输出 Yes,否则输出 No。的字符串,字符串中只包含大小写英文字母和数字。行,每行包含四个整数 l1,r1,l2,r2。这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。,表示一次询问所涉及的两个区间。,表示字符串长度和询问次数。第二行包含一个长度为 n。注意,字符串的位置从 1。...原创 2022-08-16 19:55:36 · 113 阅读 · 0 评论