Redian新闻
>
对方辩友全死了啊!!
avatar
对方辩友全死了啊!!# Joke - 肚皮舞运动
a*e
1
想问下如果在欧洲做博后,然后在美国找教职,那这个onsite interview一般是要自己
掏钱过去吗?还是说可以电面或者skype。觉得如果必须onsite还要自己掏钱,费用有
些受不了啊。有谁是欧洲博后在美国找到教职的吗?这个一般流程是啥啊?谢谢
avatar
g*y
2
“第二个人,问了一个很有意思的回文问题。就是有一个byte流,从开始读,读到第一
个回文的时候就停。例如,
第一次读4
下一次读1
下一次读3
下一次读3
下一次读1
下一次读4,这个时候停。
要求线性时间。有个隐含的条件是所有回文保证是偶数长度的。没想出来,但是问到了
答案。”
我在网上就找到了rolling hash的解法,没有严格证明那是O(N)的。
有O(N)的简单解法吗?
avatar
x*s
3
口若悬河的小胖子
年轻时会做的事,青春真好哦:)
avatar
g*t
4
学校出钱

【在 a*******e 的大作中提到】
: 想问下如果在欧洲做博后,然后在美国找教职,那这个onsite interview一般是要自己
: 掏钱过去吗?还是说可以电面或者skype。觉得如果必须onsite还要自己掏钱,费用有
: 些受不了啊。有谁是欧洲博后在美国找到教职的吗?这个一般流程是啥啊?谢谢

avatar
B*1
5
byte流 是读完可以buffer下来一部分的,还是读完就扔掉啊?
avatar
n*i
6
In School, can't listen, summary, pls.
avatar
l*i
7
如果真心想在美国找教职,自己case不是特别强的话还是尽快move到美国来比较靠谱,
面试机会会更多一些。
在欧洲做博后最后找到美国faculty的要么是在那边打拼了很多年有一定实力了,要么
博士也是在美国比较top的学校拿的且欧洲博后经历不太长。如果二者都不是,拿到美
国这边教职的机会会低得多。
欧洲做博后但想找美国faculty一个劣势是,欧洲老板即使非常牛,也仅限于学术上,
而不是各种资源尤其是funding的控制上,因为美国这边基本是自己玩自己的,欧洲那
边的很难形成影响气候。所以,对博后找美国这边教职,除了写很强的推荐信,没法在
其他方面给予一定的帮助和施加一定的影响。

【在 a*******e 的大作中提到】
: 想问下如果在欧洲做博后,然后在美国找教职,那这个onsite interview一般是要自己
: 掏钱过去吗?还是说可以电面或者skype。觉得如果必须onsite还要自己掏钱,费用有
: 些受不了啊。有谁是欧洲博后在美国找到教职的吗?这个一般流程是啥啊?谢谢

avatar
g*i
8
回文未必是偶数长度吧,奇数也可以啊.
给的列子里面33不算回文吗? 难道题目里的第一个回文是从开始第一个字符算起的?
能把rolling hash的解法解释下或者给个链接吗?怎么决定窗口大小呢?
avatar
z*0
9
为啥说“目前无法找到视频”?
avatar
a*e
10
好奇问下,拿到onsite的话,去美国面试的签证问题是怎么解决啊?临时申请要不少时
间吧
avatar
g*y
11
你可以存下来,只要时间O(N)

【在 B*******1 的大作中提到】
: byte流 是读完可以buffer下来一部分的,还是读完就扔掉啊?
avatar
h*k
12
这胖子讲话怎么key这么高
听不请啊
avatar
g*t
13
海外candy
要么是功成名就的正教授了 学校可以等
要是ap的话一般找的是玫瑰人
几乎99%打算要才会花这么大精力从海外情人面试的

【在 a*******e 的大作中提到】
: 好奇问下,拿到onsite的话,去美国面试的签证问题是怎么解决啊?临时申请要不少时
: 间吧

avatar
g*y
14
hash(a1..an) = a1 + a2*3 + a3*9 + ... an*3^(n-1)
对数字流计算hash, 同时算反向的hash。如果hash相同,再判断是否真正的回文。
实际操作时,只能算这个函数对一个很大的数取模。

