设置远程登陆服务器 jupyter notebook

在尝试了各种操蛋的手机端python ide之后忽然意识到可以在服务器上装jupyter然后手机浏览器打开emmmm
当然电脑端也能用啦,只不过我这台小鸡性能太垃圾所以意义不大

主要参考https://bitmingw.com/2017/07/09/run-jupyter-notebook-server/

不过他的文章中有一点问题就是,设置可以远程访问的时候有一步设置

c.NotebookApp.ip = '*'

,但是其实有时候是不行的(我也不知道为什么),如果不行就改成

c.NotebookApp.ip = '0.0.0.0'

另外,这是我用来跑ss的小鸡所以没有https的操作,直接跳过(反正我也懒得弄

基本上的步骤就是

①在服务器上装jupyter(废话

②生成配置文件 命令:

jupyter notebook --generate-config

③生成密钥 ,见下图

④修改配置文件

c.NotebookApp.ip='0.0.0.0'               # 就是设置所有ip皆可访问
c.NotebookApp.password = u'sha:ce...'     # 刚才复制的那个hash密钥
c.NotebookApp.open_browser = False       # 禁止自动打开浏览器
c.NotebookApp.port =8888                 #随便指定一个端口

⑤启动jupyter notebook应用,nohup 设置为断开ssh后继续运行的方式

# 启动 notebook 服务
nohup jupyter notebook > /dev/null  2>&1 &

如果想终止 notebook 应用,请找到含有 jupyter-notebook 的进程,并用 kill杀掉它。

⑥本地浏览器地址栏输入服务器ip:8888 就可以看到登录界面了,输入密码即可

[二维DP][组合计数][利用对称性简化问题] UVALive 3295

https://vjudge.net/problem/UVALive-3295

这个题目和3720很像,尤其是在应用对称性的时候。这种题目有个很有趣的地方就是他每次都是对局部进行刻画然后得到了全局的信息,或者可以这么说,按照某一种策略使得某种属性所有的状态都被考虑进去。在这里就是计算一个共线的点的问题,按照和题目3720算法本身的推其实是只能算出来“斜率为正”的一类斜线,但是算的是“所有的斜率为正”的斜线,也就是覆盖了每一种情况,那么剩下的情况其实只有水平竖直和斜率为负的斜线,但是由对称性可知斜率为负的斜线一定和斜率为正的斜线数量相等,因此只需要*2即可,而我自己一开始一直在纠结的问题就是怎么算出来这些反向斜线,其实最后全局考虑只需要把算出来的正向斜线情况*2即可。最后的结果就是C(3,(m+1)*(n+1))-共线的三点数量。
wa的话有一个问题是,在gcd的算法中如果a和b有一个数字为0那么返回值就会是0,这种情况在这里的递推过程中是会出现问题的,需要注意让循环从2开始,也算是一个小小的坑吧。。以前没有注意到。

继续阅读“[二维DP][组合计数][利用对称性简化问题] UVALive 3295”