牛客多校训练AFJ(签到)】的更多相关文章

题目链接https://ac.nowcoder.com/acm/contest/881/A(单调栈) #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<stack> #include<set> #include<vector> #include<map>…
题目传送门 题意: 输入一段字符串,字符串中连续的三个相同的字符可以消去,消去后剩下的左右两段字符串拼接,求最多可消去次数. 输入:ATCCCTTG   输出:2 ATCCCTTG(消去CCC)——>ATTTG(消去TTT)——>AG 题解: 签到题,用栈模拟即可. Code: 用栈模拟: /*7ms*/ 1 #include<bits/stdc++.h> using namespace std; ; int main() { string str; while(!(cin>…
题目传送门 题意: 输入整数m( m∈2k ∣ k=1,2,⋯,10),构造一个由1和-1组成的m×m矩阵,要求对于任意两个不同的行的内积为0. 题解: Code: #include<bits/stdc++.h> using namespace std; <<)+; int ans[M][M]; void solve(int k,int n,int m) { ) return; else{ ;i<n;i++){ ;j<n;j++){ ||j<n/) ans[i][…
题目传送门 题意: 输入一个只包含数字的字符串,求出是300的倍数的子串的个数(不同位置的0.00.000等都算,并考虑前导零的情况). sample input: 600 123000321013200987000789 sample output: 4 55 题解: O(n)做法:遍历一遍,求前缀和sum取余3,统计sum的个数num[sum],遇到本位和下一位都是0,则把之前统计的个数加上,最后加上单独0的个数. O(300n)DP做法:如下 官方题解: Code: O(n)做法如下: /…
题目传送门 大致题意: 输入测试用例个数T,输入点的个数n(n为偶数),再分别输入n个不同的点的坐标,要求输出四个整数x1,y1,x2,y2,表示有一条经过点(x1,y1),(x2,y2)的直线将该二维平面内的点分成点数相等的两部分.(这条线不能通过平面内任何一点) sample input: 140 1-1 01 00 -1 sample output:(special judge) -1 999000000 1 -999000001 题解: 将这n个点以x为第一关键字y为第二关键字从小到大排…
题目传送门 大致题意: 输入整数n(1<=n<=100000),再输入由n个0或1组成的字符串,求该字符串中满足1和0个数相等的最长子串.子序列. sample input: 801001001 sample output: 4 6 题解: 补充一下子串和子序列的区别:字串必须连续,子序列不必连续. 求01个数相等的最长子序列长度:min(0的个数,1的个数). 下面说求01个数相等的最长子串长度: 可以建一个sum数组求前缀和,因为要使0和1个数相等,所以0可以用-1代替,故当sum[r]-…
题意:一个n×m的农田, 每个小格子都有一种作物, 现在喷t次农药,每次农药覆盖一个矩形, 该矩形里面与农药类型不同的植物都会死掉, 求最后植物的死亡数是多少. 题解:二维树状数组. 每次喷农药的时候将这个覆盖的区间加一. 然后对于[1,n*m]的植物, 先删除同种植物的同种农药对区间的影响, 然后查询该种植物的是否被标记过了 即 该位置的值 > 1, 最后处理完这种植物再把这种植物的农药再加回去. 代码: #include<bits/stdc++.h> using namespace…
观察前3组可以推出递归规律,生成下一个类型时,每行copy自身与自身相反. 题目描述 Gromah and LZR have entered the third level. There is a blank grid of size m\times mm×m, and above the grid is a word "CDMA".   In CDMA Technology, a Technology about computer network, every network nod…
2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有两个属性a,b 需要将点划分为两堆,划分依据是对于在A划分中的任意点a和在B划分中的任意点b满足 不存在当a.x>b.x时,a.y<b.y 的情况 在A划分中的点可以给出其a属性的贡献,在B划分中的点可以给出其b属性的贡献 求最大贡献和 题解: 根据题意,我们可以得出结论,我们需要找的是一根折线,…
牛客多校第一场 B Inergratiion 传送门:https://ac.nowcoder.com/acm/contest/881/B 题意: 给你一个 [求值为多少 题解: 根据线代的知识 我们可以将分母裂项,然后根据 \(\int_{0}^{\infty} \frac{1}{1+x^2}dx=\frac{\pi}{2}-->\int_{0}^{\infty} \frac{1}{1+\frac{x}{a_i}^2}d\frac{x}{a_i}=\frac{\pi}{2}\) 可以推得 我们的…