【在 g*****i 的大作中提到】
: 回文未必是偶数长度吧,奇数也可以啊.
: 给的列子里面33不算回文吗? 难道题目里的第一个回文是从开始第一个字符算起的?
: 能把rolling hash的解法解释下或者给个链接吗?怎么决定窗口大小呢?

avatar
h*n
15
我听懂7,80%,主要是那些听众太吵了,就知道笑。

【在 h*****k 的大作中提到】
: 这胖子讲话怎么key这么高
: 听不请啊

avatar
l*i
16
这个签证也的确是问题,所以你需要做到未雨绸缪,问题不难解决。
如果打算找美国这边faculty位置,可以每年借机会来美国参加一次国际会议/workshop
之类的,这样签证问题就解决了。因为现在签证基本上都会做背景调查,所以,很多时
候都拿不到B-1/2 10年有效签证。这个时候就只能每年去renew一次了。

【在 a*******e 的大作中提到】
: 好奇问下,拿到onsite的话,去美国面试的签证问题是怎么解决啊?临时申请要不少时
: 间吧

avatar
g*y
17
Rolling hash code ->
public class FirstPalindrome {
private final static int MOD = 1000000007;

public int first(int[] a) {
int pow3 = 1;
int hash = a[0];
int reverse = a[0];

for (int i=1; ipow3 = (pow3 * 3) % MOD;
hash = (hash + a[i] * pow3) % MOD;
reverse = (3*reverse + a[i]) % MOD;

if (hash == reverse && test(a, i)) return i;
}

return -1;
}

private boolean test(int[] a, int i) {
for (int j=0; jif (a[j] != a[i-j]) return false;
}
return true;
}
}
avatar
d*r
18
我们以前在厕所里经常说的 ----
对方便友
请便
avatar
L*4
19
今年在search committee,感觉现在给美国以外的candidate留的路越来越窄。以前学
术还比较重要,现在招人得先问一遍diversity。没有美国经历的人根本一头茫然不知
道这边在问什么。
可是咱也不能说什么,因为diversity这个事,最起码NSF很看重,所以下面跟着指针走
,也不能说是个错事。
只是叹息这样文革下去,不是个好兆头啊。
avatar
B*1
20
我把1-10 每一个数字对应一个质数
保持两个pointer,一个slow pointer,一个fast pointer, slow pointer 一直指向已
得到数据流中间,fast pointer 指向最新数据流,保持两个值,一个slow pointer 之
前的所有数字对应的prime number的乘积,一个对应fast pointer之前所有数字对应
prime number的乘积,当fast pointer的乘积 = slow pointer的乘积的平方的时候,
调用你那个rolling hash里面的test function来确认是不是
这样子可以吗?
avatar
t*b
21
青春真好
avatar
a*e
22
之前也看过各种招人广告里提到这个diversity,这个作为serach committee,到底是
希望听到什么样的答案啊?

【在 L*********4 的大作中提到】
: 今年在search committee,感觉现在给美国以外的candidate留的路越来越窄。以前学
: 术还比较重要,现在招人得先问一遍diversity。没有美国经历的人根本一头茫然不知
: 道这边在问什么。
: 可是咱也不能说什么,因为diversity这个事,最起码NSF很看重,所以下面跟着指针走
: ,也不能说是个错事。
: 只是叹息这样文革下去,不是个好兆头啊。

avatar
g*y
23
这个太容易冲突了, 123123, 123312, 123231, 。。。Hash值都一样。

【在 B*******1 的大作中提到】
: 我把1-10 每一个数字对应一个质数
: 保持两个pointer,一个slow pointer,一个fast pointer, slow pointer 一直指向已
: 得到数据流中间,fast pointer 指向最新数据流,保持两个值,一个slow pointer 之
: 前的所有数字对应的prime number的乘积,一个对应fast pointer之前所有数字对应
: prime number的乘积,当fast pointer的乘积 = slow pointer的乘积的平方的时候,
: 调用你那个rolling hash里面的test function来确认是不是
: 这样子可以吗?

