上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: set,关联容器,元素不允许有重复,数据被组织成一棵红黑树,以牺牲插入和删除元素的效率换来了查找元素的高效率(O(logN))。1、初始化set st;2、begin返回第一个元素的迭代器3、end返回最后一个元素的迭代器4、clear清空5、empty判断是否为空,为空返回true6、count返... 阅读全文
posted @ 2013-09-10 11:34 Plumrain 阅读(511) 评论(0) 推荐(0) 编辑
摘要: SRM 468DIV1 250pt题意:给出字典,按照一定要求进行查找。解法:模拟题,暴力即可。tag:waterscore: 0....这是第一次AC的代码: 1 /* 2 * Author: plum rain 3 * score : 0 4 */ 5 #line 11 "T9.cpp" 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include ... 阅读全文
posted @ 2013-09-10 10:47 Plumrain 阅读(231) 评论(0) 推荐(0) 编辑
摘要: SRM 470DIV1 250pt题意:有n个房间排成一排,相邻两个房间之间有一扇关闭着的门(共n-1扇),每个门上都标有‘A’-‘P’的大写字母。给定一个数n,表示第n个房间。有两个人John和Gogo,两人轮流按下面的规则选择一个大写字母(‘A’-‘P’),每选择一次字母,标有该字母的门就打开了。 某次选择之后:若所有门全部打开,则平手游戏结束,输出0;n房间之前的门全部打开,则John胜游戏结束,输出两人总共选择了的颜色的数量;n房间后的门全部打开,则Gogo胜游戏结束,输出-1 × 两人总共选择了的颜色的数量。否则游戏继续。 选择颜色的规则: 1、若选择某个颜色后,无论对方. 阅读全文
posted @ 2013-09-09 12:52 Plumrain 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 1、UVa 10294, First Love Part 2题意:项链和手镯都是由若干珠子穿成的环形饰物,两个手镯翻转之后若相同则视为相同手镯,而项链不会。换句话说,以下两个图,若是手镯则视为相同,项链则视为不同。当然,无论手镯还是项链,旋转之后相同的一定会被视为相同。给出珠子个数n和珠子颜色数t,求分别可以穿成多少个手镯,多少个项链。解法:(此题解直接抄的白书,自己不知道怎么叙述- -)等价类计数问题,很裸的Polya定理(Burnside引理)。 一共两种置换,旋转和翻转。为了叙述方便,将所有珠子标为0, 1, 2...n-1。 旋转:如果逆时针旋转i的间距,则珠子0, i, 2i... 阅读全文
posted @ 2013-09-07 16:56 Plumrain 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 只记载本人在ACM中常用的函数。map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力。map内部为一颗红黑树。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。1、初始化map m;2、插入元素m[1] = "aaa";m[2] = "bbb";m.insert (map :: value_type(3, "ccc")); //因为上面那种插入方法是先在m 阅读全文
posted @ 2013-09-06 14:34 Plumrain 阅读(1490) 评论(0) 推荐(0) 编辑
摘要: 只记载本人在ACM中常用的函数。pair,将两个数据组合成一个数据。在其他stl(如map),函数需要传回两个值时可能会用到。1、初始化#include //pair的头文件很特别- -std::pair p();如std::pair p(3, 2.2);pair p1 = std::make_pair(3, 2.2); //注意pair有隐式的类型转换,此处pair的second元素为double类型2、常用运算符==, != , >, =, 先根据first元素判断,没有结果才根据second元素判断3、访问可以用pair.first和pair.second来访问 阅读全文
posted @ 2013-09-06 12:09 Plumrain 阅读(3884) 评论(0) 推荐(0) 编辑
摘要: 只记载本人在ACM中常用的函数。vector,相当于动态数组,数组大小可变。声明vector以后,自动在内存中分配一块连续的内存空间进行数据存储。vector在内部进行插入、删除操作时间复杂度O(n)。1、初始化vector v1; //空的vectorvector v(5, 42); //vector含有5个422、常用运算符[], ==, !=, =, 均可正常使用3、back返回最后一个元素4、begin返回第一个元素的迭代器5、clear清空所有元素6、vector为空时返回真,否则返回假7、end返回最末元素的迭代器8、erase删除 iteratorerase( iterat... 阅读全文
posted @ 2013-09-06 01:22 Plumrain 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: 1、UVa 11021Tribles题意:有k只麻球,每只只能活一天且在死前可能生出一些新麻球。它生出i个新麻球的概率分别为Pi,求在m天后,所有麻球均死亡的概率为多少(不足m天全死亡也算). 1 7 #include 8 #include 9 10 using namespace std;11 12 #define CLR(x) memset(x, 0, sizeof(x))13 14 const int N = 1000;15 16 int n, k, m;17 double p[N+10], f[N+10];18 19 double gao()20 {21 f[0] = 0... 阅读全文
posted @ 2013-09-05 21:20 Plumrain 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 1、HDUOJ4675题意:给定数n, m, k和数列{an}(1 = n - k,则将改变以后得到的新数列{bn}分为三种数,第一种,未改变的(bi = ai),C(n-k, x);第二种,ai 不是 d 的倍数,t ^ (n - cnt);第三种,ai 是 d的倍数但bi != ai,(t - 1) ^ (cnt - n + k)。tag:math, number theory, 计数, 欧拉公式, 乘法逆,good 1 /* 2 * Author: plum rain 3 * Created Time: 2013-08-16 11:10 4 * File Name: f... 阅读全文
posted @ 2013-09-05 20:02 Plumrain 阅读(570) 评论(0) 推荐(0) 编辑
摘要: string,大小可变的字符串,有些类似于C中的字符数组。只记载本人在ACM中常用的函数,并且全部经过程序测试。1、初始化string s1;——默认构造函数s1为空串string s2(s1);——将s2初始化为与s1相同string s3("aaa");——将s3初始化为aaastring s4(3, 'b');——将s4初始化为bbb2、输入输出能用cin,cout;不能用scanf,printf。用cin读入会忽略开头所有空白字符(如空格,换行符,制表符),读取字符直至再次遇到空白字符。用getline能整行读入(不会忽略前驱空格),读入得到的字符串 阅读全文
posted @ 2013-09-05 17:01 Plumrain 阅读(572) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页