摘要:
原题链接题目大意:书本印刷都是用大开的纸张对折。比如一个册子一共4页,为了方便装订,外侧印刷1、4页,内侧印刷2、3页,这样对折之后就可以按照正常阅读习惯翻页了。此题目的就是给出书的总页数,要求计算每张纸正反面应该印刷什么内容。解法:不难,但是略微繁琐。先计算需要的纸张数量,然后分别计算正反面的内容。如果书本页码很少,第一张和第二张纸比较特殊,需要单独列出来,其他内页按照公式推算。参考代码:#includeusing namespace std;int main(){ int n,i,j,k,sheet,r; while(cin>>n&&n!=0){ sheet=(
阅读全文
posted @ 2014-02-26 13:59
KK4SBB
阅读(386)
推荐(0)
摘要:
原题链接题目大意:FM在一个街道n*n街道的(0,0)点,在每个网格里放着cheese,他要尽可能多的吃这些cheese。有两个规则:1)他跑的总距离不能超过k步;2)下一个节点的cheese的块数必须超过这个节点。解法:题目是去年秋天做的,现在看了下貌似就是用一下广搜,从原点开始一个个查找。我直接把当时的代码贴过来了,看看当时写的注释,发现暑假都过了一半了,算法都没有总结好。惭愧了。参考代码:#includeusing namespace std;int n,k,x,y,block[102][102],dp[102][102];int a[4][2]={{1,0},{-1,0},{0,1},
阅读全文
posted @ 2014-02-26 13:59
KK4SBB
阅读(426)
推荐(0)
摘要:
原题链接题目大意:按照HTML的语法处理一段字符。这道题算是字符串类型的经典,熟练之后可以做一个简单的html解析器了。解法:没什么好说的,直接代码。参考代码:#include#includeusing namespace std;void hr(){ cout>str){ if(str==""){ br(); len=0; } else if(str==""){ if(len)cout<<endl; hr(); len=0; } else{ if(len+str.size()<80){ if(len!=0)cout<<
阅读全文
posted @ 2014-02-26 13:59
KK4SBB
阅读(274)
推荐(0)
摘要:
原题链接题目大意:有一个发射站,覆盖范围是半径一定的一个半圆。在一个1000*1000平方米的地盘里有很多接收站。给定发射站的圆心,求最佳角度时能覆盖接收站的个数。解法:本质上就是给一个原点和其他若干点,找出一个可以覆盖最多点的半圆。用了两个函数判断,一个是判断两点之间的距离,即该点到原点的距离是否在半径之内,筛选出第一步满足的点。另一个是判断两个点A、B是否在同一个半圆内,其实先确定一条直线AO,然后规定B点在AO的左侧就算在半圆内。每个点都遍历一次,找出最大值即可。参考代码:#include#includeusing namespace std;bool isInclude(int xx,
阅读全文
posted @ 2014-02-26 13:58
KK4SBB
阅读(270)
推荐(0)
摘要:
原题链接题目大意:定义了一种数字Humble Number,他们的质因数只包含2、3、5、7中的一个或者几个,求第n个这样的数,1#include#includeusing namespace std;int main(){ double seven,five,three,two; int a,humber[5842]={0},n=0; for(seven=1;seven>a)&&a!=0){ if(a%10==1&&a%100!=11){ //!!! cout format cout<<"The "<<a<
阅读全文
posted @ 2014-02-26 13:58
KK4SBB
阅读(247)
推荐(0)
摘要:
原题链接题目大意:FM要去逛街,他可以走任何街道,在任何路口转弯。他走一条陌生街道的速度是20公里每小时,走一条熟悉街道的速度是50公里每小时。输入是街道信息,输出消耗时间。解法:本质就是浮点运算,求两点间距离。参考代码:#include#include#include#includeusing namespace std;int main(){ int x0,y0,x1,x2,y1,y2,time; double dist=0.0,d; string str; char *p; while(cin>>x0>>y0){ //x0,y0 is useless, but s
阅读全文
posted @ 2014-02-26 13:58
KK4SBB
阅读(362)
推荐(0)
摘要:
原题链接题目大意:给一个数字,每一位相加求和,不断重复过程,直到剩一位数字。解法:考虑到输入的数字可以很大,把输入按照字符串格式读入,再逐位处理。参考代码:#include #include using namespace std;int main(){ string str; int sum,sum2,i; while(cin>>str&&str!="0"){ sum=0; for(i=0;i0){ sum2+=sum%10; sum/=10; } if(sum2=10); } return 0;}
阅读全文
posted @ 2014-02-26 13:58
KK4SBB
阅读(221)
推荐(0)
摘要:
原题链接题目大意:迭代求自然常数e。解法:没什么好说的,注意数据类型和输出格式。参考代码:#include#includeint main(){ int n=0; double fact,ee; printf("n e\n"); printf("- -----------\n"); printf("0 1\n1 2\n2 2.5\n"); ee=2.5; fact=2; for(n=3;n<10;n++){ printf("%d ",n); fact*=n; ee=ee+1/fact; printf(&quo
阅读全文
posted @ 2014-02-26 13:58
KK4SBB
阅读(162)
推荐(0)
摘要:
原题链接题目大意:给出一个格子图,求走完所有节点的最短路径距离。解法:简单啊,如果都是奇数,可以走一次斜边,其他情况就是长*宽。参考代码:#include int main(){ int i,k,m,n; double result; scanf("%d",&k); i=1; while(i<=k){ scanf("%d%d",&m,&n); printf("Scenario #%d:\n",i); if(m%2==0||n%2==0){ result = m*n; printf("%.2f\n
阅读全文
posted @ 2014-02-26 13:57
KK4SBB
阅读(247)
推荐(0)
摘要:
原题链接题目大意:叠扑克牌,给出伸出长度,问最多需要几张扑克牌。解法:循环累加。退出循环后向上取整输出。参考代码:#includeusing namespace std;int main(){ double i,len,sum; while(cin>>len&&len!=0.00){ sum=0.0; i=2; while(sum<len){ sum+=1/i; i++; } cout<<int(i+0.5)-2<<" card(s)"<<endl; } return 0;}
阅读全文
posted @ 2014-02-26 13:57
KK4SBB
阅读(312)
推荐(0)
摘要:
原题链接题目大意:Fred想在Louisiana买一套房子,但是堤坝不牢固,每年都要被河水侵蚀50平方英里。题目给出他豪宅的坐标,要求他被迫移民搬迁的年份。解法:也没什么好说的,先求出两点间的距离,即半径,然后算出面积,在除以每年塌方的面积,向上取整即可。参考代码:#include #include #define PI 3.14int main(){ int n=1,N,year; float X,Y,dist,area; scanf("%d",&N); while(n<=N){ scanf("%f%f",&X,&Y);
阅读全文
posted @ 2014-02-26 13:57
KK4SBB
阅读(324)
推荐(0)
摘要:
/*You may have heard of the book '2001 - A Space Odyssey' by Arthur C. Clarke, or the film of the same name by Stanley Kubrick. In it a spaceship is sent from Earth to Saturn. The crew is put into stasis for the long flight, only two men are awake, and the ship is controlled by the intellige
阅读全文
posted @ 2014-02-26 13:56
KK4SBB
阅读(239)
推荐(0)
摘要:
原题链接题目大意:给一个数组{ A1,A2,…,An } ,要求生成另一个数组B1,B2,…,Bn,使得Bi表示的是在数组A中排在i前面大于i的数字的个数。题目的输入是数组A(字母P表示)或者数组B(字母I表示),要求输出对应的B或者A。解法:先读取首字母,如果是P,则调用permutation(),反之调用inversion()。permutation是按照正常方法寻找。inverse是先设置一个空的数组(相当于A数组),按照B数组的顺序一个个往‘A’中放。参考代码:#includeusing namespace std;void permutation();void inversion()
阅读全文
posted @ 2014-02-26 13:56
KK4SBB
阅读(370)
推荐(0)
摘要:
原题链接题目大意:大数,20进制的加法计算。解法:convert函数把字符串转换成数组,add函数把两个大数相加。参考代码:#include#includechar* Digit="0123456789abcdefghij";void convert(char*,int*);void add(int*,int*,int*);void print(int*);int main(){ char str1[101],str2[101]; while(scanf("%s",str1)!=EOF&&scanf("%s",str2
阅读全文
posted @ 2014-02-26 13:56
KK4SBB
阅读(366)
推荐(0)
摘要:
原题链接题目大意:1/2+1/4+1/6+…1/n解法:直接累加即可。参考代码:#includeint main(){ printf("# Cards Overhang\n"); double extend; int n,i; while(scanf("%d",&n)!=EOF){ extend=0.5; for(i=1;i<n;i++) extend+=0.5/(i+1); printf("%5d%10.3lf\n",n,extend); } return 0;}
阅读全文
posted @ 2014-02-26 13:56
KK4SBB
阅读(184)
推荐(0)
摘要:
原题链接题目大意:某人手上有一大批钻石,他同时有一些盒子恰好放下这些钻石,每个盒子可以放一个或多个,问一共有几种方法。解法:这其实是一道排列与组合计算题,主要是写出组合算法的代码,把计算公式转为程序。参考代码:#include#include#include#includeusing namespace std;int fact(int a){ //recursive factorial function if(a==1) return a; else return a*fact(a-1);}int main(){ int i,j,k,m,n,c,c1,c2,sum,ans; int num.
阅读全文
posted @ 2014-02-26 13:56
KK4SBB
阅读(231)
推荐(0)
摘要:
原题链接题目大意:给出一列数据,不多于30个。如果其中的两个或多个数之和等于这组数据中的另一个数,如{1,2,3}这个数组中存在等式1+2=3,输出这个等式。找出满足条件的所有等式。如果,找不到符合条件的,输出“Can’t find any equations.”。解法:把这个数组的所有数字排序。首先,从小到大开始累加数字,直到和超过数组的最大值,这样我们可以知道,等式左边最多可以有几个数字。然后,从两个加数开始,用深度优先的方法,从左往右搜索,寻找是否存在满足条件的等式。依次递增搜索的深度。参考代码://参考了这篇日志http://blog.csdn.net/scnu_jiechao/art
阅读全文
posted @ 2014-02-26 13:56
KK4SBB
阅读(491)
推荐(0)
摘要:
原题链接题目大意:有这么一个公式 A,B,C(A using namespace std; int dp[5050][1010]; #define maxn 1>ncase; while(ncase--) { cin>>guests>>chopsticks; for(i = chopsticks;i >= 1;i--) cin>>a[i]; for(i = 1;i = j * 3) { dp[i][j] = dp[i - 1][j]; ...
阅读全文
posted @ 2014-02-26 13:55
KK4SBB
阅读(545)
推荐(0)
摘要:
/*In this problems, we’ll talk about BIG numbers. Yes, I’m sorry, big numbers again…. Let N be a positive integer, we call S=NN the “big big power” of N. In this time, I will calculate the exact value of S for a positive integer N. Then, I tell you S, you guess N.Note that I may make mistakes in cal
阅读全文
posted @ 2014-02-26 13:55
KK4SBB
阅读(238)
推荐(0)
摘要:
/*In the early nineties, the World Wide Web (WWW) was invented. Nowadays, most people think that the WWW simply consists of all the pretty (or not so pretty) HTML-pages that you can read with your WWW browser. But back then, one of the main intentions behind the design of the WWW was to unify severa
阅读全文
posted @ 2014-02-26 13:54
KK4SBB
阅读(353)
推荐(0)
摘要:
原题链接题目大意:鼠标点击一块,求与之联通的所有区域的边长之和。解法:广度优先搜索。从选中的这个点开始,往周围8个点依次搜索,访问过的点做上标记。如果该点上下左右的一个或多个方向没有相邻的点,边长+1。代码BSF函数中,有两个数组存放相邻8个点的坐标,这一段代码感觉很简洁,是从其他地方学习来的。参考代码:#include#include#include#includeusing namespace std;int r,c,x,y,i,j,ans;int visited[22][22],grid[22][22];char s;int BFS(int i,int j);struct Node{ i
阅读全文
posted @ 2014-02-26 13:54
KK4SBB
阅读(456)
推荐(0)
摘要:
/*Mathematics can be so easy when you have a computer. Consider the following example. You probably know that in a right-angled triangle, the length of the three sides a, b, c (where c is the longest side, called the hypotenuse) satisfy the relation a*a+b*b=c*c. This is called Pythagora’s Law.Here w
阅读全文
posted @ 2014-02-26 13:54
KK4SBB
阅读(158)
推荐(0)
摘要:
IP地址用二进制来表示,每个IP地址长32bit,4个字节。IP地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E5类。常用的是B和C两类。A类IP地址 A类IP地址范围:1.0.0.1-126.255.255.254一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。A.
阅读全文
posted @ 2014-02-26 13:54
KK4SBB
阅读(348)
推荐(0)
摘要:
原题链接题目大意:走廊两边排列了400个房间,要在两个房间之间搬桌子。搬桌子的时候会占用一部分走廊,有冲突的话要回避。求最快搬完的时间。解法:开辟一个数组,每占用一段走廊,就把相应的房间号的元素加1,最后整个数组中最大的数就是结果。注意,房间是排列在走廊两边的,所以数组的大小是400/2,而不是200。参考代码:#includeusing namespace std;int main(){ int i,m,n,a,b,t; cin>>n; while(n--){ cin>>m; int room[201]={0}; //重复使用的寄存器一定要记得把上一次的结果清空 wh
阅读全文
posted @ 2014-02-26 13:54
KK4SBB
阅读(351)
推荐(0)
摘要:
原题链接题目大意:2001年11月4日是一个黄道吉日,有两个人做游戏,看谁先数到这个日子。可以往后数一天,比如2号到3号,30号到31号,也可以往后数一个月。给出一个起始的日子,求能否保证先开始游戏的人必胜。解法:一开始一直在找规律,往前推算了两个月,没有发现规律。后来Google了一下,发现有个很巧妙的方法。日期或者月份每增加一次,日期+月份的奇偶性就会改变一次,所以一个回合之后奇偶性是不发生变化的。11+4=15是偶数,只要保证开始的日期+月份是偶数,先数的人就可以赢。但是,有几个特例。2月28日是偶数,3月1日也是偶数,奇偶性没有发生变化。同样的,9月30日、11月30日的后一天也是奇数
阅读全文
posted @ 2014-02-26 13:53
KK4SBB
阅读(325)
推荐(0)
摘要:
题目 有N件物品和一个容量为V的背包。第i件物品的费用是c,价值是w。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[v]=max{f[v],f[v-c]+w}。这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细 解释一下:“将前i件物品放入容量为v的背包中”这个子问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为一个只牵...
阅读全文
posted @ 2014-02-26 12:31
KK4SBB
阅读(271)
推荐(0)
摘要:
K-means是一种经典的聚类算法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。假设要把样本集分为c个类别,算法描述如下: (1)适当选择c个类的初始中心; (2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类; (3)利用均值等方法更新该类的中心值; (4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。 该算法的最大优势在于简洁和快速。算法的关键在于初始中心...
阅读全文
posted @ 2014-02-26 12:28
KK4SBB
阅读(6447)
推荐(0)
摘要:
最近用Matlab写程序的时候终于遇到了程序执行效率的问题,于是在Google上面搜索了一篇提高代码性能的文章,简单的概括一下。文章是通过优化寄存器读写来提高执行速度的,主要体现在三个方面:在做循环计算之前先分配好内存空间;用列向量存取数据;避免创建不必要的变量。Matlab并不需要程序员实现定义变量的数据类型和大小。但是,如果事先不分配一段空间,每经过一次for循环,数组x的大小都会改变,这就需要新建一个数组并且把原来的数组复制到新的数组,增加了运算时间。计算机内存存储二维数据是按照列的顺序保存,先存第一列,再存第二列,以此类推。所以按照列来读取数据会提高速度。用了两张图标来展示这个方法的效
阅读全文
posted @ 2014-02-26 12:26
KK4SBB
阅读(427)
推荐(0)
摘要:
当typedef与结构结合使用时,会有一些比较复杂的情况,而且在C语言和C++里面有略有差别,因此从网上摘录了一些资料。1 首先:在C中定义一个结构体类型要用typedef:typedef struct Student{int a;}Stu;于是在声明变量的时候就可:Stu stu1;如果没有typedef就必须用struct Student stu1;来声明这里的Stu实际上就是struct Student的别名。另外这里也可以不写Student(于是也不能struct Student stu1;了)typedef struct{int a;}Stu;但在c++里很简单,直接struct S
阅读全文
posted @ 2014-02-26 12:24
KK4SBB
阅读(275)
推荐(0)
摘要:
逻辑运算符号也是一种运算符号,比如&&(与)、||(或)和!(非)。一般自己在写C/C++程序的时候,通常用逻辑运算符做判断,if(A且B)或者while(A或B),很少用他们做算数运算。因为用逻辑运算符做算数运算,就要涉及到二进制数的每一个bit的值了。今天在找分段树算法的时候发现几个有趣的面试题,关于逻辑运算符的例子。第一个是y=x&&(-x)。这个式子的返回值是最后一位“1”以及其后所有“0”组成的数。比如,设x=40,用二进制表达就是x=00101000。-x=-40,负数在计算机里是用补码表示的(补码就是反码加一,反码是原码取反),-x=1101100
阅读全文
posted @ 2014-02-26 12:23
KK4SBB
阅读(556)
推荐(0)
摘要:
Matlab GUI常用函数总结% — 文件的打开、读取和关闭% — 文件的保存% — 创建一个进度条% — 在名为display的axes显示图像,然后关闭% — 把数字转化为时间格式% — checkbox的callback函数% — 图像识别处理相关的两个函数% — 点击图像,调用函数% — montage% --- 文件的打开、读取和关闭 --- try [FileName,PathName] = uigetfile('*.raw','Select an image file'); FID = fopen(strcat(PathName,FileName
阅读全文
posted @ 2014-02-26 12:17
KK4SBB
阅读(2525)
推荐(0)
摘要:
这是一个困扰我很久的问题,关于Qt下生成的exe文件在没有安装Qt的机器上无法运行的问题。Qt是编写C++图形界面的一个很好工具,比MFC来的直观。可是,Qt的安装却是一个让人头疼的事情。早在上个学期,我就在windows XP 系统下安装了Qt 4.8,用破解版的msvc 2010编译。安装过程中出现了多次“configure is not an internal or external command”之类的问题,安装卸载了多次,好在最后可以使用。之后又安装了破解版的ipp包,当我把生成的exe文件移到另一台电脑上安装使用时,总是提示缺少dll,或者XXX错误。鉴于都是破解版的软件,我不知
阅读全文
posted @ 2014-02-26 12:17
KK4SBB
阅读(38619)
推荐(1)
摘要:
// get the greatest power of two that is a divisor of n: return n&-n; // swap two integers a and b: a^=b^=a^=b; a^=b, b^=a, a^=b; // check whether a (nature number > 1) is a power of two or not: return ( ! ( x & (x-1))); return (x&-x) == x; // count number of bits set in v: for( int i
阅读全文
posted @ 2014-02-26 12:15
KK4SBB
阅读(462)
推荐(0)
摘要:
/* Return a RGB colour value given a scalar v in the range [vmin,vmax] In this case each colour component ranges from 0 (no contribution) to 1 (fully saturated), modifications for other ranges is trivial. The colour is clipped at the end of the scales if v is outside the range [vmin,vmax]*...
阅读全文
posted @ 2014-02-26 12:14
KK4SBB
阅读(1000)
推荐(0)
摘要:
这是因为两种颜色的产生方法不一样。一种是做加色法(additive),另一种是做减色法(Subtractive)。加色法是光源合成光线的原理。就像楼上同学说的,显示屏是一个光源,本身可以发出红、绿、蓝三种颜色的光线。通过调节红、绿、蓝三种颜色的强度,来合成其它。减色法是物体表面反射光线的原理。一些物体可以反射所有波长的光线,比如白纸,所以我们看到画纸是白色的;而像用来画画的颜料只能反射一部分波长的光线,红色的颜料反射红色的光线,其余光线被颜料吸收了(减去了),所以我们只看到红色。加色法示意图。有红、绿、蓝三个光源叠加,我们在photoshop里设置(0,0,0)就相当于告诉显示屏把这个像素点红
阅读全文
posted @ 2014-02-26 12:13
KK4SBB
阅读(3366)
推荐(0)
摘要:
政策法规类的书籍可以参考童效勇先生编写的《业余无线电通信 (豆瓣)》。因为无线电通信涉及到频率、功率、方式等限制,还有各种审批手续,国家的规矩很多很细。这本书详细介绍了申请呼号的流程,电台使用的规则,和相关的法律法规,内容很符合我们国情。技术类的书籍可以参考美国业余无线电联盟的推荐书籍。ARRL自己或者委托其他业余无线电爱好者编写了很多基础电路设计、射频电路设计、天线设计、短波通信、卫星通信等等的书籍。《无线电》杂志社又与ARRL协商并签订版权引进协议,获得了ARRL英文图书的中文出版权,国内的HAM们把它们翻译成中文版。ARRL推荐的书单和购买地址请戳这里:ARRL :: Technical
阅读全文
posted @ 2014-02-26 12:12
KK4SBB
阅读(3282)
推荐(1)
摘要:
转载自本人在知乎的回答作为上个月刚刚拿到呼号的人,我来抛砖引玉吧。架好天线,打开电台,按下PPT,开始呼叫:CQ, CQ, CQ, this is KK4SBB, kilo kilo four sierra bravo bravo, calling CQ.上面这句是业余无线电台操作时最常用的一句话,我就从它说开去吧。首先,CQ是英文单词seek you的简写。seek you的英文意思是我要找你,放在业余无线电通讯中的意思就是说呼叫频率上的任何人。呼叫三遍CQ,紧接着是自己的呼号。不论是在中国还是美国,根据法律规定每个业余电台操作员都必须先通过考试,取得操作证书和呼号,之后才能用电波联通。所以
阅读全文
posted @ 2014-02-26 12:11
KK4SBB
阅读(718)
推荐(0)
摘要:
上个学期在信号处理课上选做的题目和这个问题正好相关。如焕杰同学所说,iPhone拨号音是使用双音多频信号(DTMF)。双音多频信号是贝尔实验室发明的,通常用于发送被叫号码,它取代了早起的脉冲拨号方法。和DTMF配合使用的是DTMF键盘,标准的是4X4的键盘,但是通常电话不需要16个按键,只有12个按键。每个按键都有一个横坐标和一个纵坐标,分别对应一个频率。传统的DTMF信号是用来在固话网络上在带内(跟语音通话公用信道)传输信息的。比如被叫号码或者其它信令(网上银行输入卡号密码等)。 而手机的类似信令由带外(跟语音信号分别传输)传输,相比较而言,更精确,也更安全(不存在被录音后破解的情况)。 为
阅读全文
posted @ 2014-02-26 12:08
KK4SBB
阅读(1433)
推荐(0)
摘要:
用Matlab来放音乐,和用单片机加蜂鸣器放音乐的原理都差不多,就是把连续的声音信号事先转换成用数字信号,然后用扬声器按照一定的节奏放出来。换句话说,演唱者是把声音经过麦克风转换成电信号,录音设备对这个电信号按照一定的时间间隔(采样频率)进行采样,得到一长串数字。如果采样的频率高,即单位时间采样的点数多,同样长度的一首歌,得到的这串数字也越长。数字的大小表示电压的高低,也就是录制时声音的大小。这串数字就是原始的音频信号。链接里给出的那段Matlab代码的功能,就是模拟产生那串代表音频信号的数字,把这串数字交给数字模拟转换器,生成对应的电压信号,再由扬声器把这个电信号(电能)转变成声音信号(机械
阅读全文
posted @ 2014-02-26 12:05
KK4SBB
阅读(1403)
推荐(0)
摘要:
% Cripple Pachebel’s Canon on Matlab% Have funfs = 44100; % sample ratedt = 1/fs;T16 = 0.125;t16 = [0:dt:T16];[temp k] = size(t16);t4 = linspace(0,4*T16,4*k);t8 = linspace(0,2*T16,2*k);[temp i] = size(t4);[temp j] = size(t8);% Modification functionsmod4 = sin(pi*t4/t4(end));mod8 = sin(pi*t8/t8(end))
阅读全文
posted @ 2014-02-26 12:04
KK4SBB
阅读(711)
推荐(0)
摘要:
在杭州生活的知友们,你们是否知道上城区有一条“浣纱路”?浣纱路北起庆春路,往南到西湖大道,北向南单向通行。如果你走过这条路,我告诉你浣纱路下面其实是空心,整条路都是空的,你信吗?我相信,大多数和我年龄相仿的知友听到一定会觉得惊讶,浣纱路又没有规划地铁,怎么可能空心。其实,在40年前,杭州并没有这条路,当时是一条浣纱河。后面这张截图来自文革时期的一张杭州交通图。如果你对杭州熟悉,你会发现从现在的杭州大厦西面开始往南,沿武林路,穿过凤起路、庆春路和龙翔桥,在现在市一医院的位置折转沿现在的浣纱路,到开元路折西流入西湖这样一条河道。这就是老底子的浣纱河。你们看看这条河,从涌金门把西湖的水引出来,弯弯折
阅读全文
posted @ 2014-02-26 11:59
KK4SBB
阅读(1319)
推荐(0)
摘要:
由于道路改造、电车本身安全等原因,杭州的电车正在逐渐淡出城市交通,也许电车的慢慢淡出带有些许伤感和不甘,这都是这个城市交通的选择。不管未来151路电车是去是留,这都是城市发展进程中的一个选择,也是时代的选择。http://v.youku.com/v_show/id_XMzUyODg1MzA4.html钱报旧闻:杭州电车50岁生日快乐(2011年4月26日) 50年前的今天,时任杭州市副市长的顾春林剪开了红色的布幅。编号为“01”的1路电车如明星般披红挂彩,在人山人海的欢呼声中开了出去,两根长辫子划出两道长长的平行线。 从那一天起,无轨电车成为杭州城的一员,陪伴了杭州人整整50个春秋。 ...
阅读全文
posted @ 2014-02-26 11:55
KK4SBB
阅读(1183)
推荐(0)
摘要:
原题链接题目大意:Dick和Jane的年龄之和等于他们宠物的年龄,宠物之间的年龄关系XXX。解法:小学奥数题目,枚举法。参考代码:#include#includeusing namespace std;int main(){ int i,j,s,p,y,a,b,c; while(scanf("%d%d%d%d",&s,&p,&y,&j)!=EOF){ int flag=0; for(a=11+j;a>=s+p;a--){ for(b=p;b=b+s)&&(a=y+c)&&(a=c+p)&&
阅读全文
posted @ 2014-02-26 11:44
KK4SBB
阅读(511)
推荐(0)
摘要:
原题链接题目大意:有两串数字P和W。数组P中,数字P[i]表示第i个右括号之前的左括号个数。数组W中,数字W[i]表示在第i个右括号和与它匹配的左括号之间的右括号的个数(包括本身)。给出一个数组P,求对应的数组W。解法:开辟一个和括号对数相同大小的数组flag[],初始化0。从P数组读入一个数字a,若flag[a]不等于0,说明对应的左括号已经被用了,继续往前查找,直到找到第一个0.两个元素的下标之差+1就是他们间隔的右括号个数。参考代码:#include#includeusing namespace std;int main(){ int i,j,m,n,a,b; cin>>m;
阅读全文
posted @ 2014-02-26 11:28
KK4SBB
阅读(415)
推荐(0)
摘要:
原题链接题目大意:x的取值从0.000到2.000,输出每个x对应的y(x)的值解法:参考了这篇日志http://www.cnblogs.com/godhand/archive/2010/04/29/1723494.html。计算的公式文章里都推导了,关键是要把握好精度和运算效率的关系。分母中含有k的多项式越多,相同循环次数的结果的精度就越高。最后,还要加上一个误差项,没有这一项可能还是要WA。参考代码:#include#includeint main(){ double x,sum; int i,j; for(x=0.0;x<=2.0;x=x+0.001){ sum = 0; ...
阅读全文
posted @ 2014-02-26 11:27
KK4SBB
阅读(510)
推荐(0)
摘要:
原题链接题目大意:有一大一小两个杯子,相互倒水,直到其中一个杯子里剩下特定体积的水。描述这个过程。解法:因为两个杯子的容积互质,所以只要用小杯子不断往大杯子倒水,大杯子灌满后就清空,大杯子里迟早会出现需要的体积的水。不过也有可能小杯子先剩下符合要求的体积的水。参考代码:#includeusing namespace std;int main(){ int ca,cb,n,q,r,i; int a,b; while(cin>>ca>>cb>>n){ a=0; b=0; while(1){ if(a==0){ a=ca; coutcb){ a=a+b-cb; b
阅读全文
posted @ 2014-02-26 11:26
KK4SBB
阅读(283)
推荐(0)
摘要:
题目大意:有一个4*4的城市,其中一些格子有墙(X表示墙),在剩余的区域放置碉堡。子弹不能穿透墙壁。问最多可以放置几个碉堡,保证它们不会相互误伤。解法:从左上的顶点开始遍历,如果这个点不是墙,做深度优先搜索,算出这种情况下的最多碉堡数。每做一次DFS,更新一次最大值。参考代码:#include#include#includeusing namespace std;char city[6][6];int i,j,n,ans,maxi,visited[6][6];void DSF();int find(int x,int y);int main(){ while(cin>>n&
阅读全文
posted @ 2014-02-26 11:25
KK4SBB
阅读(284)
推荐(0)
摘要:
熟悉ZOJ环境,如何上传代码,如何查看结果。#includeusing namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a+b<<endl; } return 0;}
阅读全文
posted @ 2014-02-26 11:23
KK4SBB
阅读(209)
推荐(0)