avatar
t*b
24
现在可以

【在 z********0 的大作中提到】
: 为啥说“目前无法找到视频”?
avatar
H*r
25
美国本硕博+欧洲博后呢?

【在 L*********4 的大作中提到】
: 今年在search committee,感觉现在给美国以外的candidate留的路越来越窄。以前学
: 术还比较重要,现在招人得先问一遍diversity。没有美国经历的人根本一头茫然不知
: 道这边在问什么。
: 可是咱也不能说什么,因为diversity这个事,最起码NSF很看重,所以下面跟着指针走
: ,也不能说是个错事。
: 只是叹息这样文革下去,不是个好兆头啊。

avatar
B*1
26
不好意思,没有解释清楚
因为现在回文数肯定是偶数,那么就假设每次读进2个字符
假设数字到prime的mapping为
1->2
2->3
3->5
4->7
5->9
...
用你的例子123123,
1.读入12, slow pointer指向1,fast pointer 指向2, slow pointer指向的数包括之
前的数对应的primes number乘积为2, fast pointer的为6
2. 读入31, slow pointer指向2,fast pointer 指向1, slow pointer指向的数包括
之前的数对应的乘积为6, fast pointer的为60
3。读入23, slow pointer指向3,fast pointer 指向3, slow pointer指向的数包括
之前的数对应的乘积为30, fast pointer的为90 = 30*30, 调用如下function check
到目前为止的stream是不是回文
private boolean test(int[] a, int i) {
for (int j=0; jif (a[j] != a[i-j]) return false;
}
return true;
}

【在 g**********y 的大作中提到】
: 这个太容易冲突了, 123123, 123312, 123231, 。。。Hash值都一样。
avatar
l*i
27
要美国名校本硕博+欧洲名校牛老板博后,这样跳回来的几率很大,而且时间最好不要
超过两年。另外,华人(非歧视的意思)不占优势,欧美人占优势。

【在 H**r 的大作中提到】
: 美国本硕博+欧洲博后呢?
avatar
c*p
28
为啥回文数一定是偶数。。
12321这样的不算回文数么

【在 B*******1 的大作中提到】
: 不好意思,没有解释清楚
: 因为现在回文数肯定是偶数,那么就假设每次读进2个字符
: 假设数字到prime的mapping为
: 1->2
: 2->3
: 3->5
: 4->7
: 5->9
: ...
: 用你的例子123123,

avatar
g*t
29
可以先找个年纪大钱多多的玫瑰老板(切记必须美国本地人)做博后
他快退休的时候一般会把自己的弟子推着接班
不然摊子就被系里瓜分了

【在 l****i 的大作中提到】
: 要美国名校本硕博+欧洲名校牛老板博后,这样跳回来的几率很大,而且时间最好不要
: 超过两年。另外,华人(非歧视的意思)不占优势,欧美人占优势。

avatar
g*y
30
不知道,那是前面贴面经的人说的。可能跟他给的算法有关。

【在 c****p 的大作中提到】
: 为啥回文数一定是偶数。。
: 12321这样的不算回文数么

avatar
L*4
31
可以去看看NSF的broader impact准绳。大家也都是跟着指挥棒走。如果你能证明你写
的proposal能在NSF那边过关,当然也就没有什么问题。
大部分美国背景不足的人对diversity的理解千奇百怪,净是完全不着边际的。
https://www.nsf.gov/pubs/policydocs/pappg18_1/pappg_2.jsp#IIC2di
The Project Description also must contain, as a separate section within the
narrative, a section labeled "Broader Impacts"... Such outcomes include, but
are not limited to: full participation of women, persons with disabilities,
and underrepresented minorities in science, technology, engineering, and
mathematics (STEM); improved STEM education and educator development at any
level; increased public scientific literacy and public engagement with
science and technology; improved well-being of individuals in society;
development of a diverse, globally competitive STEM workforce; increased
partnerships between academia, industry, and others; improved national
security; increased economic competitiveness of the US; and enhanced
infrastructure for research and education.

