随笔分类 - HDU
摘要:题意:求n到k的最小路径, n有三种变法 n+1,n-1或者2*n; 贴个广搜的模版在这里把.... 总结一下:一般涉及到求最短路的话用宽搜 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<queue>
阅读全文
摘要:算法介绍: Nim游戏是指两个对手在m个堆中轮流随意从某一个堆中拿出n个元素,假定两个对手都是足够聪明,直至最后一次取的人将所有元素取出,此人取得胜利。与之相反的是Misere游戏,相同的游戏规则,但是最后一次取的人将落败。 为了解决这个问题,有一个叫做nim-sum的方法加以解决,这个方法是这样的
阅读全文
摘要:想了两天- - 、 最近才看懂,只要是PN图不知道是什么东西,理解力太差 http://www.tuicool.com/articles/JFJZ3i 这个介绍的很详细、 PN图的由来也推了出来 原来航点上的课件也有PN图推导的由来、 概念:必败点和必胜点(P点 & N点) 必败点(P点) :前一个
阅读全文
摘要:题意:一个盒子有36个格子、每个格子可以装64个物品,搬运一个箱子是一次搬运,问最少到搬运次数 思路:直接求总需要多少个格子,然后去求盒子,这里求盒子呢有个小技巧,就是用ceil函数 1 #include<iostream> 2 #include<cmath> 3 #include<cstring>
阅读全文
摘要:题意:给出一堆高度不一的砖头,现在使他们高度一样,问最少的移动次数,(每减少1就是移动一次) 思路:求出平均高度,然后模拟最后平均高度的数组,也就是说,每个数组对应每一个平均高度,也就是说比平均高度大的那些数据,就移动了,就这样直接求和 1 #include<iostream> 2 #include
阅读全文
摘要:并查集基本应用、 题意:有编号为1到10^7的男生在一个房间,现在给出n组数据,每组数据包括两个编号,且这两个编号的人是朋友,如果A和B是朋友,B和C是朋友,那么A,B,C三人都是朋友,哪一个朋友圈中人数最多,输出这个朋友圈的人数 思路:因为编号是1到10^7所以,每次都要求出最大的编号数,如果每次
阅读全文
摘要:经典的巴什博弈、 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果
阅读全文
摘要: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 ...
阅读全文
摘要:典型的大数问题、分析来自:http://www.cnblogs.com/Su-Blog/archive/2012/08/27/2659172.html高精度问题:大整数乘法的应用其核心思想就是把计算结果每一位上的数字保存到一个数组成员中,例如:把124保存至数组中,保存结果应该是result[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;...
阅读全文
摘要:题意:讲的是XKA要设计T-Shirt,征集大众对各元素的满意度。分别输入3个整数,分别给N、M、K,其中N代表参与打分的人数,M代表元素总数量,K代表XKA所要选用的元素数量。XKA将选用分值较高的前K个元素,若分值相同则选择索引小的的元素。思路:记录每个M的总分数和索引,用结构体存起来,两次排序...
阅读全文
摘要: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...
阅读全文
摘要:题意:狼和兔子的故事,n个洞,0到n-1,兔子躲在其中一个洞中,狼从0开始找,每次跳跃m个洞,问狼是否一定能找到兔子思路:就是看狼能不能把所有洞都遍历一次、也就是求m,n的最大公约数是不是1,是1就能找到,否则就有一些洞狼是不会遍历到的 1 #include 2 #include 3 using n...
阅读全文
摘要:这题做了好久、....理解别人的代码都理解了好久!!!太弱太弱、 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...
阅读全文
摘要:- -我自己开始以为是数值范围是1到100000000....搞了半天才发现是斐波那契数列的项数1到100000000坑爹、!!不会,只能看网上大牛的题解、具体解释请看:http://www.cnblogs.com/Yu2012/archive/2011/10/09/2199156.html#inc...
阅读全文
摘要: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...
阅读全文
摘要:题意:给出一个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 { ...
阅读全文
摘要:欧拉函数φ函数的值 通式:φ(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那么φ...
阅读全文
摘要:题意:就是求给你一个抛物线的三个点,第一个给定的点是抛物线的顶点,让你求直线p2p3与抛物线的定积分思路:因为题目条件给了顶点,所以直接用抛物线的顶点式去求.本弱弱数学太差、还得复习一下公式 1 #include 2 #include 3 double a,h,k; 4 double f(doubl...
阅读全文
摘要:题意:给你n个木块的长和宽,现在要把它送去加工,这里怎么说呢,就是放一个木块花费一分钟,如果后面木块的长和宽大于等于前面木块的长和宽就不需要花费时间,否则时间+1,问把这个木块送去加工的最短时间。思路:还是结构体排序,长相等就以宽来排序,如果一个木块被送去加工了标记它不存在就可以了; 1 #incl...
阅读全文

浙公网安备 33010602011771号