2009-06-09
百度之星的初赛成绩终于确定了
栏目:比赛历程
27,651 Views
第一场152名295分,第二场105名148分
前两年基本都是压线进复赛,今年成绩稍微好一些
2009-06-04
栏目:比赛历程
27,425 Views
有道初赛分成24个Group,我在第19个,题目都非常简单
250分的题目是求从A到B之间有多少个数恰好可以被数组divisors中的K个数整除,只要简单的枚举一下就可以
关键代码如下:
int findLargest(vector <int> d, int K, int A, int B)
{
for(int i=B; i>=A; –i)
{
int k=0;
for(int j=0;j<d.size();++j)
if(i%d[j] == 0)k++;
if(k==K)return i;
}
return -1;
}
500分的题目描述:
双倍超立方数是指一个正整数可以正好被拆分为两种不同的a^3+b^3的方式,其中a,b均为整数且0<a<=b。对于任何一个指定的 int n, 返回所有的小于等于n的双倍超立方数的个数。
题目也比较简单,枚举a,b,用map记录某个整数能拆分的方式数,最后统计一下能拆分成两种的个数即可,代码如下:
map <int, int> dict;
map <int, int>::iterator it;
int count(int n)
{
int res=0;
dict.clear();
for(int i=1;i<1010;++i)
{
for(int j=i;j<1010;++j)
{
if(i*i*i+j*j*j <= n)
dict[i*i*i+j*j*j]++;
}
}
for(it=dict.begin();it!=dict.end();++it)
if(it->second==2)res++;
return res;
}
最后提交代码后分别得了244和440分,第二题写的慢了,总分684.36,system test后Group内排第2,眼观了一下整体排名应该在90多名,进决赛是没有什么希望了!
2009-05-20
栏目:解题报告
24,339 Views
http://acm.pku.edu.cn/JudgeOnline/problem?id=2318
题意:
有一矩形,N条直线(直线不相交)把矩形分成N+1个区间,然后给定M个点,求矩形每个区间内有多少个点,如下图

算法:
简单题,只要对每个点求出所在的区间然后计数,求区间时使用二分找到这个点右边或者左边的第一条直线即可,复杂度M*logN
代码:
#include<iostream>
using namespace std;
#define MAX 5005
int n, m;
double x1, y1, x2, y2;
double u[MAX], l[MAX];
double k[MAX]; // 斜率
double h;
int count[MAX];
void bsearch(double x, double y)
{
int ma = n, mi = 0, mid;
double rx;
double ydis = y – y1;
while(ma > mi)
{
mid = (ma+mi)>>1;
rx = k[mid] * ydis + u[mid];
if(rx<x)mi = mid+1;
else if(rx>x)ma = mid;
}
count[ma]++;
}
int main()
{
int i;
double x, y;
while(scanf(“%d”,&n)==1 && n)
{
memset(count, 0, sizeof(count));
scanf(“%d %lf %lf %lf %lf”,&m,&x1,&y1,&x2,&y2);
h = y2 – y1;
for(i=0;i<n;++i)
{
scanf(“%lf%lf”,&u[i], &l[i]);
k[i] = (l[i]-u[i])/h;
}
u[n] = x2; l[n] = x2; k[n] = 0;
for(i=0;i<m;++i)
{
scanf(“%lf%lf”,&x,&y);
bsearch(x, y);
}
for(i=0;i<=n;++i)
printf(“%d: %d\n”,i,count[i]);
printf(“\n”);
}
return 0;
}
2009-05-07
栏目:Silverlight
35,972 Views
一个比较简单的方法就是,直接在嵌入silverlight的网页中指定拉伸模式ScaleMode:
ScaleMode这是Silverlight用户控件的一个属性,通过这个属性可以指定用户控件如何按浏览器的大小进行缩放。
这个属性可以有三个值
aspx中调用代码如下:
<asp:Silverlight ID=”Xaml1″ ScaleMode=”Stretch” runat=”server” Source=”~/ClientBin/SilverlightApplication52.xap” MinimumVersion=”2.0.31222.0″ Width=”100%” Height=”100%” />
(待续)
2009-04-15
栏目:胡言乱语
30,109 Views
笔试篇
真正上来考场才知道复试笔试没有传说中的那么简单,数处从原来的五道大题增加为七道,五道证明,都是变换的性质,傅立叶变换,Z变换,离散傅立叶变换,这些还好,凭自己的理解都能证出来,一道线性卷积,一道FIR线性滤波器网络框图。数处一道DFT的证明帕斯瓦尔定理没有证出来,同学说倒着证,咋证呢?现在也没想出来。
数电模电一张卷子觉得题量还很大,还没考之前总四处打听会考什么知识点,结果是什么都考,很细的知识点都考虑。模电最后一道大题驰张振荡器俺没看,所以就空着了。今天面试时看到笔试的成绩了,85,还比较满意,呵呵。
面试篇
为了这个面试,仔细看了数字信号处理,看来微机原理、通信原理,赶了半个月的毕设,因为有人说老师必问毕设。
来了西电,见了老师带的研究生,感觉心里特放心了,也没有见导师,知道昨晚发现报我那导师的只有我一个外校的,其余都是本校的,五个还数成了六个,一下子急的觉都睡不着,只怕会保本校刷外校,刷谁呀,俺呗。
下午从两点就站在办公室外等着,19个人俺是第十五个,等啊等,等啊等,有点人进去了半个小时才被放出来,都说问的问题很难,还动笔算,画频谱图之类的,有些是通信原理的,比如平稳随机过程,宽平稳严平稳之类的,还有信号与系统的,问傅立叶变换,其实很多时候我们只是会用,深入讲讲本质的东西就不会来。每出来一个我们就围过去取经。五点半多,我刚从找了好几圈才找到的厕所回来,就被告知下个就是你,赶紧进去。就这么着,还没来得及紧张一脚就跨进去了。
敲门~进去
把四六级成绩单、报名信息简表、身份证学生证及复印件、成绩单、个人简历、复试表一股脑的给了复试秘书
老师:请坐吧
我:谢谢
秘书:唉呀,四六级成绩这么高,都五百多
老师:那就用中文自我介绍吧
我:……(信口讲了一堆)
中途被打断
组长给出了到题,一个矩形脉冲序列,画它的FT
我给讲了下我的思路,头头点了点头,“思路很清楚,就是这样的”
俺思路是懂,笔跟不上,知道是单个矩形脉冲和周期脉冲序列卷积,频谱是相乘,可到了频域硬是画成了卷积;头头说我知道你的意思啦,这式子写的也对,就是有点晕吧;
又给出了一道,把周期矩形脉冲改为只有三个矩形,画频谱
M:改为只有三个,相当于对原序列加矩形窗,时域相乘,那频域就是这两个的频谱卷积……
嘴上说的很对,理解也很正确,还是没画出来,我导师这会开口了:看来基本概念掌握的很清楚,很透彻,她一直在看我的成绩单,还惊讶的说“呀,高数竟然考了100”(嘿嘿,窃喜)
我左手边的老师没开口只是看我带的英语的那些证书,我纳闷哪个才是传说中留过洋的外语系的老师呢,左手边是复试作记录的秘书,我犯迷糊那会她还给我偷偷的提示呢,哈哈)
就问了俩问题,就把俺给放出来了,脑袋还蒙蒙的,兴奋,那会就觉得兴奋,哈哈
18,19号体检完了,算是真结束了