【在 a*******e 的大作中提到】
: 之前也看过各种招人广告里提到这个diversity,这个作为serach committee,到底是
: 希望听到什么样的答案啊?

avatar
B*1
32
我觉得奇数也可以,不过就要根据奇偶不同处理。
avatar
D*e
33
i think this is a good answer. It's O(n)

【在 g**********y 的大作中提到】
: Rolling hash code ->
: public class FirstPalindrome {
: private final static int MOD = 1000000007;
:
: public int first(int[] a) {
: int pow3 = 1;
: int hash = a[0];
: int reverse = a[0];
:
: for (int i=1; i
avatar
j*r
34
可以用一个stack,
如果是第偶数个,就和stack的top比,
if相同,就pop the top.
else push into the stack.
The program terminates when the stack is empty.
avatar
E*7
35
Algorithm:
Store each input into std::vector v;
Compare its first (i=0) and last element(j=v.size()-1)
if (v[i] != v[j]) return false;
Compare its 2nd and 2nd to last element
if (v[i+1] != v[j-1]) return false;
until i meets j
======= C++ Code (efficient and O(N) =========
#include
#include
bool isPalindrome(const std::vector &v) {
size_t len = v.size();
if ( len < 2 )
return false;
int i = 0;
int j = len - 1;
while ( i < j ) {
if (v[i] != v[j])
return false;
++i;
--j;
}
return true;
}
int main() {
std::vector v;
int i;
bool found = false;
while (std::cout << "Enter a non-negative integer
(-1 to end):" && std::cin >> i && i != -1){
v.push_back(i);
if (isPalindrome(v) ) {
std::cout << "Your entered integers form a Palindrome\n";
found = true;
break;
}
}
if (found) {
copy(v.begin(), v.end(), std::ostream_iterator(std::cout, " "));
std::cout << std::endl;
std::cout << "Is a Palindrome\n";
}
else
std::cout << "Not a Palindrome\n";
return 0;
}
avatar
d*l
36
对,我也刚想到这个,这应该是为什么题目需要隐含回文串长度必须是偶数的原因

【在 j*******r 的大作中提到】
: 可以用一个stack,
: 如果是第偶数个,就和stack的top比,
: if相同,就pop the top.
: else push into the stack.
: The program terminates when the stack is empty.

avatar
E*7
37
By my understanding,
1234321 is a palindrome where the number of elements is odd (=7).
33 should be treated as a palindrome.
3 (single element) is not treated as a palindrome.
avatar
d*l
38
客观上单个字符也算palindrome的。不过我理解题目的意思应该是说,如果那个byte流
在某个时刻构成回文数,那题意保证该回文数一定长度是偶数。

【在 E*****7 的大作中提到】
: By my understanding,
: 1234321 is a palindrome where the number of elements is odd (=7).
: 33 should be treated as a palindrome.
: 3 (single element) is not treated as a palindrome.

avatar
E*7
39
If so, whenever you type a number, your program should terminate and prompt
"it is a palindrome". Then you can never type a second number. How can you
code for that?

【在 d*******l 的大作中提到】
: 客观上单个字符也算palindrome的。不过我理解题目的意思应该是说,如果那个byte流
: 在某个时刻构成回文数,那题意保证该回文数一定长度是偶数。

avatar
d*l
40
题目的意思应该是从头开始看如果构成回文数才算,1楼的例子应该挺清楚的

prompt

【在 E*****7 的大作中提到】
: If so, whenever you type a number, your program should terminate and prompt
: "it is a palindrome". Then you can never type a second number. How can you
: code for that?

avatar
g*y
41
用stack有问题,1 1 1 1 5 4 1 1 1 1 1 1 1 1 。。。
从第7个数开始,就需要不停地pop(), 然后又需要push()回去。是没法做到O(n)的。

【在 d*******l 的大作中提到】
: 对,我也刚想到这个,这应该是为什么题目需要隐含回文串长度必须是偶数的原因
avatar
d*l
42
我没太明白,每次新来一个数,最多只跟栈顶比较一次,然后不是pop就是push,整体
不就是O(n)的吗?还是题意理解的不一样?

【在 g**********y 的大作中提到】
: 用stack有问题,1 1 1 1 5 4 1 1 1 1 1 1 1 1 。。。
: 从第7个数开始,就需要不停地pop(), 然后又需要push()回去。是没法做到O(n)的。

avatar
P*c
43
第偶数个跟stack的top比是什么意思?
1221是第三个开始pop.

【在 j*******r 的大作中提到】
: 可以用一个stack,
: 如果是第偶数个,就和stack的top比,
: if相同,就pop the top.
: else push into the stack.
: The program terminates when the stack is empty.

avatar
d*l
44
我觉得到不一定区分奇数偶数,大概模拟起来就是这样:
#include
#include
using namespace std;
void solve()
{
char c;
stack st;
while(cin >> c) {
if(!st.empty() && c == st.top())
st.pop();
else st.push(c);
if(st.empty())
return ;
}
}
int main()
{
solve();
return 0;
}

【在 P**********c 的大作中提到】
: 第偶数个跟stack的top比是什么意思?
: 1221是第三个开始pop.

avatar
l*a
45
按你的算法1223443331也是
简单说你看到相等就pop不成
你根本不知道这是不是对称点

【在 d*******l 的大作中提到】
: 我觉得到不一定区分奇数偶数,大概模拟起来就是这样:
: #include
: #include
: using namespace std;
: void solve()
: {
: char c;
: stack st;
: while(cin >> c) {
: if(!st.empty() && c == st.top())

avatar
d*l
46
额,确实有问题。。这种方法不能排除掉那些情况,一时想不出如何改进了

【在 l*****a 的大作中提到】
: 按你的算法1223443331也是
: 简单说你看到相等就pop不成
: 你根本不知道这是不是对称点

avatar
P*c
47
对的,不区分奇偶数有这个问题,之前我也想过。
需要发现错误就重新再把那些数push进去。

【在 l*****a 的大作中提到】
: 按你的算法1223443331也是
: 简单说你看到相等就pop不成
: 你根本不知道这是不是对称点

avatar
W*2
48
试试这样看看行不行,可以的话保证O(n)
用一个Bool,用来表示当前byte流是不是“朝着回文方向接近”,初始为0
用一个int Index,来记录“当前朝回文接近的中间点(对折点)”初始为0
每读进一个数字,将他和上一个读进的数字对比,一旦有一个一样的了,表示可能出现
对折点了,Bool置1,index置当前(两个一样的数字中前面那个)。
接下来再读进一个数字,如果==a[index-1],Bool继续为1;继续读下一个数字跟a[
index-2]比。(如果不等于,Bool置0,index清空)
bool的作用是:如果为1,当前读数就跟a[index-i]比,bool为0,当前读数就跟之前读
入的数相比。比到什么时候[index-i]==0了,就是回文了。
可行?O(n)?
avatar
g*y
49
不能,1 3 3 4 4 3 3 4 4 3 3 1
遇到第二个4时,算法会以为碰到了折点,遇到第三个4时,才知道错了。实际上的折点
是在这两个4之间的。

【在 W*******2 的大作中提到】
: 试试这样看看行不行,可以的话保证O(n)
: 用一个Bool,用来表示当前byte流是不是“朝着回文方向接近”,初始为0
: 用一个int Index,来记录“当前朝回文接近的中间点(对折点)”初始为0
: 每读进一个数字,将他和上一个读进的数字对比,一旦有一个一样的了,表示可能出现
: 对折点了,Bool置1,index置当前(两个一样的数字中前面那个)。
: 接下来再读进一个数字,如果==a[index-1],Bool继续为1;继续读下一个数字跟a[
: index-2]比。(如果不等于,Bool置0,index清空)
: bool的作用是:如果为1,当前读数就跟a[index-i]比,bool为0,当前读数就跟之前读
: 入的数相比。比到什么时候[index-i]==0了,就是回文了。
: 可行?O(n)?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。