网易有道Qualification 2 Brief Solution
第一题。
直接读入到char[].
用个vector把每个字符拆出来存进去。 //用vector好啊,不会越界。
第二题
c++的很好。
c++自动读入串是空格分隔的。
然后用个map<string,int>,
最后用个迭代器迭代一遍。
if ( (*it).second > 0 ) cout<<(*it).first<<' '<<(*it).second<<endl;
第三题
第一眼看上去,为什么会有N=1000的搜索。
然后等我预处理sum写一半时突然发现。
只要leader们的势力范围是不相覆盖的。
那就把Ncut成若干个线段,每个线段必须包含一个且只有一个lead。
所以迭代每个lead,
考虑他的势力范围
for (j=leadpos[i-1];j<leadpos[i];++j)
for (k=leadpos[i];k<leadpos[i+1];++k)
if (check(i,j,k))f[j]+=f[k];
然后我第一次就这么写没取模就WA了……
话说这种题目还是当TYVJ做。。。
乐铺活动验证
|