BC1-Hello Nowcoder】的更多相关文章

语言1:Java public class Main{ public static void main(String[] args){ System.out.println("Hello Nowcoder!"); } } 语言2:Python print("Hello Nowcoder!") 语言3:Scala object Main{ def main(args: Array[String]) { println("Hello Nowcoder!&quo…
在期末被各科的大作业碾压快要窒息之际,百忙之中抽空上牛客网逛了逛,无意中发现一道好题,NowCoder猜想,题意很明显,就是个简单的素数筛法,但竟然超内存了,我晕(+﹏+)~  明明有 3 万多 k 的空间限制……于是我不打表,试了试最暴力的做法,赤裸裸的做法果然超时了,无奈,只好对素数筛法进行位压缩了,这是我目前所能想到的方法了,第一次用上这样的特技,还是调了好一会(位数组里不能用 bool 来定义,具体的话好像 bool 和 int 之类的整型稍有不同:也不能用 int,因其最高位是正负标志…
给定两个有序数组arr1和arr2,在给定一个整数k,返回两个数组的所有数中第K小的数.例如:arr1 = {1,2,3,4,5};arr2 = {3,4,5};K = 1;因为1为所有数中最小的,所以返回1: arr1 = {1,2,3};arr2 = {3,4,5,6};K = 4;因为3为所有数中第4小的数,所以返回3: 要求:如果arr1的长度为N,arr2的长度为M,时间复杂度请达到O(log(min{M,N})). 这题目的难度在于时间复杂度请达到O(log(min{M,N})),参…
给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积.例如arr=[-2.5,4,0,3,0.5,8,-1],子数组[3,0.5,8]累乘可以获得最大的乘积12,所以返回12. 分析,是一个dp的题目, 设f[i]表示以i为结尾的最大值,g[i]表示以i结尾的最小值,那么 f[i+1] = max{f[i]*arr[i+1], g[i]*arr[i+1],arr[i+1]} ,只有这三种情况. 考虑到f[i],g[i]只和i-1有关,那么可以用局部变量即可搞定,…
定义局部最小的概念.arr长度为1时,arr[0]是局部最小.arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小:如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小:如果0<i<N-1,既有arr[i]<arr[i-1]又有arr[i]<arr[i+1],那么arr[i]是局部最小.给定无序数组arr,已知arr中任意两个相邻的数都不相等,写一个函数,只需返回arr中任意一个局部最小出现的位置即可. 分析:…
题目链接:https://www.nowcoder.com/acm/contest/175/B 当你为时间复杂度挠头的时候 别人已经33行拿满分了 #include<cstdio> #include<algorithm> #define N 4000010 using namespace std; typedef long long ll; ll Read(){ ll xx=,ff=;char ch=getchar(); ;ch=getchar();} )+(xx<<)…
题目链接:https://www.nowcoder.com/acm/contest/175/A 题目名字吓死人 std: 我 太可啪了 一道简单的模拟题.虽然我把题意想错了. 按照题意模拟输出和继承. WA 点: 因为数据K范围在263之内(long long:263-1,unsigned long long int :264-1) 所以会很容易爆 也会爆回[l,r]范围内 就会WA 如何避免? 首先假设 x 为继承的值 那么每次改变都是x=x*k 如果每次改变的范围都在r/k的范围内 那么就可…
凉 (比赛链接)[https://www.nowcoder.com/acm/contest/177#question] T1 (题目链接)[https://www.nowcoder.com/acm/contest/177/A] 首先考虑二维前缀和 [l1, r1], [l2, r2]的解 即ans([0, r1], [0, r2]) - ans([0, l1 - 1], [0, r2]) - ans([0, l2 - 1], [0, r1]) + ans([0, l1 - 1], [0, l2…
还是见的题太少了 「NowCoder Contest 295」H. Playing games 题意:选出尽量多的数使得异或和为$ 0$ $ Solution:$ 问题等价于选出尽量少的数使得异或和为全集 根据线性基思想可以推得整个集合的异或集合可以被不超过$ bitcount$个数的异或集合表示 因此答案也不超过$ bitcount$ 对于原集合我们做若干次$ FWT$ 每次把当前异或集合卷上初始集合 复杂度$ O(n \ log^2 \ n)$ 足以通过本题 但是还不够 我们发现我们只是想知…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly27E.html 题目传送门 - NowCoder Wannafly 27E 题意 给出 n, k,求一个长度为 n 的数组 a, 满足有恰好 k 对数对 (i, j) (1 <= i < j <= n) 满足 ai + aj 为完全平方数.如果不存在,输出 -1. 题解 首先考虑最大能构造多少: 容易发现,全部填 2 就是 n(n-1)/2 最大了.然后猜一猜小于等于…