- 博客(105)
- 资源 (4)
- 收藏
- 关注
转载 如何定义和实现一个类的成员函数为回调函数(转)
如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。通过查询资料发现,其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递this指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以理解为什么C++类的多个实例可以共享成员函数却-有不同的数据成员。由于this指针的作用,使得将一个CALL-BACK型的成员函数作为回调
2014-04-03 20:42:47
767
转载 双堆求中位数
求数组中位数的方法:1、排序2、双堆3、findk效率分别是nlog(n)、nlog(n)、log(n)用堆维护中位数的意思是说,设计两个堆,第一个堆存放小于中位数的元素,第二个堆存放大于中位数的元素。下面是双堆维护中位数的语言描述:1、初始化的时候设置两个变量分别记录两个堆【左堆和右堆】的元素的个数2、取第一个元素【d[0]】作为初
2014-03-31 22:14:04
783
原创 hdu4713 Permutation(集合类型的dp,难-不拿手!!!)
#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson o<<1,l,mid#define rson o<<1|1,mid+1,r#define lo o<<1#d
2013-09-13 21:58:58
1053
原创 hdu 4725 (spfa(deque)+建图(建图很难)) 求最短路
//spfa方法+deque优化#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson o<<1,l,mid#define rson o<<1|1,mid+1,r#
2013-09-13 17:47:03
923
原创 hdu4699 Editor(数据结构+思路)
#include#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson o<<1,l,mid#define rson o<<1|1,mid+1,r#define l
2013-09-08 21:25:42
651
原创 hdu4686 Arc of Dream ——构造矩阵+快速幂
矩阵构造:一个矩阵全是常量,另一个是a[i]的,求a[i+1]的!构造矩阵如下:Ai*bi AX*BX AX*BY AY*BX AY*BY 0 a(i-1)*b(i-1)Ai 0 AX 0 AY 0 a(i-1)Bi 0
2013-08-21 17:44:39
639
原创 HDU 4691(后缀数组+lcp)水题
#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x7fffffff#define exp 1e-9#define N 100009using namespace std;in
2013-08-20 20:06:51
849
原创 hdu4666(曼哈顿距离+set或multiset)
#include#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson o<<1,l,mid#define rson o<<1|1,mid+1,r#define l
2013-08-13 19:45:45
790
原创 Hdu 4658拆分数(难懂啊!)
Hdu 4658 要求拆分的数中每个数出现的次数不能大于等于k次,则已经求得,现在看Q(x^k)会怎么样例如,当n=8,k=4时满足指数为8的乘积之和为:所以将8拆分的数中每个数的个数小于4的有16个,分别为8,1+7,1+1+6,1+1+1+5,6+2,1+5+2,1+1+4+2,1+1+1+3+2,4+2+2,1+3+2+2,
2013-08-12 21:49:09
620
原创 HDU - 3775(几何+Pick定理+好题)
Pick定理,Pick 定理是这样的, S=a+ b/2 - 1 ,其中 S是图形面积, a 是图形内部格点数, b 是边经过的格点数,适用范围是:顶点坐标均是整点,或者说顶点在格点上的简单多边形。面积怎么求?三角形的叉乘。这题很让人郁闷的是,图中的顶点并不是用 pick定理求出的顶点,而还要再加上外面那一圈,也就是还要加上 b//sum为内部的有向面积的两倍
2013-08-12 20:22:42
773
转载 分拆数 && hdu 4651 && hdu 4658
分拆数在将分拆数之前先介绍一点五边形数http://en.wikipedia.org/wiki/Pentagonal_number 1. 五边形数是能排成五边形的多边形数。 第n个五边形数公式:p(n)=(3*n^2-n)/2前几个五边形数:1, 5, 12, 22, 35, 51, 70, 92, 1
2013-08-12 10:07:28
720
原创 hdu(4655-打表找规律)
#include#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson o<<1,l,mid#define rson o<<1|1,mid+1,r#define l
2013-08-12 09:25:23
750
原创 hdu4651(定理题-水)
欧拉函数的倒数是分割函数的母函数,亦即:的生成函数是 (1)再利用五边形数定理可得到以下的展开式: (2)将(2)式带入(1)式,并乘到(1)式的左边,进行展开,合并同类项,根据非常数项的系数为0!!即将生成函数配合五边形数定理,可以得到以下的递归关系式#include#include#include
2013-08-11 21:16:25
759
原创 hdu4630(树状数组+离线处理)
http://www.cnblogs.com/kuangbin/archive/2013/07/30/3225627.html题意:给出一个n和1到n的某个排列,询问q次,每次询问[l,r]区间内任意挑两个数,最大公约数的最大值是多少。#include#include#include#include#include#include#include#include#inc
2013-08-01 20:28:47
929
原创 URAL 1105(WA中……搞不定啊!!)
#include#include#include#include#include#include#include#include#include#include#include#include#define tree int o,int l,int r#define lson o<<1,l,mid#define rson o<<1|1,mid+1,r#define l
2013-07-31 20:53:49
941
原创 HDU 4345(想不出来的DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4345题目大意:求长度为n的数列的置换的循环节的长度的种数。题目思路:以下摘自题解: 循环节的长度为各独立置换环长度的最小公倍数。问题即求相加和为N的正整数的最小公倍数的可能数。由于1不影响最小公倍数,问题转化为相加小于等于N的若干正整数的最小公倍数的可能数。如果这些正整数包
2013-05-18 21:47:25
714
原创 poj 1465
题意是: 给出一个 0 - 4999 的数 N ,在给出 M 个0-9的数,判断这M个数字能不能构成一个数是N的倍数,如果有输出最小的,如果没有输出0。此题用BFS 。。 这个题好在 用 余数判重剪枝。。 BFS 如果不加以剪枝,一定会搜索的情况会很庞大。所以应该用余数判重 。 为什么可以用余数判重? A=a*N +e 即A%N =e
2013-05-06 17:38:45
764
转载 四边形不等式优化dp-简介
最有代价用d[i,j]表示 d[i,j]=min{d[i,k-1]+d[k+1,j]}+w[i,j] 其中w[i,j]=sum[i,j] 四边形不等式 w[a,c]+w[b,d]决策单调性 w[i,j]于是有以下三个定理 定理一: 如果w同时满足四边形不等式 和 决策单调性 ,则d也满足四边形不等式定理二:当定理一的条件满
2013-05-02 18:35:39
652
原创 ZOJ 3327(思路题)
题解:给定一个很大的数,求一个比其大,且各位上的数的积相等。情况: 如果数字当中有0,故单独判断,只要将其最后一位+1,但当有且仅有一个0且0在最后一位,我们得特殊处理,不然最后一位+1,把0给去掉了,故从倒数第二位开始。其他情况,从低位向高位遍历,记录2,3,5,7的个数,对于每个位,看是否可以用已经有的2,3,5,7的个数构成大于此数的最小数,如果存在这个数字,那么可以停止遍历
2013-04-13 22:30:16
889
原创 SDUT 2411——Pixel density模拟细节WA了n遍
网址:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2411山东省第三届ACM省赛的题。注意点:1、小数点可以没有,用小数点和星号做分隔符的可以省省了。2、空格没说几个,用getline()相当麻烦,不如手动输入字符串数组。3、inches不是唯一分隔符,手机名称中可
2013-04-10 16:22:15
561
转载 学校 你得到我的人 得不到我的心
刚刚考试一激动,把考号写成了QQ号。总有那么几个人,老师一叫他们起来回答问题,全班就笑。升旗时注意力不是在国旗上,而是看看国歌奏完时,国旗是不是正好停在杆顶。班主任是什么:就是一个破坏完你友情再破坏你爱情还不放过你亲情的人。上学时,总有那么一种感觉,100元不能破开,破开很快就没有了。在与寒假先森约会的时候总会出现一个叫寒假作业的小三。如果作业可以复制,粘贴孩子们该多高兴。
2013-04-06 19:44:54
679
原创 uva141 - The Spot Game
直接暴力:#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define UI unsigned int#define inf 0x7fffffff#define eps 1e-7#define M
2013-03-28 12:02:24
558
原创 uva507 - Jill Rides Again(好题)
#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define UI unsigned int#define inf 0x7fffffff#define eps 1e-7#define M 105#d
2013-03-28 10:02:30
530
原创 UVa 10670 - Work Reduction(水)
#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define UI unsigned int#define inf 0x7fffffff#define eps 1e-7#define M 105#d
2013-03-27 21:50:57
647
原创 UVa10718 - Bit Mask(不错的贪心)
#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define UI unsigned int#define inf 0x7fffffff#define eps 1e-7#define M 105#d
2013-03-27 19:52:01
613
原创 uva 10026 - Shoemaker's Problem
#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x7fffffff#define eps 1e-7#define M 105#define N 1010using names
2013-03-27 17:30:37
556
原创 uva10487 - Closest Sums
凑就行!#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x7fffffff#define eps 1e-7#define M 105#define N 13000usin
2013-03-27 16:49:46
614
原创 hdu 4517 小小明系列故事——游戏的烦恼
将二维数组优化为一维数组的DP可以加快速度!!!纠结中AC:#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x7fffffff#define E 1e-9#define
2013-03-24 10:04:28
545
原创 uva11995--水题(训练指南)
#include#include#include#include#include#include#include#include#include#include#include#include#define LL long long#define inf 0x7fffffff#define exp 1e-9#define M 100#define N 105usi
2013-03-06 19:47:54
721
转载 高斯消元法(Gauss Elimination) 分析 & 题解 & 模板——czyuan原创
高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵。高斯消元法的原理是:若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组。所以我们可以用初等行变换把增广矩阵转换为行阶梯阵,然后回代求出方程的解。以上是线性代数课的回顾,下面来说说高斯消元法在编程中的应用。首先,先介绍程序中高斯消元法的步骤:
2012-12-27 20:21:41
980
原创 poj1222(暴力枚举)
#include#include#include#include#include#include #include#include#define LL long long#define inf 0x7fffffff#define E 1e-9#define M 100#define N 6using namespace std;int n,k,m;int ma[N][
2012-12-10 21:40:41
528
原创 poj1830-高斯消元法利用(好)
首先说下高斯消元:就是把增广矩阵化成上三角矩阵的过程,然后来判断解的情况。设A*X = B.A是一个n*m的矩阵,X是m*1的解矩阵,B是n*1的系数矩阵。 那么增广矩阵就是一个n*(m+1)的矩阵。增广矩阵高斯消元后有3种情况:1. 某行前m个数全为0但是最后一个数不为0,这样导出矛盾,所以原方程无解。2. 当m == n且最后一行的第m个数不为0时有唯一解。3. 其他情况有无限多解,比
2012-12-09 21:57:49
524
原创 训练指南uva 11464
#include#include#include#include#include#include #include#include#define LL long long#define inf 0x7fffffff#define E 1e-9#define M 100#define N 17using namespace std;int n,T;bool ma[N]
2012-11-02 20:56:38
577
原创 10273 - Eat or Not to Eat?
题意:农场有n头奶牛,每头奶牛都有一个产奶周期ti天(ti#include#include#include#include#include#include #include#include#define LL long long#define inf 0x7fffffff#define E 1e-9#define M 100#define N 1005using na
2012-10-26 21:15:54
837
原创 uva125
假设c[k][k]不等于0 那么由k->k之间一定有回路。注意环前后,考虑全面!!!!!#include#include#include#include#include#include #include#include#define LL long long#define E 1e-7#define M 50#define N 100using namespace st
2012-10-24 16:57:30
437
原创 uva104
所謂的「三角套匯(arbitrage)」就是在幾種外幣中做金錢的交易,期待從匯差中獲取少許的利潤。例如:1 元美金可以買 0.7 英鎊,1 元英鎊可以買 9.5 法朗,1 元法朗可以買 0.16 美金。所以如果我們把 1 元美金換成英鎊,再把英鎊換成法朗,最後再把法朗換回美金,那麼最後得到的美金將是:1*0.7*9.5*0.16=1.064 美元。也就是說我們可以從中獲取匯差 0.064 美元,相
2012-10-24 16:28:30
731
原创 uva 10746 - Crime Wave - The Sequel(最小费用流+精度)!!没提交对-求助
#include#include#include#include#include#include #include#include#define LL long long#define inf 0x7fffffff#define E 1e-7#define M 100#define N 105using namespace std;int n,m;double c
2012-10-21 21:47:25
610
原创 poj2516----最小费用流(模版+构图)
【题意】有n个商店m个供应商k种商品给各商店的各种商品的需求量和各供应商的供应量以及供应商和商店之间的运输费用,求满足需求的最小费用【输入】多组数据每组数据第一行n,m,k(均小于50)接下来n行每行k个数,表示需求量(0到3)接下来m行每行k个数,表示供应量(0到3)接下来k个n*m矩阵表示商店和供应商之间的运输费用输入
2012-10-21 19:34:13
477
原创 poj1456--贪心策略
#include#include#include#include#include#include#include #include#include#include#define LL long long#define inf 0x7fffffff#define E 1e-9#define M 100#define N 10005using namespace std;
2012-10-20 15:49:15
461
原创 10158 - War---挑战编程-----并查集应用好题!!!
// 一场战争在 A 国和 B 国之间开始了。作为一位 C 国的好公民,你决定为你的国家秘密的参加 A 国与 B// 国之间的和谈。和谈中还有 n 个人,但你不知道他们分别属于哪个国家。你可以看到他们互相交谈,并能通// 过观察双方在一对一交谈时的表现猜测他们是敌人还是朋友。//// 你的国家需要知道某些特定的两个人之间的关系:到底是属于同一国,还是互相敌对,因此需要你在和谈期间// 接
2012-10-19 16:08:41
730
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人