2011年8月10日
摘要:
队列的基本使用方法
include
详细用法:
定义一个queue的变量 queue M
查看是否为空范例 M.empty() 是的话返回1,不是返回0;
从已有元素后面增加元素 M.push()
输出现有元素的个数 M.size()
显示第一个元素 M.front()
显示最后一个元素 M.back()
清除第一个元素 M.pop() 阅读全文
摘要:
HDU 2276 Kiki & Little Kiki 2
题目大意:题目大意给定一系列灯的初始状态,0代表暗,1代表亮,每一秒所有的灯都有可能发生状态切换,
切换规则:当前灯的左边第一个灯是亮的,则当前的灯切换状态,如果当前灯的左边第一盏灯是暗的,则当前灯的状态无需变化 阅读全文
摘要:
POJ 1061 青蛙的约会 扩展欧几里德算法
此题其实就是扩展欧几里德算法-求解不定方程,线性同余方程。
设过s步后两青蛙相遇,则必满足以下等式:
(x+m*s)-(y+n*s)=k*l(k=0,1,2....)
稍微变一下形得:
(n-m)*s+k*l=x-y
令n-m=a,k=b,x-y=c,即
a*s+b*l=c
只要上式存在整数解,则两青蛙能相遇,否则不能。 阅读全文
摘要:
POJ 1131 Octal Fractions 任意进制之间小数的转换
//给定一个八进制的小数题目要求你把它转换为十进制小数,
//转换后小数的位数是转换前八进制小数位数的3倍且不输出末尾无意义的零(即后置零).
// 我采用的方法是乘10然后对8取整(现在假设将p进制的小数转换为n进制,同样采用乘n取整:),
//每转换一位,都必须从最低位s[len-1]开始至小数的最高位(即小数点后的一位),
//每次计算积 g=a[j]*n+k(其中k为下一位积的进位),本位进位数 k=g/p,
//积在本位存入 s[j]=g%p;最后的整数k作为转换的一位存放于转换结果字符串中。 阅读全文