摘要: 打表 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #include <cmath> 5 using namespace std; 6 7 #define REP(n) for(int o=0;o<n;o++) 8 阅读全文
posted @ 2016-03-07 19:40 OhYee 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 动态规划+打表 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #include <cmath> 5 using namespace std; 6 7 #define REP(n) for(int o=0;o<n;o 阅读全文
posted @ 2016-03-07 19:23 OhYee 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 筛法求素数 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #include <cmath> 5 using namespace std; 6 7 #define REP(n) for(int o=0;o<n;o++ 阅读全文
posted @ 2016-03-07 19:22 OhYee 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 简单的最短路 BFS DFS都可以实现(BFS应该会更快一点吧) 其中输入的N、M、T中,N是列,M是行,而不是和大多数题目一样,N是行,M是列 另外,类中不要乱放常量,类中不要直接为类变量赋初值(不是所有编译器都承认貌似~) 1 #include <cstdio> 2 #include <algo 阅读全文
posted @ 2016-03-06 01:30 OhYee 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 贪心算法 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 #define REP(n) for(int o=0;o<n;o++) 7 8 bool Do() { 9 阅读全文
posted @ 2016-03-05 14:14 OhYee 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 鸡兔同笼 注意各种Error情况 #include <cstdio> #include <algorithm> #include <cstring> using namespace std; #define REP(n) for(int o=0;o<n;o++) bool Do() { int n, 阅读全文
posted @ 2016-03-05 13:50 OhYee 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 打表 要注意不到7月前和8月后的情况 同时注意“0号”等特殊情况 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 #define REP(n) for(int o=0 阅读全文
posted @ 2016-03-05 13:32 OhYee 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 贪心算法 如果在类中定义自定义类型对应sort的比较函数,要注意再比较函数前加上static。说明该函数是静态函数,在内存中占用固定的内存。 1 #include <cstdio> 2 #include <algorithm> 3 using namespace std; 4 5 #define R 阅读全文
posted @ 2016-03-05 13:30 OhYee 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 怎么看这道题都是理解比实现难 特别是英语版,最后如何输出被绕进去了 大概意思就是在保证每行不超过60字符的情况下,尽可能让行数最少输出。 注意三目运算符的运算优先度,记得加括号 1 #include <cstdio> 2 #include <string> 3 #include <cstring> 阅读全文
posted @ 2016-02-27 01:08 OhYee 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 队列问题,思路较为清晰 通过模拟操作可以发现可以先队内排列,然后进行队伍排列 其中个别操作由于vector、map嵌套,可能会发生打错凌乱的情况。 1 #include <cstdio> 2 #include <vector> 3 #include <queue> 4 #include <map> 阅读全文
posted @ 2016-02-18 21:08 OhYee 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 嗯……这道题大思路很明显,但是细节好烦人…… 大体上就是stack+set 对于栈中的元素,可以发现每个元素都是一个集合(set),而集合中的元素也是集合 因此,应该对每个集合(元素)进行编号 typedef set<int> element ,这样就能把每个元素看作保存整数的栈 stack s; 阅读全文
posted @ 2016-02-17 17:37 OhYee 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 写麻烦了貌似 不过算同时复习了下 vector set map 1 #include <cstdio> 2 #include <set> 3 #include <map> 4 #include <string> 5 #include <cstring> 6 #include <iostream> 7 阅读全文
posted @ 2016-02-17 15:06 OhYee 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 题意和思路都非常非常明确,直接读入->set->输出 然而,在读入上竟然出了问题 最早是是用的 string temp; scanf("%s",temp); printf("%s",temp); 这种写法,但是编译器报错,提示 error: cannot pass objects of non-tr 阅读全文
posted @ 2016-02-17 12:02 OhYee 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 题意比较容易理解 《入门经典》上用的是向量,不过觉得用链表更快点~ 于是,就在链表这个大坑中爬不出来了…… 要注意对两种情况的排除,一个是a==b,另一个就是a、b在同一堆 在链表中,要注意什么时候链表到尽头,到底用 temp!=NULL 还是用 temp->next!=NULL 做循环判断的条件 阅读全文
posted @ 2016-02-15 00:37 OhYee 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题目比较简单,反而我觉得这道题英语比算法难233333读入数据后,循环判断每个位置是不是都是2就行 1 #include 2 #include 3 #include 4 using namespace std; 5 6 #define REP(n) for(int o=0;o=0&&i+j<... 阅读全文
posted @ 2016-01-23 23:22 OhYee 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 思路比较清晰吧如果可以拼成长方体,要满足:保证6个长方形能够成对相同(相同)有3组不同的数据(长、宽、高),且每组有4个使用排序进行排序。相邻两个排序,确保每一个长方形都是以(宽,长)的顺序记录(sort排序时,开始位置是第一个位置,结束为止是最后一个数据的下一个位置)然后整体排序,每4个一组,进行... 阅读全文
posted @ 2016-01-23 16:43 OhYee 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 哎~这题没什么要注意的吧。。。注意数组别开太小就行然后往下比较下去……十分钟就能撸完吧 1 #include 2 using namespace std; 3 4 #define REP(n) for(int o=0;o<n;o++) 5 6 bool Do(); 7 8 int main(... 阅读全文
posted @ 2016-01-23 11:38 OhYee 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 题目大意就是取循环小数的循环节思路比较清晰完全模拟人脑做除法,同时分组标记被除数和除数,判断循环节中间需要判断是除尽和没除尽两种情况最后要关注格式,每两个输出要有空行,且第二行前有3个空格一下代码 1 #include 2 #include 3 using namespace std; 4 5... 阅读全文
posted @ 2016-01-22 23:41 OhYee 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 下面的输出一定要是%3d的格式来输出序号另外注意两个解之间的空格 1 #include 2 #include 3 using namespace std; 4 5 //#define Debug 6 7 int kase=0; 8 bool Do(); 9 10 int main(){11 ... 阅读全文
posted @ 2016-01-10 22:01 OhYee 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题目要求是对几个字符串进行分析,得到一个最优的字符串,使它满足与要求的字符串不同的字符之和最小。如果有多种解,则输出字典序最小的。注意:字符串的结束时 \0 一定要加上 1 #include 2 #include 3 #include 4 using namespace std; 5 6 c... 阅读全文
posted @ 2016-01-10 20:42 OhYee 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 若要判断文件尾,有很多种方法。作为对比,有while(cin>>s){ ...}while(!cin.eof()){ ...}while(scanf("%s",&s)!=EOF){ ...}但是cin.eof()并不像其看着的样子那样... 阅读全文
posted @ 2015-10-15 12:05 OhYee 阅读(1325) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://www.uml.org.cn/c++/200811103.asp#_Toc1109587041、选择合适的算法和数据结构选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活... 阅读全文
posted @ 2015-08-22 18:57 OhYee 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 结论: pc版百度音乐阉割联网功能 手机版天天动听或网易云音乐阉割联网功能作为一名虔诚的LoveLiver,听μ's的歌写程序是必须的~无疑,音乐一定要是flac无损的(尽管我听不出来),带高清专辑封面(尽管我不看),有双语歌词的(尽管我也不怎么看)在众多LoveLiver的共同努力下,我们有了... 阅读全文
posted @ 2015-08-07 11:18 OhYee 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 康托展开 X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0!。这就是康托展开。康托展开可用代码实现。—... 阅读全文
posted @ 2015-08-06 11:34 OhYee 阅读(103) 评论(0) 推荐(0) 编辑
摘要: c++中,变量的大小是有限制的。比如int是 -2147483648~2147483647long long是-9223372036854775808~18446744073709551615然而他们都有一个范围,如果数据过大,就会出现错误。这时,我们需要高精度计算。同过数组来存储各位上的情况,模拟... 阅读全文
posted @ 2015-08-01 23:17 OhYee 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 写高精度算法时掉的坑一定要先写好伪代码!一定有要确保调用的已写好的函数是正确的! 阅读全文
posted @ 2015-08-01 23:15 OhYee 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。 ——百度百科 要想判断一个数是不是质数,就要看他能不能被除了1和自己之外的数分解 显然如果当需要多次判断数据是否 阅读全文
posted @ 2015-07-30 15:48 OhYee 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 需要知识同余数论中的重要概念。给定一个正整数m,如果两个整数a和b满足(a-b)能够整除m,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。——百度百科关于同余的定理欧几里德算法辗转相除法, 又名欧几里德算法(Euclidean ... 阅读全文
posted @ 2015-07-30 13:07 OhYee 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 取余数有%,即10%3可以得到1但是当数比较大时(比如2999999),计算机可能就无法计算然而,根据数论的结论,我们可以简化一下。根据a*b mod c = ( (a mod c) * (b mod c) ) mod c可以得出 an mod b = (a mod b)n mod b所以,有 an... 阅读全文
posted @ 2015-07-29 20:59 OhYee 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 同余-百度百科同余指两个整数除以同一正数,余数相同。同余指两个整数相减能够被一个整数整除。相关定理(来自百度百科)反身性 a≡a(mod m)对称性 若a≡b(mod m),则b≡a (mod m)传递性 若a≡b (mod m),b≡c (mod m),则a≡c (mod m)同余式相加 若a≡b... 阅读全文
posted @ 2015-07-28 20:17 OhYee 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://cojs.tk/cogs/page/page.php?aid=30最小生成树Kruskal+ufs 1 int ufs(int x){ 2 return f[x] == x ? x : f[x] = ufs(f[x]); 3 } 4 int Kruskal(){ 5... 阅读全文
posted @ 2015-07-27 18:20 OhYee 阅读(253) 评论(0) 推荐(0) 编辑
摘要: STL方面的笔记以下为vector queue map set stack的基本用法可编译结合注释查看 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace s... 阅读全文
posted @ 2015-07-27 17:22 OhYee 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://cojs.tk/cogs/page/page.php?aid=38ACM进阶计划ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:l C/C++两种语言l 高等数学l 线性代数l 数据结构l 离散数学l 数据库原理l 操作系统原理... 阅读全文
posted @ 2015-07-27 17:19 OhYee 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 吐槽一句,这个东西好难拼迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。——百度百科Dijkstra算法就是用来算在一... 阅读全文
posted @ 2015-07-27 17:15 OhYee 阅读(337) 评论(0) 推荐(1) 编辑