2011年7月22日

摘要: 二分法求幂:比如2的9次方可以看成 ((2的4次方)的平方)*2 ;2的8次方可以看成((2的4次方)的平方);依此类推……#include <stdio.h>/*int fun(int a,int n){if( n == 1 ) return a;int temp = (a*a) % 10000;if( n&1 ) return (fun(temp,n/2)*a) % 10000;else return (fun(temp,n/2)) % 10000;}*//*int fun(int a,int n){int s;s = 1;while(n){if( n & 1 阅读全文

posted @ 2011-07-22 23:48 continue_n 阅读(217) 评论(0) 推荐(0)


2011年7月20日

摘要: 并查集p(x)为x所属树的根节点。kind(x)为x与该树根节点的关系。height(x)为树x的高度。现在规定:0:同类关系。1:吃关系。2:被吃关系。我们用x--r-->y表示x和y之间的关系是r,比如x--1--y代表x吃y。现在,若已知x--r1-->y,y--r2-->z,如何求x--?-->z?,于是我们不难发现,x--(r1+r2)%3-->z。有了这个结论,我们就可以做题了。我们初始化kind(1-N)=0,表示自己和自己为同类。P(1-N)=i,代表各个节点都是一棵树。当D X Y时,则应合并X的根节点和Y的根节点,同时修改各自的kind。那么问 阅读全文

posted @ 2011-07-20 23:18 continue_n 阅读(543) 评论(0) 推荐(0)


2011年7月18日

摘要: HDU 1717主要的难点是 无限循环小数的转换这里给出求无限循环小数的方法:设无限循环小数 x = 0.714285714285......(循环节为714285)则1000000*x = 714285.714285714285.....(循环节为714285)因为是无限循环小数 所以 1000000*x - x = 714285; 即 999999i*x = 714285; 即 x = 714285/999999;所以无限循环小数 x 就可以表示为分数 714285/999999; 如果可以约分就再化简。。。约分也很简单就是 先求分子和分母的最大公约数,然后分子分母同时除以他们的最大公约数 阅读全文

posted @ 2011-07-18 23:06 continue_n 阅读(856) 评论(0) 推荐(0)


2011年7月17日

摘要: 自己写的关于map的学习笔记代码,觉得很有助于记忆,先收藏起来,一些别的函数以后慢慢添加。。。#pragma warning (disable:4786)#include <iostream>#include <map>#include <string>using namespace std;int main(){int i;map<string,string> s1;string c1,c2;/*for( i = 0 ; i < 5 ; i++){cin>>c1>>c2;s1.insert(pair<stri 阅读全文

posted @ 2011-07-17 22:22 continue_n 阅读(864) 评论(0) 推荐(0)


2011年7月16日

摘要: Maximum Value ProblemLet’s start with a very classical problem. Given an array a[1…n] of positive numbers, if the value of each element in the array is distinct, how to find the maximum element in this array? You may write down the following pseudo code to solve this problem:function find_max(a[1…n. 阅读全文

posted @ 2011-07-16 12:05 continue_n 阅读(347) 评论(0) 推荐(1)


2011年7月15日

摘要: 该题解法思想是:从第一个女生开始遍历,用女生去选择男生,男生这时还没被选走则马上选走他,接着第二个女生开始选,如果他想要的男生没被选走,当然就选上了,如果该男生已经被选走的话,则开始和前面的选择此男生的女生商量,看她能不能选择别的女生,如果可以的话,就叫该女生选择别的男生,则该男生就属于你了,如果和这个女生商量不成,则换一个男生接着匹配,若没有男生了,则只能守寡了,以此类推……二分图思想:(匈牙利算法)二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶 阅读全文

posted @ 2011-07-15 22:14 continue_n 阅读(242) 评论(0) 推荐(0)

摘要: 函数一:int rand(void); 从srand (seed)中指定的seed开始,返回一个[0, RAND_MAX(0x7fff)]间的随机整数。函数二:void srand(unsigned seed); 参数seed是rand()的种子,用来初始化rand()的起始值。即一般是先调用srand(seed)设置种子值,再调用rand()产生随机数。可以认为rand()在每次被调用的时候,它会查看:1)如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始值。2) 如果用户在此之前没有调用过srand(seed), 阅读全文

posted @ 2011-07-15 21:39 continue_n 阅读(344) 评论(2) 推荐(0)


2011年7月14日

摘要: Problem DescriptionHDU 2006'10 ACM contest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的:首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中;然后,待所有字条加入完毕,每人从箱中取一个字条;最后,如果取得的字条上写的就是自己的名字,那么“恭喜你,中奖了!”大家可以想象一下当时的气氛之热烈,毕竟中奖者的奖品是大家梦寐以求的Twins签名照呀!不过,正如所有试图设计的喜剧往往以悲剧结尾,这次抽奖活动最后竟然没有一个人中奖!我的神、上帝以及老天爷呀,怎么会这样呢?不过,先不要激 阅读全文

posted @ 2011-07-14 22:19 continue_n 阅读(401) 评论(0) 推荐(0)

摘要: 利用公式 :c[n][m] = c[n-1][m]+c[n-1][m-1]; 注:n是组合的下标,m是组合的上标;for( i = 0 ; i <= 20 ; i++){x[i][i] = 1;x[i][0] = 1;}for( i = 2 ; i <= 20 ; i++){for( j = 1 ; j < i ; j++){x[i][j] = x[i-1][j] + x[i-1][j-1];}} 阅读全文

posted @ 2011-07-14 22:11 continue_n 阅读(153) 评论(0) 推荐(0)

摘要: 装载:在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。Ⅰ基本函数:1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3; BigInteger b=BigInteger.valueOf(a);则b=3; String s=”12345”; BigInteger c=BigInteger.valueOf(s); 则c=12 阅读全文

posted @ 2011-07-14 08:08 continue_n 阅读(2035) 评论(2) 推荐(2)


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3