
基础算法
王猛旗
在读研究僧
展开
-
F(k)<(维护+枚举)\(找规律+递推+枚举)>
题意 小明有一个不降序列(f(1),f(2),f(3),……),f(k)代表在这个序列中大小是k的有f(k)个。我们规定f(n)的前12项如下图。n 1 2 3 4 5 6 7 8 9 10 11 12f(n) 1 2 2 3 3 4 4 4 5 5 5 6原创 2016-05-30 21:26:21 · 619 阅读 · 0 评论 -
div.2/C. They Are Everywhere<two pointer>
题意:给出包含n (3<=n<=100000)个字符的字符串,计算出包含所有类型字符的最小区间长度。题解:Two pointer.注意区间的处理。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn=100000+100;char原创 2016-07-28 09:37:25 · 352 阅读 · 0 评论 -
HDU1258 Sum it up
Sum it up题意:给定一个数sum,和n个数,求sum可以由这n个数里面的那几个数的和表示。Given a specified total t and a list of n integers, find all distinct sums using numbers from the list that add up to t. For example, if t=4, n=6, and t原创 2016-06-17 15:17:08 · 379 阅读 · 0 评论 -
aX+bY+cZ=n(非负整数解存在性)
题意:看题目。题解:看代码。#include<iostream>#include<cstdio>using namespace std;void fun(int n){ int k=n/1234567+1; for(int i=0;i<k;i++) for(int j=0;;j++){ int c=n-i*1234567-j*123原创 2016-06-15 21:27:24 · 2813 阅读 · 1 评论 -
三角形内部的整点的个数
题意:给出三角形的三个角的坐标,求出此三角形内部整数的个数。题解:s=l/2+n-1;s:三角形中包括边上整点的个数。l:边上的整点;n:三角形内部的点的个数。#include<cstdio>//s=l/2+n-1;#include<cmath>#include<cstdlib>int a,b,c,d,e,f;int area(){ return abs((a*d+c*f+原创 2016-06-15 00:30:30 · 4193 阅读 · 0 评论 -
HALF<水题>
题意:找出n/d=0.5的所有数。输入:test,x(代表n的位数,1<=x<=4).并且n和d的每一个位数不能有重复,也不能是0。输入:11输出:the form 1/2 = 0.5.the form 2/4 = 0.5.the form 3/6 = 0.5.the form 4/8 = 0.5.the form 6/12 = 0.5.the form 7/14 = 0.5.原创 2016-06-13 21:09:37 · 514 阅读 · 0 评论 -
函数求值一<找规律>
函数求值题意: 定义函数g(n)为n最大的奇数因子。求f(n)=g(1)+g(2)+g(3)+…+g(n)。1<=n<=10^8;思路:首先明白暴力没法过。问题是如何求解,二分。知道奇数的最大因子是他本身,并且小于等于n的奇数的和很容易就可以求出来(等差数列)。那么剩下的偶数除以2得到n`,然后去求小于等于n`的奇数,最后得解。<long long>#include<cstdio>ty原创 2016-06-08 12:41:32 · 1706 阅读 · 1 评论 -
求素数
今天,关于素数问题纠结了好久好久,倍感知识缺乏啊。因此,通过自己的了解和网上查阅资料,加上自己的啰嗦,在这里整理一下,日后可以翻阅。 首先,感谢网上的前辈,如果没有您们,我不会获得关于素数的比较全面的知识。非常感谢。 1、素数及相关 素数,又称质数,在一个大于1的自然数中,除了1和此整数自身之外,不能被其他自然数整除的数。 比1大原创 2016-04-03 17:49:09 · 427 阅读 · 0 评论 -
梯形
题意: 你现在得到一个数的序列,包含n个整数,分别是a1,a2,……,an。同时,你也将面临m次询问。每次询问包括两个整数:l,r。数字l和r能表示原序列的子串,这个子串是 al,al+1,al+2,……,ar。对于每次询问,你要判断这个子串是否是“梯形”串。一个“梯形”串定义如下: 假设这个串是 b1,b2,b3,……,bk。如果有一个x(1<=x<=k),能使得这个串满足b1<=b2<原创 2016-05-30 23:04:12 · 388 阅读 · 0 评论 -
数据离散化
有些数据的数据量很大,但是我们只会用到其中的某些属性,例如大小等等。这个时候我们就可以对其进行离散化。例如: 11111,22222,33333,99999,44444,88888,55555,66666,77777这几个数据,在只考虑其相对大小的时候,我们可以把它们转化成: 1,2,3,9,4,8,5,6,7这个时候对数据有更多的处理方法。STL处理离散化int a[manx原创 2016-09-03 20:54:19 · 843 阅读 · 1 评论