牛客训练赛25-A-因数个数】的更多相关文章

题目链接https://www.nowcoder.com/acm/contest/158/A 无语...这题很迷啊,原谅我的菜,刚开始想用预处理欧拉筛和前缀和,可是这题太血崩了,这样一样要遍历,1-e9的范围,后来翻网上题解,发现其实是个还算经典的问题 这题可以用离散和做嘛,如何离散和???先别着急,我们先想想,为啥这题不用欧拉函数做... 我们平时欧拉函数的题,都还能算比较难的题了,这题不仅仅加大了范围,还要求1-n的因数个数,我们只有另寻其它方法 我们不如写出1-10的因数组成(比赛一定要动…
https://www.nowcoder.com/acm/contest/158#question 这题问最长的严格连续递增序列的最长长度是多少? 最开始感觉这道题不可做,因为有1e5个点,还有1e5的操作数 可是后来发现...这题水的一匹a[i]和y都是在1-100的范围内部 不如这样,我用一个d[i]数组记录连续递增的长度大小,用cnt[i]数组表示数组里面这个长度的连续递增序列的个数,由于这个序列a[i]范围很小,因此最长连续的长度一点小于等于100, 我们可以直接改变单点值,后面减去这单…
题目描述   https://www.nowcoder.net/acm/contest/78/E 已知有一个n+1个数的数列,对于给定的A0和An ,当i满足当1<=i<=n-1时有        现在小星想知道对于这个数列一段区间的和.   输入描述: 第一行输入四个数 n,A0,An,Q 接下来Q行 每行输入两个数l,r 0=< n,A0,An<=1e9,Q<=100000 0<=l<=r<=n 输出描述: 对于每组查询输出Al到Ar的和 示例1 输入…
很妙的一个树形DP问题,简单考虑了一下就过了 https://ac.nowcoder.com/acm/contest/2927/E 主要就是推公式(公式有点长呀) 大概就是这样,其实挺简单的. #include<iostream> #include<cstring> #include<algorithm> #include<vector> using namespace std; typedef long long ll; const int maxn =…
Governing sand 题意 森林里有m种树木,每种树木有一定高度,并且砍掉他要消耗一定的代价,问消耗最少多少代价可以使得森林中最高的树木大于所有树的一半 分析 复杂度分析:n 1e5种树木,并且砍树肯定是从便宜的砍,有区间性,可以考虑线段树,每次枚举一种高度,先把高于其高度的全部砍掉,再砍低于他的使得满足大于一半的条件,砍低于他的肯定是从花费低的开始砍,所以就是一个选前k小的问题,这样就是一颗权值线段树的事情了 坑点:不同种的树木可能高度相同 #include<bits/stdc++.h…
题意: q次询问,每次给一个x,问1到x的因数个数的和. 1<=q<=10 ,1<= x<=10^9 1s 思路: 对1~n中的每个数i,i作为i,2i,3i,...的约数,一共作为n/i个数的约数 于是题目就转化为求$\displaystyle \sum_{i=1}^n\lfloor \frac{n}{i}\rfloor$ 数论分块$O(\displaystyle \sqrt{n})$解决 代码: #include<iostream> #include<cstd…
链接:https://www.nowcoder.com/acm/contest/135/A来源:牛客网 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关.   给出一个含有k个元素的集合A={a1,a2,a3,...,ak},求区间[L,R]内与A无关的正整数的个数.   保证A内的元素都是素数. 输入描述: 输入数据共两行: 第一行三个正整数L,R,k,意义如“题目描述”. 第二行k个正整数,描述集合A,保证k个正整数两两不相同. 输出描述: 输出数据共一行: 第一行一个正整数…
链接:https://www.nowcoder.com/acm/contest/85/F来源:牛客网 题目描述 Etéreo 拿出家里的许多的立方体积木,堆成了一个三维空间中的模型.既然你高考选了技术, 那想必你一定想知道,这个模型的三视图是什么吧!  图中, 轴. 轴和  轴的方向已经标明.现在规定,图中的红色面为主视面,蓝色面为右视面(注意输出中应为左视而非右视),黄色面为俯视面.具体方向可以观察样例.  输入描述: 第一行四个数 ,表示该三维空间大小为 ,且有 个立方体. 接下去 行,每行…
链接:https://www.nowcoder.com/acm/contest/134/J 来源:牛客网 思路:把数列排序,把每一个重复的元素和最后一个数想加得到新数,在删掉这一元素即为去重的最少步骤,重复此过程可知最小步骤数即为多余的重复元素个数. 例:1 2 2 4 4 8 8 10 多余的重复元素为:2 4 8 ,所以答案为3 #include <bits/stdc++.h> using namespace std; #define N 100005 long a[N]; int n;…
链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 t 次再编号后第 x 个人的编号. 由于答案可能很大,所以对 109+7 取模.输入描述: 第一行 2 个数 n,m ,表示人数和询问次数: 接下来一行 n 个数,表示 ai;接下来 m 行,每行 2 个数 x,t ,描述一次询问.输出描述: m 行,第 i 行 1 个数表示第 i 次询问的答案对…