首页 > TAG信息列表 > 数都

17:斐波那契数列

描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。 输入输入一行,包含一个正整数k。(1 <= k <= 46)输出输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小 样例输入 19 样例

0019:快速幂

题目链接:https://www.luogu.com.cn/problem/P1226 给你三个整数 a,b,p,求 a^b mod p 的值。 这道题就是快速幂的模板题。 那么,什么是快速幂呢? 普通的幂运算就是让 b 个 a 相乘,但这样的时间复杂度较高,有 O(n) 接下来就要介绍一种时间复杂度只有O(log n)的算法。 众所周知,任何十进制数

6.4: 一个数组中有一种数出现K次,其它数都出现了M次,M>1, K<M,找到出现K次的数,要求,额外空间复杂度O(1),时间复杂度O(N)

6.4: 一个数组中有一种数出现K次,其它数都出现了M次,M > 1, K < M,找到出现K次的数,要求,额外空间复杂度O(1),时间复杂度O(N)   例如:arr[]  其中2出现K次,9出现M次,M != 1,M > 1, K < M。 1 // 请保证arr中,只有一种数出现了K次,其它数都出现的M次 2 public static int onlyK

洛谷——关于我

给你一个长度为 n (n \ge 3n≥3) 的正整数数组 a,该数组内除了一个数之外的所有数都相同 (例如数组 [4,11,4,4] 除了 11 之外的所有数都等于 4). 输出不等于别的数的下标. 下标均从 1 开始编号. Input 第一行一个整数 t (1≤t≤100). 接下来有 t 个测试样例. 每一个

CF1614C Divan and bitwise operations

点我点我 正解思路 首先对于 \(x\) 的限制需要处理 因为 \(l \sim r\) 使用或运算,所以如果结果是 \(0\) ,必然所有数都是 \(0\) 我们可以默认所有数都为 \(1\) ,然后再用 \(m\) 个限制来决定放多少 \(0\) 于是开始统计答案 首先,as we all know,如果是偶数个 \(1\) , 他是无法产生贡

2021牛客暑期多校训练营1补题

A   利用sg函数离线打表 B   二分球心位置,根据球心与两个侧边的距离来判断球卡住的位置。 C(待补) D   kmp签到题 E(待补) F   签到题,100以上的每个数都是3友好数 G

输入n个整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数

#include<stdio.h> void main() { int i,n,b,c,m,a[100]; float sum=0; printf("需要处理的数据量为:"); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); if(a[i]>1000) i-=1;

线段树维护不可合并信息

前言 这个专题有点意思 这类题目表面上是对区间进行修改操作 但是却又不能标记下传实现问题,这个时候就是不要追求每次的时间复杂度为\(logn\) 只要均摊时间复杂度即可 例题代码 题目大意 你有一个长度为 \(n\) 的序列\(A\),里面每个数都是正数,且总和小于等于\(10^{18}\) 接下来你

4-2(vector)

今天主要完成了3道题目以及vector的初步使用题目一:一列数中,找出只出现一次的数,别的数都出现2次。思想:利用异或,因为相同为0,相异为1。题目二:由题一变形:找出一堆数中出现一次的2个数,别的数都出现2次思想:第一步:将所有数异或,得到的为出现一次的2个数的异或结果val。第二步:根据val找出第

CF453A

题解 我们可以试图求出取n个中存在最大值为k的概率,为 \(\frac{n^k - n^{k-1}}{n^m}\) 证明: 每个数都不超过\(k\)的方案数为\(n^k\),因为每个数都有\(k\)中选法 每个数都不超过\(k-1\)的方案数为\(n^{k-1}\),因为每个数都只有\(k-1\)中选法 两式相减得到的就是每个数都小于\(k\)又不

python---100以内所有素数

def get_primes(): """ 100以内的所有素数:每个数都对从2到其本身前一个数做整除, 遇到能整除就换下一个数. 如果从2到去本身前一个数都没有整除,则放到素数列表中. :return:素数列表 """ primes = [] for i in range(2, 100):

一本通1188:菲波那契数列(2)

本题考查递推知识 下面是题面: 【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占

STL之multiset(可重集)

https://blog.csdn.net/sodacoco/article/details/84798621     c++语言中,multiset是<set>库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列中可以存在重复的数。  

Codeforces Round #552 (Div. 3) B题

题目链接:http://codeforces.com/contest/1154/problem/B 题目大意:给出n个数,每个数都可以加上或减去这个一个数D,求对这n个数操作之后当所有数都相等时,D的最小值。 题解:先考虑一些情况,这n个数如果只有一种,也就是,全部都相等,D显然是0,那如果是两种数,a 和 b,a<b,如果想让D最小 且D是整数,那

数论 求因数个数

因数是什么?   假如 a * b = c (a、b、c都是整数),a和b就是c的因数。   两个正整数相乘,那么这两个数都叫做积的因数。   例如:      6的因数是1,2,3,6   因数个数算法:(摘自百度百科)       

Codeforces Round #544 (Div. 3) 错过上分记

Codeforces Round #544 (Div. 3) 错过上分记 rating是不可能上1600的。这辈子都不可能的。所以只能在Div.3遨游。 Virtual Participant做到简单的比赛总是很恨哦! A 全换算成秒,算平均值,再换算回来就完事了。 用printf的话就可以直接用%02d,可惜我当时用的是cout,浪费了一点时间。 B 边