01 2016 档案

摘要:想了两天- - 、 最近才看懂,只要是PN图不知道是什么东西,理解力太差 http://www.tuicool.com/articles/JFJZ3i 这个介绍的很详细、 PN图的由来也推了出来 原来航点上的课件也有PN图推导的由来、 概念:必败点和必胜点(P点 & N点) 必败点(P点) :前一个 阅读全文
posted @ 2016-01-30 10:36 我不萌、我要高冷 阅读(274) 评论(0) 推荐(0)
摘要:题意:一个盒子有36个格子、每个格子可以装64个物品,搬运一个箱子是一次搬运,问最少到搬运次数 思路:直接求总需要多少个格子,然后去求盒子,这里求盒子呢有个小技巧,就是用ceil函数 1 #include<iostream> 2 #include<cmath> 3 #include<cstring> 阅读全文
posted @ 2016-01-29 21:07 我不萌、我要高冷 阅读(194) 评论(0) 推荐(0)
摘要:题意:给出一堆高度不一的砖头,现在使他们高度一样,问最少的移动次数,(每减少1就是移动一次) 思路:求出平均高度,然后模拟最后平均高度的数组,也就是说,每个数组对应每一个平均高度,也就是说比平均高度大的那些数据,就移动了,就这样直接求和 1 #include<iostream> 2 #include 阅读全文
posted @ 2016-01-28 23:18 我不萌、我要高冷 阅读(297) 评论(0) 推荐(0)
摘要:并查集基本应用、 题意:有编号为1到10^7的男生在一个房间,现在给出n组数据,每组数据包括两个编号,且这两个编号的人是朋友,如果A和B是朋友,B和C是朋友,那么A,B,C三人都是朋友,哪一个朋友圈中人数最多,输出这个朋友圈的人数 思路:因为编号是1到10^7所以,每次都要求出最大的编号数,如果每次 阅读全文
posted @ 2016-01-27 21:10 我不萌、我要高冷 阅读(451) 评论(0) 推荐(0)
摘要:并查集是一种用来管理元素分组情况的数据结构、 并查集的复杂度:并查集加入两个优化(路径压缩和高度的合并)以后效率很高,对n个元素的并查集进行一次操作的复杂度是O(a(n)).在这里,a(n)是阿克曼(Ackermann)函数的反函数,这比O(log(n))还快,不过这是“均摊复杂度”,也就是说不是每 阅读全文
posted @ 2016-01-27 20:59 我不萌、我要高冷 阅读(530) 评论(0) 推荐(0)
摘要:经典的巴什博弈、 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果 阅读全文
posted @ 2016-01-27 20:33 我不萌、我要高冷 阅读(350) 评论(0) 推荐(0)
摘要:KMP模板题、直接放代码 1 #include 2 #include 3 const int qq=1e6+10; 4 int next[qq]; 5 int x[qq],y[qq]; 6 int n,m; 7 int KMP() 8 { 9 int i,j;10 i=j=0;11 ... 阅读全文
posted @ 2016-01-27 12:02 我不萌、我要高冷 阅读(134) 评论(0) 推荐(0)
摘要:要理解KMP最重要的一点就是防止重复的回溯、 !!!很重要!!!很重要!!!很重要 要了解KMP可以去:http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html 首先要生成模板串的next数组 1 void getNext( 阅读全文
posted @ 2016-01-27 11:35 我不萌、我要高冷 阅读(263) 评论(0) 推荐(0)
摘要:题意:一段01串 分割成段 每段只能有一个1 问一段串有多少种分割方式思路:两个1之间有一个0就有两种分割方式,然后根据分步乘法原理来做、(不过这里有一组0 1 0这种数据的话就不好直接处理,所以遇到第一个1才开始标记) 1 #include 2 using namespace std; 3 int... 阅读全文
posted @ 2016-01-26 21:09 我不萌、我要高冷 阅读(143) 评论(0) 推荐(0)
摘要:典型的大数问题、分析来自:http://www.cnblogs.com/Su-Blog/archive/2012/08/27/2659172.html高精度问题:大整数乘法的应用其核心思想就是把计算结果每一位上的数字保存到一个数组成员中,例如:把124保存至数组中,保存结果应该是result[0] ... 阅读全文
posted @ 2016-01-26 09:05 我不萌、我要高冷 阅读(244) 评论(0) 推荐(0)
摘要:今天1月26号,到下个月26号为止,自己对自己进行一次封闭式训练,这一月内以算法为主要目标,做题为辅,掌握基本数据结构,c++每天争取看十页左右,早上8点左右起来,中午吃完饭就睡觉,大概14点左右起来继续,晚上的话可以休息到7点30,然后继续,总之把一切可利用的时间利用起来,时间过的太快了,再不抓... 阅读全文
posted @ 2016-01-26 08:28 我不萌、我要高冷 阅读(148) 评论(0) 推荐(0)
摘要:这题要求n的阶乘的位数,如果n较大时,n的阶乘必将是一个很大的数,题中说1 2 #include 3 using namespace std; 4 int main() 5 { 6 int n,t;cin >> t; 7 while(t--){ 8 cin >> n;... 阅读全文
posted @ 2016-01-26 00:15 我不萌、我要高冷 阅读(174) 评论(0) 推荐(0)
摘要:题意:讲的是XKA要设计T-Shirt,征集大众对各元素的满意度。分别输入3个整数,分别给N、M、K,其中N代表参与打分的人数,M代表元素总数量,K代表XKA所要选用的元素数量。XKA将选用分值较高的前K个元素,若分值相同则选择索引小的的元素。思路:记录每个M的总分数和索引,用结构体存起来,两次排序... 阅读全文
posted @ 2016-01-26 00:11 我不萌、我要高冷 阅读(541) 评论(0) 推荐(0)
摘要:0 40的结果都是0了贴代码了 1 #include 2 #include 3 using namespace std; 4 const int qq=1e1+5; 5 int num[qq]; 6 int main() 7 { 8 num[0]=1; 9 f... 阅读全文
posted @ 2016-01-26 00:00 我不萌、我要高冷 阅读(129) 评论(0) 推荐(0)
摘要:题意:狼和兔子的故事,n个洞,0到n-1,兔子躲在其中一个洞中,狼从0开始找,每次跳跃m个洞,问狼是否一定能找到兔子思路:就是看狼能不能把所有洞都遍历一次、也就是求m,n的最大公约数是不是1,是1就能找到,否则就有一些洞狼是不会遍历到的 1 #include 2 #include 3 using n... 阅读全文
posted @ 2016-01-25 23:58 我不萌、我要高冷 阅读(133) 评论(0) 推荐(0)
摘要:这题做了好久、....理解别人的代码都理解了好久!!!太弱太弱、 1 #include 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 int n,a,b,c,count,k,s[100],i; 8 wh... 阅读全文
posted @ 2016-01-24 22:13 我不萌、我要高冷 阅读(174) 评论(0) 推荐(0)
摘要:- -我自己开始以为是数值范围是1到100000000....搞了半天才发现是斐波那契数列的项数1到100000000坑爹、!!不会,只能看网上大牛的题解、具体解释请看:http://www.cnblogs.com/Yu2012/archive/2011/10/09/2199156.html#inc... 阅读全文
posted @ 2016-01-24 22:09 我不萌、我要高冷 阅读(206) 评论(0) 推荐(0)
摘要:关于小数话分数的知识点在学习与借鉴里面、直接放代码了 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int gcd(int a,int b) 7 { 8 if(b==0) return a; 9... 阅读全文
posted @ 2016-01-24 16:13 我不萌、我要高冷 阅读(222) 评论(0) 推荐(0)
摘要:循环小数分为混循环小数、纯循环小数两大类。混循环小数可以*10^n(n为小数点后非循环位数),所以循环小数化为分数都可以最终通过纯循环小数来转化。 等比数列法编辑无限循环小数,先找其循环节(即循环的那几位数字),然后将其展开为一等比数列、求出前n项和、取极限、化简。例如:0.333333……循环节... 阅读全文
posted @ 2016-01-24 15:37 我不萌、我要高冷 阅读(1351) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 using namespace std; 4 int main() 5 { 6 long long t,n; 7 cin >> t; 8 while(t--){ 9 cin >> n;10 do... 阅读全文
posted @ 2016-01-24 10:52 我不萌、我要高冷 阅读(108) 评论(0) 推荐(0)
摘要:题意:给出一个n求出n=i*j+i+j共有几种组合,i,j>0. 开始挺傻的、没想到化成因式的乘积、- - 、思路:i*j+i+j=(i+1)*(j+1)=n+1 1 #include 2 #include 3 using namespace std; 4 int main() 5 { ... 阅读全文
posted @ 2016-01-23 20:22 我不萌、我要高冷 阅读(213) 评论(0) 推荐(0)
摘要:欧拉函数φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数(小于等于1)就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3那么φ... 阅读全文
posted @ 2016-01-23 11:05 我不萌、我要高冷 阅读(307) 评论(0) 推荐(0)
摘要:题意:就是求给你一个抛物线的三个点,第一个给定的点是抛物线的顶点,让你求直线p2p3与抛物线的定积分思路:因为题目条件给了顶点,所以直接用抛物线的顶点式去求.本弱弱数学太差、还得复习一下公式 1 #include 2 #include 3 double a,h,k; 4 double f(doubl... 阅读全文
posted @ 2016-01-23 10:47 我不萌、我要高冷 阅读(160) 评论(0) 推荐(0)
摘要:题意:给你n个数,一段子序列拥有两个相同的数就称为happysegment,求最多的happysegment,没有的话就输出-1,否则第一行输出happysegment的个数a,接下来a行输出每个happysegment的起始位置和终止位置.思路:用stl的set做,只需记录每个happysegme... 阅读全文
posted @ 2016-01-22 21:58 我不萌、我要高冷 阅读(315) 评论(0) 推荐(0)
摘要:题意:给你n个木块的长和宽,现在要把它送去加工,这里怎么说呢,就是放一个木块花费一分钟,如果后面木块的长和宽大于等于前面木块的长和宽就不需要花费时间,否则时间+1,问把这个木块送去加工的最短时间。思路:还是结构体排序,长相等就以宽来排序,如果一个木块被送去加工了标记它不存在就可以了; 1 #incl... 阅读全文
posted @ 2016-01-21 15:33 我不萌、我要高冷 阅读(443) 评论(0) 推荐(0)
摘要:水题~~但我做了很久;题意:是中国人都懂了思路:结构体排序;以后要多用用重定义的排序手段,!!!!!多用!!多用!!多用!! 1 #include 2 #include 3 #include 4 using namespace std; 5 int grade[15]; 6 struct resul... 阅读全文
posted @ 2016-01-21 11:57 我不萌、我要高冷 阅读(276) 评论(0) 推荐(0)
摘要:int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);} 阅读全文
posted @ 2016-01-20 13:42 我不萌、我要高冷 阅读(628) 评论(0) 推荐(0)
摘要:题意:模拟国际象棋马的走棋方式,和中国象棋一样马走日,8X8的棋盘,问从起点到终点的最短步数,国际象棋中数字代表行row,字母代表列column,思路:记忆化深搜、 1 #include 2 #include 3 const int qq=20+5,no=1e7; 4 int tx,ty,minx;... 阅读全文
posted @ 2016-01-20 10:09 我不萌、我要高冷 阅读(293) 评论(0) 推荐(0)
摘要:题意:‘.’代表黑色瓷砖,‘#’代表红色瓷砖,‘@’代表一个人的起始位置,问这个人最多能踩到多少黑色瓷砖,注意注意!!!先输入列在输入行。思路:也是典型的dfs,但是这里每访问一个黑色瓷砖的话,就标记为‘#’,代表不能再访问他了,因为在此访问的话,总数就不对了。(为此本弱调试了半小时才发现) 1 #... 阅读全文
posted @ 2016-01-19 23:14 我不萌、我要高冷 阅读(359) 评论(0) 推荐(0)
摘要:题意:大家都是爱过的好孩子、题意想必就不需要讲了;思路:标准的dfs,刚开始超时,因为没有那个比较最短的情况下的时候剩下的步数如果小于此时的最短距离是走不到出口的;改进这点后,发现答案错误,- -最后发现起点可 以是墙,- -、巨坑 1 #include 2 #include 3 #includ... 阅读全文
posted @ 2016-01-19 11:36 我不萌、我要高冷 阅读(315) 评论(0) 推荐(0)
摘要:题意:给你一个迷宫,2代表你当前的位置,0代表墙,1代表可走的路,3代表出口,4代表的是炸弹的重置点,一开始炸弹的倒计时设置为6,每走一步时间减少1,倒计时到0的时候走到3或者4都不可以,问走出迷宫的最小步数,没有则输出-1.思路:dfs剪枝,这里的剪枝有点不一样,因为这里可以回溯的走,也就是可以走... 阅读全文
posted @ 2016-01-19 10:18 我不萌、我要高冷 阅读(250) 评论(0) 推荐(0)
摘要:来自:http://blog.csdn.net/baimafujinji/article/details/505311821、法国鲁昂大学(University of Rouen )Thierry Lecroq 教授关于字符串(模式)匹配算法的介绍内容http://igm.univ-mlv.fr/~... 阅读全文
posted @ 2016-01-18 10:30 我不萌、我要高冷 阅读(154) 评论(0) 推荐(0)
摘要:好像是3天的样子把、写了6,7道搜索题整理下几个问题: 1:坐标轴的建立,尤其是三维坐标,以及题目给你的坐标系,不要盲目的去建立,以后三维坐标[z][y][x],就这样建立把,二维坐标[y][x]与[x][y],个人觉得都还可以,但还是前者比较靠谱一点吧、 2:搜索的优化,也就是剪枝,到目前为止就学 阅读全文
posted @ 2016-01-17 21:41 我不萌、我要高冷 阅读(143) 评论(0) 推荐(0)
摘要:题意:有一个人被困在监狱了,他的朋友想去救他,x代表守卫,a代表这个人,r代表他的朋友,#代表墙,问朋友找他最小的时间,移动一格时间+1,如果那地方是守卫,杀死守卫也需要+1时间;思路:和HDU 1240差不多,记忆最短路径。但这题有个坑点,就是他的朋友可能有多个,我读题的时候没看到...直接超时4... 阅读全文
posted @ 2016-01-17 21:18 我不萌、我要高冷 阅读(300) 评论(0) 推荐(0)
摘要:这是我做过最简单的一道搜索题了、可我开始想的时候觉得特别复杂...... - -好吧、我确实是很水题意:输入一张地图,@代表油田,如果一个@周边8个方向存在@,那么它就是一个油田,对于每个数据输出总的油田数思路:深搜,每找到一个油田就往其他8个方向搜; 1 #include 2 #include 3... 阅读全文
posted @ 2016-01-17 09:55 我不萌、我要高冷 阅读(237) 评论(0) 推荐(0)
摘要:1 #include<iostream> 2 #include<cstdlib> 3 #include<cstdio> 4 #include<cstring> 5 int mmin,n; 6 using namespace std; 7 const int qq=11; 8 char map[qq] 阅读全文
posted @ 2016-01-16 16:00 我不萌、我要高冷 阅读(387) 评论(0) 推荐(0)
摘要:真正搜索意义上的第一题、开始因为标志变量flag没有重置为0、导致WA了两次呢、吸取教训了 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int flag,di,dj,n,m,t; 7 char map[10... 阅读全文
posted @ 2016-01-16 09:33 我不萌、我要高冷 阅读(257) 评论(0) 推荐(0)
摘要:题意:就是输出在区间[l,r]中k的次方数,没有就输出-1.思路:开始用pow去计算次方,WA了两次估计是丢精度了,改成直接求次方就AC了. (pow慎用); 题目还有一个坑点,就是long long的数据平方后会超出longlong的范围从而导致数据溢出,新生成的数又刚好在l,r的范围里,这里... 阅读全文
posted @ 2016-01-15 16:23 我不萌、我要高冷 阅读(260) 评论(0) 推荐(0)
摘要:题意:给你n个数,找出一个最大的区间,满足:不同的数值个数不超过k; //我开始又看错题了、以为是找出一个最大区间,里面的数的最大值不超过k;思路:利用一个窗口滑动,左端点表示当前位置,右端点表示目前这段数列符合要求, 每增加一个长度,判断是否合理,不然平移左端点。 思路来自... 阅读全文
posted @ 2016-01-15 15:36 我不萌、我要高冷 阅读(316) 评论(0) 推荐(0)
摘要:搜索第二题、把函数的导函数求出来判断就行了,因为这函数是先减后增的,所以就是把mid缩小到极值点附近 1 #include 2 #include 3 const double mm = 1e-8; 4 double y; 5 double cal(double x){ 6 return ... 阅读全文
posted @ 2016-01-14 23:55 我不萌、我要高冷 阅读(250) 评论(0) 推荐(0)
摘要:人生中第一道搜索题 精度精度、!!! 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 double f(double x) 7 { 8 return 8*pow(x,4.0)+7*pow(x,3.... 阅读全文
posted @ 2016-01-14 22:32 我不萌、我要高冷 阅读(111) 评论(0) 推荐(0)
摘要:题意:给一个4x4的方格,‘+’符号代表关闭,‘-’符号代表打开,当所有的手柄都为符号‘-’,冰箱门才可以打开,每次对一个点进行操作,与这个点在同一行同一列的点全 部进行状态转变,问将门开打的最少操作次数;思路:意思就只需要把所有的‘+’符号变成‘-’符号就行了,创建一个bool数组... 阅读全文
posted @ 2016-01-13 22:00 我不萌、我要高冷 阅读(376) 评论(0) 推荐(0)
摘要:虽然是水题但还是贴下代码把A 1 #include 2 #include 3 using namespace std; 4 const int qq=1e6+10; 5 char x[qq],y[qq]; 6 int main() 7 { 8 9 int ans=0;int... 阅读全文
posted @ 2016-01-13 00:58 我不萌、我要高冷 阅读(272) 评论(0) 推荐(0)
摘要:题意:给你一个二维坐标,y轴上是海,y轴下是陆地,然后给你一些在海上的小岛,然后有一种半径为d圆形雷达,圆心只在x轴上,问最少需要多少个雷达能覆盖所有小岛。我开始的思路:我先以x轴从左到右排序,然后以最左边的小岛建立雷达(假设坐标为x,y),第一个雷达的圆心是(x+sqrt(d*d+y*y));然后... 阅读全文
posted @ 2016-01-13 00:54 我不萌、我要高冷 阅读(178) 评论(0) 推荐(0)
摘要:题目意思就是计算表达式的值,如果所有情况下表达式为真就输出“tautology”,否则输出“not”。p, q, r, s, and t,每个人有两种情况,综合起来一共有32种情况,枚举所有情况最后所有情况是真的话就是真。K, A, N, C,E分别代表的是计算方式,e.iK代表逻辑语&,A代表逻辑... 阅读全文
posted @ 2016-01-11 12:13 我不萌、我要高冷 阅读(674) 评论(0) 推荐(0)
摘要:跟poj 2996反过来了,这里比较麻烦的就是处理白棋和黑棋各棋子对应的位置还有在最后打印棋盘式|,:,.的时候会有点繁琐(- - ACMer新手 );直接看代码吧; 1 #include 2 #include 3 #include 4 using namespace std; 5 char wh... 阅读全文
posted @ 2016-01-10 11:27 我不萌、我要高冷 阅读(292) 评论(0) 推荐(0)
摘要:提示:很烦很简单的国际象棋棋盘模拟,输入比较麻烦而已输出时:1、不论黑白,KQRBN P均是依次输出,强制大写,但不输出“P”,只输出其坐标2、对白棋的位置,小行优先大行输出(行的数字越小则优先)同行则按列的顺序(a~h)3、对黑棋的位置,大行优先小行输出(行的数字越大则优先)同行则按列的顺序(a~... 阅读全文
posted @ 2016-01-10 11:24 我不萌、我要高冷 阅读(247) 评论(0) 推荐(0)
摘要:很简单,但有一个坑点,题目说了n是大于0且不超过20的整数;但它的第六、七组数据n20;所以加个判断就能过了;下面是两种方法;#include#include using namespace std;int main(){ int n;cin >> n; if(n>0&&np; i... 阅读全文
posted @ 2016-01-09 21:00 我不萌、我要高冷 阅读(2249) 评论(0) 推荐(1)
摘要:题意:给出一个矩形,N,E,S,W分别代表进行移动的方向,如果走出矩形网格则输出经过的网格数,如果在矩形网格内循环,则输出没进入循环之前所走过的网格数和循环所经过的网格数;思路:创建两个数组,一个字符数组存每个网格中所要进行的操作,另一个整型数组代表状态,0代表没走过,1代表走过了,然后模拟; ... 阅读全文
posted @ 2016-01-09 13:33 我不萌、我要高冷 阅读(786) 评论(0) 推荐(0)
摘要:题意:给你m个编号为1到m的灯泡;然后n行中每一行的第一个数给出打开灯泡的个数xi 然后是yij是每个灯泡的编号; 题目中有一句话、我愣是没看,因为我英语真的是一窍不通,看了也白看,直接看数据做的,就是因为这个送了2发; If Vasya presses the button such t... 阅读全文
posted @ 2016-01-08 23:39 我不萌、我要高冷 阅读(356) 评论(0) 推荐(0)
摘要:题意:给定A*B的格子,放入N个机器人,每个机器人初始位置及朝向给定。给定M条指令。指令类型有三种:1、L:左转90° 2、R:右转90° 3、F:前进一格问执行指令过程中机器人是否发生碰撞,碰撞包括碰墙或碰其他机器人。安全执行完所有指令输出OK。(程序只需输出发生的第一次碰撞)第一发我定... 阅读全文
posted @ 2016-01-08 00:28 我不萌、我要高冷 阅读(416) 评论(0) 推荐(0)
摘要:#include#includeint num[25],result[25];char s[150];int main(){ using namespace std; int n,m; cin >> n; while(n--){ cin >> m; for(int i=0;i> num[i]; ... 阅读全文
posted @ 2016-01-06 23:18 我不萌、我要高冷 阅读(221) 评论(0) 推荐(0)